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.   修订历史记录

基于闪存的辅助 BSL 从 0x1000 开始

辅助 BSL 从 0x1000 开始,它可以放置在闪存区域中的任何位置(从 0x0 开始的位置除外)。因为应用程序代码必须从 0x0 开始。图 1-6 展示了辅助 BSL 演示执行流程。它可以支持 UART、I2C、SPI 或 CAN 接口(如果器件支持)。该演示的分步操作与节 4.2.1.1中所示的操作相同。

当需要在修改后调试代码时,请执行节 4.2.1.2中的步骤。

在辅助 BSL 中,中断向量表偏移地址已在位于名为 startup_mspm0xxxx_ticlang 文件的复位处理程序中移至从 0x1000 开始的位置(由于代码从 0x1000 开始)。

当尝试将辅助 BSL 移至另一个闪存区域时,可以在 cmd 文件中完成此操作。例如,将辅助 BSL 移至从 0x4000 开始的位置,修改 cmd 文件,如图 4-5 所示。

 移至 0x4000 cmd 文件修改图 4-5 移至 0x4000 cmd 文件修改

也应在 SysConfig 文件中修改闪存静态写保护参数和备用 BSL 的起始地址,如图 4-6 中所示。

 移至 0x4000 SysConfig 文件修改图 4-6 移至 0x4000 SysConfig 文件修改

除了在辅助 BSL 中进行修改外,还需要修改应用程序的 cmd 文件,以避免重复使用辅助 BSL 所用的闪存区域。