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

具有共享JTAG 引脚的 MSP430 器件

RST/NMI 和 TEST 引脚上应用适当的进入序列,迫使MSP430 MCU在 BSL RESET 矢量而不是在地址 FFFEh 的 RESET 矢量上开始执行程序。

如果应用程序与计算机 UART 接口,这两个引脚可以在通过电平转换器后由串行通信接口 (RS232) 的 DTRRTS 信号驱动。可在Topic Link Label4中找到硬件及相关注意事项的详细说明。如果 TEST 保持在低电平,同时RST/NMI 从低电平上升为高电平,则使用 FFFEh 地址处的普通用户重置矢量(标准方法,请参阅图 1-1)。

GUID-6A18E1C1-7AC5-4E6D-90A6-8FDD78DD2C5C-low.gif图 1-1 标准 RESET 序列

当 TEST 引脚接收到至少两个上升沿(低电平到高电平的转换),并且 TEST 为高电平,同时 RST/NMI 从低电平上升为高电平时,BSL 程序开始执行(BSL 进入方法,请参阅图 1-2)。这种电平转换触发机制提高了 BSL 启动的可靠性。TEST 引脚的第一个高电平必须至少为 tSBW, En(有关tSBW, En 参数,请参阅专用器件数据表)。

GUID-65F22B62-AE14-4B32-B3C6-ED66FF6CC014-low.gif图 1-2 共享 JTAG 引脚上的 BSL 进入序列
注:

对于具有 DVIO 电源的 MSP430F522x 和 MSP430F521x 分离轨器件,进入序列应用于 RST/NMI 和 BSLEN 引脚。有关引脚信息,请参阅专用器件数据表。有关更多信息,请参阅使用 MSP430F522x 和 MSP430F521x 器件进行设计中的引导加载程序部分。

注:

引脚状态建议的最小时间为 250ns。有关任何差异,请参阅专用器件勘误表,因为某些5xx和6xx器件修订版需要专用进入序列。

TEST 信号通常用于切换应用函数和 JTAG 函数之间的端口引脚。在具有 BSL 功能的器件中,TEST 和 RST/NMI 引脚也用于调用 BSL。若要调用 BSL,RST/NMI 引脚必须配置为 RST,并且必须保持为低电平,同时拉高 TEST 引脚,并在 TEST 引脚上应用后续两个边沿(下降沿和上升沿)。 RST/NMI 引脚被释放后, TEST 引脚保持低电,接着BSL 会启动(请参阅图 1-2)。