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

RX 密码

结构 BSL 内核命令

BSL 命令 是否受保护 CMD AL AM AH 数据 BSL 内核响应
RX 密码 0x11 - - D1…D32 视器件而定

描述

BSL 内核接收包含在数据包内的密码,如果密码与 BSL 中断矢量表(位于地址 0xFFE0 和 0xFFFF 之间)中的头 16 个字匹配的话,解锁 BSL 受保护的命令。

当提供的密码不正确时,将启动批量擦除。对于 MSP430FR5xx 和 MSP430FR6xx 器件而言,这意味着所有代码 FRAM 都会被擦除,但不会擦除信息存储器。对于 MSP430FR2xx 和 MSP430FR4xx 器件而言,这意味着包括信息存储器在内的所有代码 FRAM 都将被擦除。

执行批量擦除后,密码的所有字节始终为 0xFF。这通常用于访问空器件或在没有密码的情况下会将新应用程序加载到已锁定的器件。可以按照相应系列用户指南中所述的设置 BSL 签名来禁用批量擦除安全功能(请参阅Topic Link Label1.2)。

保护

此命令不受密码保护。

命令

0x11

命令地址

不适用

命令数据

命令数据的长度为 32 字节,并包含器件密码。

命令返回

MSP430FR5xx 和 MSP430FR6xx 引导加载程序不发送有关密码错误的 BSL 内核响应。应忽略来自器件的任何确认并再次初始化与 BSL 的通信。

MSP430FR2xx 和 MSP430FR4xx 引导加载程序会发送 BSL 确认和带有操作状态的 BSL 内核响应。请参阅Topic Link Label4.1.4,了解更多有关 BSL 内核响应的信息。

UART PI 示例

解锁一个空白器件:

标头 长度 长度 CMD D1 D2 D3 D4 D5 D6
0x80 0x21 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
D7 D8 D9 D10 D11 D12 D13 D14 D15 D16
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
D17 D18 D19 D20 D21 D22 D23 D24 D25 D26
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
D27 D28 D29 D30 D31 D32 CKL CKH
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x9E 0xE6

密码成功的 BSL 响应:

ACK 标头 长度 长度 CMD MSG CKL CKH
0x00 0x80 0x02 0x00 0x3B 0x00 0x60 0xC4

I2C PI 示例

解锁一个空白器件:

I2C 标头 长度 长度 CMD D1 D2 D3 D4 D5
S/A/W 0x80 0x21 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF
D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
D16 D17 D18 D19 D20 D21 D22 D23 D24 D25
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
D26 D27 D28 D29 D30 D31 D32 CKL CKH
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x9E 0xE6

密码成功的 BSL 响应:

I2C ACK 标头 长度 长度 CMD MSG CKL CKH I2C
S/A/R 0x00 0x80 0x02 0x00 0x3B 0x00 0x60 0xC4 停止