ZHCU778AB January   2014  – September 2022 MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5041 , MSP430FR5043 , MSP430FR50431 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR6041 , MSP430FR6043 , MSP430FR60431 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6972 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891

 

  1.   摘要
  2.   商标
  3. 1引言
    1. 1.1 BSL 限制
    2. 1.2 其他实用文档
  4. 2BSL 特性概览
  5. 3BSL 架构
    1. 3.1 通信接口
      1. 3.1.1 UART BSL
      2. 3.1.2 I2C BSL
    2. 3.2 BSL 存储器
      1. 3.2.1 BSL 存储器布局
      2. 3.2.2 BSL Z 区
      3. 3.2.3 BSL 存储器注意事项
    3. 3.3 调用 BSL
      1. 3.3.1 软件 BSL 调用
        1. 3.3.1.1 从外部软件应用程序启动 BSL
        2. 3.3.1.2 BSL 操作
          1. 3.3.1.2.1 BSL 操作函数 2
      2. 3.3.2 硬件 BSL 调用
        1. 3.3.2.1 阻止硬件调用 BSL 的因素
      3. 3.3.3 空白器件检测
    4. 3.4 BSL 超时特性
    5. 3.5 BSL 版本号
    6. 3.6 BSL(用户)配置
      1. 3.6.1 配置 BSL
        1. 3.6.1.1 BSL 用户配置示例
        2. 3.6.1.2 在应用程序代码中实现 BSL 配置
  6. 4BSL 协议
    1. 4.1 BSL 数据包
      1. 4.1.1 UART 外设接口包装器
      2. 4.1.2 I2C 外设接口包装器
      3. 4.1.3 BSL 确认
      4. 4.1.4 BSL 内核响应和 BSL 内核消息
      5. 4.1.5 BSL 内核命令
        1. 4.1.5.1 RX 数据块
        2. 4.1.5.2 RX 密码
        3. 4.1.5.3 批量擦除
        4. 4.1.5.4 CRC 校验
        5. 4.1.5.5 加载 PC
        6. 4.1.5.6 TX 数据块
        7. 4.1.5.7 TX BSL 版本
        8. 4.1.5.8 RX 数据块快速模式
        9. 4.1.5.9 更改波特率
    2. 4.2 BSL 安全
      1. 4.2.1 受保护命令
      2. 4.2.2 RAM 擦除
      3. 4.2.3 进入 BSL
  7. 5常见的 BSL 用例
    1. 5.1 概述和流程图
    2. 5.2 建立连接
    3. 5.3 擦除器件
    4. 5.4 下载应用程序
    5. 5.5 验证应用程序
    6. 5.6 运行应用程序
  8. 6定制 BSL
  9. 7引导加载程序版本
    1. 7.1 FR2xx BSL 版本
    2. 7.2 FR4xx BSL 版本
    3. 7.3 FR57xx BSL 版本
    4. 7.4 FR58xx 和 FR59xx BSL 版本
    5. 7.5 FR6xx BSL 版本
  10. 8修订历史记录

BSL 确认

BSL 软件的外设接口部分对 BSL 数据包的包装器部分进行解析。如果数据传输中存在错误,则会立即发出一个错误消息。成功接收到所有数据后会发出一个 ACK,但这并不意味着命令已经成功执行(或者甚至于命令是有效的)而是意味着已将数据包正确格式化并已将其传递到 BSL 内核软件进行分析。

BSL 协议规定,每个发送的 BSL 数据包除了已发送的 BSL 数据包外,以单字节确认进行响应。表 4-6 列出了来自 BSL 的确认响应。如果发送了除 ACK 以外的确认字节,则 BSL 不发送任何 BSL 数据包。主机编程器必须检查确认错误并重新尝试发送。

表 4-6 UART 错误消息
数据含义
0x00ACK
0x51帧头不正确。数据包没有以所需的 0x80 值开头。
0x52校验位不正确。数据包没有正确的校验位值。
0x53(1)数据包大小为零。BSL 内核命令的大小被指定为 0。
0x54(1)数据包大小超出了缓冲器的范围。指定的数据包大小对于 RX 缓冲器来说太大。
0x55未知错误
0x56(1)未知波特率。所提供的用于改变波特率的数据不是一个已知的值。
0x57数据包大小错误。
不支持 FR4xx、FR21xx 和 FR20xx。