ZHCU022AF July   2010  – September 2022

 

  1.   摘要 - MSP430™ 闪存器件引导加载程序 (BSL)
  2.   商标
  3. 1引言
    1. 1.1 补充在线信息
    2. 1.2 BSL 特性概览
    3. 1.3 调用 BSL
      1. 1.3.1 硬件 BSL 调用
        1. 1.3.1.1 具有共享JTAG 引脚的 MSP430 器件
          1. 1.3.1.1.1 阻止使用共享 JTAG 引脚调用BSL的因素
        2. 1.3.1.2 具有专用 JTAG 引脚的 MSP430 闪存器件
          1. 1.3.1.2.1 阻止使用专用 JTAG 引脚调用BSL的因素
        3. 1.3.1.3 带有 USB 的器件
      2. 1.3.2 软件 BSL 调用
    4. 1.4 UART 协议
    5. 1.5 USB 协议
  4. 2引导加载程序协议 - 1xx、2xx 和 4xx 系列
    1. 2.1 同步序列
    2. 2.2 命令
      1. 2.2.1 不受保护的命令
      2. 2.2.2 受密码保护的命令
    3. 2.3 编程流程
    4. 2.4 数据帧
      1. 2.4.1 数据流结构
      2. 2.4.2 校验和
      3. 2.4.3 示例序列
      4. 2.4.4 命令-详细说明
        1. 2.4.4.1  概述
        2. 2.4.4.2  RX 数据块
        3. 2.4.4.3  RX 密码
        4. 2.4.4.4  批量擦除
        5. 2.4.4.5  擦除段
        6. 2.4.4.6  擦除主存储器或者信息存储器
        7. 2.4.4.7  擦除检查
        8. 2.4.4.8  更改波特率
        9. 2.4.4.9  设置内存偏移
        10. 2.4.4.10 加载 PC
        11. 2.4.4.11 TX 数据块
        12. 2.4.4.12 TX BSL 版本
    5. 2.5 可史可法 BSL
    6. 2.6 退出 BSL
    7. 2.7 密码保护
    8. 2.8 代码保护保险丝
    9. 2.9 BSL 内部设置和资源
      1. 2.9.1 芯片识别和 BSL 版本
      2. 2.9.2 外部调用 BSL 的矢量
      3. 2.9.3 初始化状态
      4. 2.9.4 内存分配和资源
  5. 3引导加载程序协议 - F5xx 和 F6xx 系列
    1. 3.1 BSL 数据包
    2. 3.2 UART 外设接口 (PI)
      1. 3.2.1 包装器
      2. 3.2.2 缩写
      3. 3.2.3 消息
      4. 3.2.4 接口专用命令
        1. 3.2.4.1 更改波特率
    3. 3.3 I2C 外设接口
      1. 3.3.1 I2C 协议定义
      2. 3.3.2 具有字节级确认的基本协议
      3. 3.3.3 BSL 的 I2C 协议 - 从从服务器读取
      4. 3.3.4 确认 (ACK)
      5. 3.3.5 包装器
    4. 3.4 USB 外设接口
      1. 3.4.1 包装器
      2. 3.4.2 硬件要求
    5. 3.5 BSL 内核命令结构
      1. 3.5.1 缩写
      2. 3.5.2 命令说明
    6. 3.6 BSL 安全
      1. 3.6.1 受保护的命令
      2. 3.6.2 RAM 擦除
    7. 3.7 BSL 内核响应
      1. 3.7.1 缩写
      2. 3.7.2 BSL 内核消息
      3. 3.7.3 BSL 版本号
      4. 3.7.4 UART BSL 的示例序列
    8. 3.8 BSL 公共函数和 Z 区域
      1. 3.8.1 从外部应用中启动 BSL
      2. 3.8.2 返回到BSL函数描述
  6. 4引导加载程序硬件
    1. 4.1 硬件描述
      1. 4.1.1 电源
      2. 4.1.2 串行接口
        1. 4.1.2.1 电平移动
        2. 4.1.2.2 对 RST/NMI 和 TEST 或者 TCK 引脚的控制
      3. 4.1.3 目标连接器
      4. 4.1.4 部件列表
  7. 5器件和引导加载程序版本间的差异
    1. 5.1 1xx、2xx 和 4xx BSL 版本
    2. 5.2 ROM BSL 版本 1.10 的特殊考虑
    3. 5.3 1xx、2xx 和 4xx BSL 已知问题
    4. 5.4 有关MSP430F14x 器件系列 BSL的特殊说明
    5. 5.5 基于 F5xx 和 F6xx 闪存的 BSL 版本
  8. 6引导加载程序 PCB 布局建议
  9. 7修订历史记录

BSL 特性概览

表 1-1 汇总了按器件系列整理的 MSP430 MCU 的 BSL 特性。

表 1-1 BSL 概览
MSP430
F20xx、G2xx0、G2xx1、G2xx2、I20xx F1xx、F2xx、F4xx、G2xx3 F5xx、F6xx(1) FR5xx、FR6xx FR231x、FR242x、FR243x、FR25xx、FR263x FR215x、FR235x、FR247x、FR267x FR20xx、FR21xx、FR41xx
非 USB USB 工厂 加密引导加载程序(4)
常规 BSL 存储器类型 无 BSL ROM 闪存(2) 闪存(2) ROM FRAM ROM ROM ROM
BSL 存储器大小 不适用 1KB 2KB 2KB 2KB 4KB 3KB 3KB 1KB
由TLV 配置的外设
用户配置
UART
I2C
SPI
USB
协议 “1xx、2xx、4xx”协议
“5xx、6xx”协议
调用机制 I/O 上的进入序列 TEST/RST 上的序列
绑定到 VUSB 的 PUR 引脚
已定义 I/O 上的序列
空的重置矢量调用 BSL
从软件应用程序调用 BSL
无效或不完整的应用程序
工具支持 硬件 MSP-BSL“Rocket”
MSP-FET
USB 电缆
USB 转串行转换器(3)
软件(4) BSL 脚本编辑器
BSLDEMO
MSPBSL 库 仅UART 仅UART
安全性 密码保护 32 字节 32 字节(5) 32 字节 32 字节 32 字节 32 字节 32 字节
批量擦除错误密码(6)
使用签名或擦除 BSL 来 完全禁用BSL
BSL 有效载荷加密
通过引导代码更新 IP 受保护的区域
认证加密
附加安全性 (7)
有关这些器件上可用的TI BSL协议,请参阅专用器件数据表。TI 为每个闪存器件提供了专用 BSL 协议。
闪存中的 BSL 允许使用自定义版本替换BSL。
USB 转串行转换器与 BSLDEMO 兼容。在 DTR 引脚上为 RESET 引脚生成调用信号,并在 RTS 引脚上为 TEST 引脚生成调用信号。
BSL 工具文件夹中提供了所有 BSL 软件附属资料(应用程序、示例、源代码和固件映像)。
MSP430 USB 开发人员包包括额外的 USB BSL 示例应用程序。
F543x(非 A)有一个 16 字节的密码。
某些器件可以在密码错误时禁用批量擦除功能。请参阅器件系列用户指南。
通过 CRC 验证固件。