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

为了升级 BSL 功能,有时适合将更高版本的BSL加载到器件的 RAM 中,并应用最近的更新。为此,使用下列 BSL 命令:

  • RX 密码(解锁下列命令的密码保护)
  • RX 数据块(可加载 BSL的 代码,代码段地址 ≥ 220h)
  • TX 数据块(用于验证)
  • RX 数据块(从第一个代码段地址获得起始地址)
  • 加载程序计数器 PC(使用可已加载的 BSL 的起始地址)
  • 至少等待 5ms,直到新加载的 BSL 执行初始化例程
  • RX 密码(解锁加载 BSL 的密码保护)
  • 执行任一命令(使用已加载 的BSL)

以下可加载的BSL可用:

  • BL_150S_14x.txt 是具有BSL版本1.10的F14x 和 F13x 系列器件的全套 BSL。支持 BSL 版本 V1.60 的所有特征。由于其代码大小大于 1KB,因此只能在 F1x8 和 F1x9 器件使用。用于 RX 块、擦除段和擦除检查命令的错误地址缓冲器地址为 021Eh。BL_150S_14x.txt 也可用来替换 PATCH.txt。
  • BS_150S_14x.txt 是具有BSL版本1.10的F14x 和 F13x 系列器件的小型 BSL,该BSL中,命令集已减少。 。由于其代码长度小于 512B,因此可在F14x 和 F19x 器件中使用。支持 BSL 版本 V1.60 的以下命令:更改波特率、RX 块(带在线验证)、擦除校验和加载 PC。如果需要 TX 块命令(重定向至 ROM BSL)(例如,用于传输错误地址或独立验证),RAM BSL 必须由加载 PC 命令再次调用。用于 RX 块和擦除检查命令的错误地址缓冲器地址为 021Eh。BS_150S_14x.txt 也可用于部分替换 PATCH.txt。无需密码,因为 RX 密码命令已删除。

有关下载不同引导加载程序的更多信息,请参阅 MSP430 中采用闪存硬件和软件提议进行引导加载程序的应用

第三方软件通过使用可加载的BSL 来执行大多数功能,例如在线验证、并提高合适的器件的速度。