ZHCABY5D December   2022  – September 2025 MSPM0C1105 , MSPM0C1106 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
    1. 1.1 引导加载程序概念
    2. 1.2 MSPM0 引导加载程序结构
      1. 1.2.1 基于 ROM 的 BSL
      2. 1.2.2 带有基于闪存的插件接口的基于 ROM 的 BSL
      3. 1.2.3 基于闪存的辅助 BSL
    3. 1.3 MSPM0 BSL 功能和演示摘要
  5. 2BSL 主机实现摘要
  6. 3非主闪存中的 BSL 配置(配置 NVM)
    1. 3.1 非主闪存简介
    2. 3.2 示例 – 使用 Sysconfig 禁用 PA18 BSL 调用引脚
  7. 4引导加载程序主机
    1. 4.1 MCU 主机代码简介
      1. 4.1.1 硬件连接
      2. 4.1.2 TXT 到头文件的转换
      3. 4.1.3 使用演示的分步操作
    2. 4.2 PC 主机示例
      1. 4.2.1 准备映像文件和密码文件
      2. 4.2.2 使用 GUI 的步骤
  8. 5引导加载程序目标
    1. 5.1 基于 ROM 的默认 BSL
      1. 5.1.1 UART 接口
      2. 5.1.2 I2C 接口
    2. 5.2 基于闪存的插件接口演示
      1. 5.2.1 UART 接口
        1. 5.2.1.1 使用演示的分步操作
        2. 5.2.1.2 如何调试插件接口代码
      2. 5.2.2 I2C 接口
      3. 5.2.3 SPI 接口
      4. 5.2.4 CAN 接口
    3. 5.3 辅助 BSL 演示
      1. 5.3.1 基于闪存的辅助 BSL 从 0x1000 开始
      2. 5.3.2 基于闪存的辅助 BSL 从 0x0000 开始
        1. 5.3.2.1 MSPM0C 基于闪存的 0x0 地址 BSL 演示
        2. 5.3.2.2 实时固件更新
  9. 6常见问题
    1. 6.1 链接器文件修改
    2. 6.2 由 CCS 恢复出厂设置以恢复器件
  10. 7参考资料
  11. 8修订历史记录

MSPM0 BSL 功能和演示摘要

表 1-3 MSPM0 BSL 功能摘要
器件系列 M0C1104/3 M0C1106/5 M0H3216/5 MSPM0L MSPM0G
BSL 通用 BSL 存储器类型 闪存 闪存 ROM ROM
BSL 存储器大小 >3.5K >3.9K 5K 5K
非主闪存中的用户配置
UART
I2C
插件接口演示 UART
I2C
SPI
CAN
BSL 调用 GPIO 调用
空白器件检测
软件调用
ROM 支持中的调用检测
硬件工具 带有 UART 的 XDS110
软件工具 采用 SDK 封装的 MSPM0_BSL_GUI
Uniflash
安全性 256 位密码保护

SDK 中有一些 BSL 代码示例,可以对其进行总结,如表 1-4 所示。

表 1-4 MSPM0 BSL 演示摘要
演示类型 演示名称 用例
目标端演示 插件接口演示 bsl_spi_flash_interface 当基于 ROM 的通信接口配置或类型不满足要求(需要使用 UART1 模块作为接口或需要 SPI)时,可以使用 TI 的默认 BSL 协议
bsl_uart_flash_interface
bsl_i2c_flash_interface
bsl_can_flash_interface
辅助 BSL 演示 secondary_bsl (uart/i2c/spi/can)

flash_bsl(适用于 MSPM0C)

当 TI 的默认 BSL 协议无法满足要求时,可以重复使用基于 ROM 的 BSL 的相同触发条件,但 MSPM0C 的 flash_bsl 演示除外。
应用演示 bsl_software_invoke_app_demo (uart/i2c/spi/can) 应用示例代码可与基于 ROM 的 BSL、基于闪存的辅助 BSL 演示或基于闪存的接口插件演示协同工作,还包括软件触发功能。
主机端演示 MCU 或处理器作为主机 bsl_host_mcu_to_m0x_target (uart/i2c/spi/can) 将 MCU 或处理器用作主机并遵循 TI 的默认 BSL 协议时。此项可与 ROM BSL 和默认辅助 BSL 演示一同使用。
PC 作为主机 MSPM0_BSL_GUI/Uniflash 将 PC 用作带 UART 的主机并遵循 TI 的默认 BSL 协议时。这意味着,这可用于基于 ROM 的 UART BSL 或默认 UART 插件接口演示或默认辅助 BSL UART 演示。
表 1-5 MSPM0 BSL 演示协同工作 - MCU 作为主机
目标端 主机端
存储器位置 BSL 代码演示 应用代码演示 MCU/处理器主机
ROM BSL ROM / bsl_software_invoke_app_demo (uart/i2c/spi/can) bsl_host_mcu_to_m0x_target (uart/i2c/spi/can)
插件接口演示 主闪存(需要与 ROM BSL 协同工作) bsl_spi_flash_interface
bsl_uart_flash_interface
bsl_i2c_flash_interface
bsl_can_flash_interface
辅助 BSL 演示 主闪存 secondary_bsl (uart/i2c/spi/can)
表 1-6 MSPM0 BSL 演示协同工作 - PC 作为主机
目标端 主机端
存储器位置 BSL 代码演示 应用代码演示 PC 主机
ROM BSL ROM / bsl_software_invoke_app_demo (uart/i2c/spi/can) MSPM0_BSL_GUI/Uniflash
插件接口演示 主闪存(需要与 ROM BSL 协同工作) bsl_spi_flash_interface 不适用
bsl_uart_flash_interface MSPM0_BSL_GUI/Uniflash
bsl_i2c_flash_interface 不适用
bsl_can_flash_interface 不适用
辅助 BSL 演示 主闪存 secondary_bsl (uart/i2c/spi/can) 不适用