ZHCU802B August 2020 – March 2026 TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1
当主机实用程序向器件发送新命令时,CPU2 接收并解析该命令以确定 LFU 模式。可用的 LFU 命令如下:
如果该命令与 CPU2 LFU (COMMAND_LFU_CPU2) 命令匹配,则代码会跳转到活动 CPU2 闪存组中的 CPU2 LFU 函数(sbl_command_flow.c 中的 LFUCPU2Flow())。在此函数中,在擦除非活动 CPU2 闪存组后,执行工作转至 downloadBlock () 函数。固件(采用适当的十六进制格式)在非活动闪存组中进行编程和验证。然后,CPU2 为 CPU2 自身配置一次看门狗复位。CPU2 复位后,CPU1 处理 CPU2.NMIWDRSn NMI 并在 FWU 模式下引导 CPU2 以执行活动固件。
如果该命令与 CPU1 LFU (COMMAND_LFU_CPU1) 命令匹配,则代码跳转到活动 CPU2 闪存组中的 CPU1 LFU 函数(sbl_command_flow.c 中的 LFUCPU1Flow())。在此函数中,在擦除非活动 CPU1 闪存组后,执行工作转至 downloadBlock () 函数。固件(采用适当的十六进制格式)在非活动 CPU1 闪存组中进行编程和验证。然后,CPU2 发出 IPC 命令以配置一次 CPU1 看门狗复位。请注意,CPU2 也会在 CPU1 看门狗复位时复位。因此,在 CPU1 以 FWU 模式引导至活动 CPU1 闪存组后,CPU1 应用程序必须在 FWU 模式下引导 CPU2 以执行活动固件。
如果该命令与 CPU1 + CPU2 LFU (COMMAND_LFU_CPU1_CPU2) 命令匹配,则代码跳转到活动 CPU2 闪存组中的 CPU1 + CPU2 LFU 函数(sbl_command_flow.c 中的 LFUCPU1CPU2Flow())。在此函数中,在擦除非活动的 CPU1 和 CPU2 闪存组后,执行工作转至 downloadBlock() 函数(调用两次以对 CPU1 和 CPU2 闪存进行编程)。固件(采用适当的十六进制格式)在非活动 CPU1 和 CPU2 闪存组中进行编程和验证。然后,CPU2 发出 IPC 命令以配置一次 CPU1 看门狗复位。请注意,CPU2 也会在 CPU1 看门狗复位时复位。因此,在 CPU1 以 FWU 模式引导至活动 CPU1 闪存组后,CPU1 应用程序必须在 FWU 模式下引导 CPU2 以执行活动固件。