ZHDA045 January   2026 MSPM0G1518 , MSPM0G1519 , MSPM0G3518 , MSPM0G3519

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2详细说明
    1. 2.1 概述
      1. 2.1.1 实时固件更新流程
      2. 2.1.2 内存组织
    2. 2.2 方框图
    3. 2.3 代码
      1. 2.3.1 CSC(客户安全代码,Bankswap_CSC_G3519_v2)
        1. 2.3.1.1 CSC — 主函数 (Bankswap_CSC_G3519_v2.c)
        2. 2.3.1.2 CSC — 链接器文件 (Bootloader.cmd)
      2. 2.3.2 应用 (Bankswap_G3519_gpio_output_toggle_v2_SW_Version55_CRC32)
        1. 2.3.2.1 应用程序 — 主函数 (Bankswap_G3519_gpio_output_toggle_v2_SW_Version55_CRC32.c)
        2. 2.3.2.2 应用程序 – UART ISR (Bankswap_G3519_gpio_output_toggle_v2_SW_Version55_CRC32.c)
        3. 2.3.2.3 应用程序 — 链接器文件 (device_linker.cmd)
    4. 2.4 实现
      1. 2.4.1 实现概述
      2. 2.4.2 实现流程
        1. 2.4.2.1 导入 CCS 项目文件 (TI CCS IDE)
        2. 2.4.2.2 执行 MCU 恢复出厂设置 (TI CCS IDE)
        3. 2.4.2.3 在 CCS 中构建 CSC、应用程序 (TI CCS IDE)
        4. 2.4.2.4 在 CCS 中启动调试并将映像下载到 MCU 中 (TI CCS IDE)
        5. 2.4.2.5 生成要发送的数据帧 (uart_frame_gui.exe)
        6. 2.4.2.6 在电脑上通过 UART 发送新固件 (Tera Term)
        7. 2.4.2.7 检查更新的固件 (TI CCS IDE)
  6. 3总结
  7. 4参考资料

在电脑上通过 UART 发送新固件 (Tera Term)

 在电脑上通过 UART 发送新固件图 2-11 在电脑上通过 UART 发送新固件

连接 XDS-110,其承担 USB 转 UART 桥接器的功能。使用 Tera Term 将固件数据帧 (.bin) 传输到 MCU。

由于 USB 2.0 和 UART 之间的速度差异,通信过程可能出现偶发停滞。为了解决该问题,TI 建议插入延迟。在该实现中,每 32 个字节增加 1ms 延迟。此问题与 XDS-110 有关,不会对 MCU 造成影响。

传输完成后,应用程序会使用 CRC32 验证固件。如果固件有效,则会将其编程到闪存组 1 中。完成刷写过程后,应用程序会触发 BOOTRST,从而将执行权移交至 CSC。然后,CSC 会检查哪个组包含最新固件。固件版本信息存储在每个应用程序映像的起始位置(组 0:0x0000.2000,组 1:0x0004.2000)。

如果新刷写的固件是最新版本,CSC 会启动组交换,交换组 0 和组 1。已更新固件的验证方法将在下一节中说明。