ZHCABY5B December   2022  – March 2024 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1106 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
    1. 1.1 引导加载程序简介
      1. 1.1.1 引导加载程序概念
      2. 1.1.2 MSPM0 引导加载程序结构
        1. 1.1.2.1 基于 ROM 的 BSL
        2. 1.1.2.2 带有基于闪存的插件接口的基于 ROM 的 BSL
        3. 1.1.2.3 基于闪存的辅助 BSL
      3. 1.1.3 MSPM0 BSL 功能和演示摘要
    2. 1.2 BSL 主机实现摘要
  5. 2非主闪存中的 BSL 配置(配置 NVM)
    1. 2.1 非主闪存简介
    2. 2.2 示例 – 使用 SysConfig 禁用 PA18 BSL 调用引脚
  6. 3引导加载程序主机
    1. 3.1 MCU 主机代码简介
      1. 3.1.1 硬件连接
      2. 3.1.2 TXT 到头文件的转换
      3. 3.1.3 使用演示的分步操作
    2. 3.2 PC 主机示例
      1. 3.2.1 准备映像文件和密码文件
      2. 3.2.2 使用 GUI 的步骤
  7. 4引导加载程序目标
    1. 4.1 基于 ROM 的默认 BSL
      1. 4.1.1 UART 接口
      2. 4.1.2 I2C 接口
    2. 4.2 基于闪存的插件接口演示
      1. 4.2.1 UART 接口
        1. 4.2.1.1 使用演示的分步操作
        2. 4.2.1.2 如何调试插件接口代码
      2. 4.2.2 I2C 接口
      3. 4.2.3 SPI 接口
      4. 4.2.4 CAN 接口
    3. 4.3 辅助 BSL 演示
      1. 4.3.1 基于闪存的辅助 BSL 从 0x1000 开始
      2. 4.3.2 实时固件更新 (LFU) 解决方案
  8. 5常见问题
    1. 5.1 链接器文件修改
    2. 5.2 由 CCS 恢复出厂设置以恢复器件
  9. 6参考文献
  10.   修订历史记录

MSPM0 引导加载程序结构

MSPM0 器件提供了三种引导加载程序解决方案:基于 ROM 的 BSL、基于 ROM 的 BSL(带有基于闪存的插件接口)和基于闪存的辅助 BSL。根据应用要求,从三种解决方案中选择一种即可。这三种解决方案使用同一种调用模式(通用输入/输出 (GPIO) 调用、空白器件检测和软件调用)。有一些参数需要在 NON-MAIN 闪存中配置。如需了解更多详情,请参阅节 2

表 1-1 MSPM0 BSL 解决方案摘要
BSL 解决方案 ROM 成本 闪存成本(默认) 接口 用于硬件调用的引脚 用于软件调用的引脚 用例
基于 ROM 的 BSL 5K 不适用 UART 4 2 需要遵循 TI 的协议和 UART/I2C 设置
I2C 4 2
基于 ROM 且具有插件接口的 BSL 5K(刚刚使用了 BSL 内核部分) 约 1.6K UART 4 2 需要遵循 TI 的协议,因为接口电平完全是开源的。
约 1.3K I2C 4 2
约 1.6K SPI 6 4
约 5.8K CAN 4 2
基于闪存的辅助 BSL 不适用 约 4.9K UART 4 2 完全开源。
约 4.7K I2C 4 2
约 5K SPI 6 4
约 9K CAN 4 2
注: 硬件调用需要的引脚比软件调用多两个,分别为复位引脚和 GPIO 调用引脚。

图 1-2 展示了 MSPM0 中的 BSL 结构。

 MSPM0 中的 BSL 结构图 1-2 MSPM0 中的 BSL 结构