ZHCU802A March 2020 – August 2021 TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1
图示步骤中使用的硬件是 ControlCARD 集线站 Rev4.1 上的 F28004x ControlCARD。如果 JTAG 连接可用,则 CCS 可用于为闪存组 0 和 1 加载静态代码。注意:
在加载映像之前,请确保在 CCS(或您的目标配置文件 – 右键单击选择属性)中如图 6-1 所示进行设置。在 BANK0_LDFU 和 BANK1_LDFU 配置中构建 flashapi_ex2_sci_kernel 工程,并分别加载至目标。CCS 闪存插件会将内容加载至闪存。
将静态内容加载到 BANK0 后,首先会执行组选择逻辑,确定在两个组中均未对应用固件进行编程。
控制将传递到闪存内核,它将做好在 BANK1 中对应用进行编程的准备。图 6-3 所示为 CCS 视图(程序不会在 main() 停止,而是会继续运行并等待 SCI 命令):
内核还将更新 BANK1 扇区 2 中的 KEY 和版本号。现在静态映像在编程后的 BANK0 中,应用映像在 BANK1 中编程。
静态内容被加载到 BANK1 之后,在 main() 停止执行。Bank1 的内核将出现这种情况,因为组选择逻辑仅位于 Bank0 上,不在 Bank1 上。因此,对于 Bank1 来说,执行流程遵循传统流程,codestart 延伸至 main()。
serial_flash_programmer_appln.exe -d f28004x -k f28004x_fw_upgrade_example\flashapi_ex2_sci_kernel.txt -a flashapi_ex3_live_firmware_updateBANK0FLASH.txt -b 9600 -p COMx 其中 x = PC 和目标板之间相应 JTAG 连接的 COM 端口。以构建配置 BANK0_FLASH 构建 CCS 工程 flashapi_ex3_live_firmware_update 将生成 flashapi_ex3_live_firmware_updateBANK0FLASH.txt。
内核还将更新 BANK0 扇区 2 中的 KEY 和版本号。现在静态映像在编程后的 BANK1 中,应用映像在 BANK0 中编程。