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 器件中有三种不同类型的闪存。

表 2-1 闪存区域
闪存区域 区域内容 可执行 使用者 编程者
FACTORY 器件 ID 和其他参数 应用 仅限 TI(不可修改)
NON-MAIN 器件引导配置(BCR 和 BSL) 引导 ROM TI、用户
MAIN 应用代码和数据 应用 用户

NON-MAIN 是闪存的专用区域,可存储 BCR 和 BSL 引导器件所用的配置数据。该区域不用于任何其他目的。BCR 和 BSL 都具有配置策略,这些策略可以保留为默认值(在开发和评估期间是典型值),也可以通过更改编程到 NON-MAIN 闪存区域中的值来针对特定用途进行修改(在生产编程期间是典型值)。

表 2-2 NON-MAIN 区域概述
NON-MAIN 部分 起始地址 终止地址
BCR 配置 41C0.0000h 41C0.005Bh
BCR 配置 CRC 41C0.005Ch 41C0.005Fh
BSL 配置 41C0.0100h 41C0.0153h
BSL 配置 CRC 41C0.0154h 41C0.0157h

主 BSL 参数可在表 2-3 中配置。

表 2-3 NON-MAIN 闪存 BSL 配置主参数
参数用例 参数 说明
通用 BSLCONFIGID BSL 配置 ID
BSLPW 256 位 BSL 访问密码。(对于辅助 BSL,是可选的)
BSLCONFIG0 BSL 调用引脚配置和存储器读出策略。(对于辅助 BSL,存储器读出策略是可选的)
BSLAPPVER 应用版本字的地址。
BSLCONFIG1 BSL 安全配置。(对于辅助 BSL,是可选的)
BSLCRC NON-MAIN 存储器 BSL_CONFIG 部分的 CRC 摘要 (CRC-32)。
基于 ROM 的 BSL BSLPINCFG0 BSL UART 引脚配置
BSLPINCFG1 BSL I2C 引脚配置
带有基于闪存的插件接口的基于 ROM 的 BSL BSLPLUGINCFG 定义 MAIN 闪存中是否存在 BSL 插件及其类型。
BSLPLUGINHOOK 用于插件初始化、接收、发送和取消初始化函数的函数指针。
基于闪存的辅助 BSL PATCHHOOKID 备用 BSL 配置
SBLADDRESS 备用 BSL 的地址。

有关 NON-MAIN 闪存的更多详细信息,请参阅 MSPM0 L 系列 32MHz 微控制器技术参考手册MSPM0 G 系列 80MHz 微控制器技术参考手册