ZHCA999D October 2016 – March 2020 MSP430FR5969 , MSP430FR5969-SP , MSP430FR5994 , MSP430FR6989
MSP430 BSL 是 MSP430 MCU 中包含的标准引导加载程序。《MSP430 FRAM 器件引导加载程序 (BSL) 用户指南》对 BSL 进行了详细说明。
在 MSP430FRBoot 中实现的基于 BSL 的协议可以保持稳健性,但是并不能实现所有命令,并且与 BSL 协议完全采用相同的格式来减少其占用空间。此协议基于数据包,具有Table 4 中所示的格式。
帧头 | 长度 | 有效载荷 | Checksum[L] | Checksum[H] |
---|---|---|---|---|
0x80 | 1 到 PAYLOAD_MAX_SIZE(1) | 1 到 PAYLOAD_MAX_SIZE 字节 | 1 字节 | 1 字节 |
帧头:固定为 0x80。
长度:1 字节加有效载荷长度。有效值为 1 到 PAYLOAD_MAX_SIZE。
有效载荷:1 到 PAYLOAD_MAX_SIZE 字节,包含命令、地址和数据(可选,根据命令类型而定)。
校验和:有效载荷的 16 位 CRC CCITT。
Table 5 中的命令会作为有效载荷来实现。
命令 | CMD | 字节1 | 字节2 | 字节3 | 字节4 | … | 字节length–1 |
---|---|---|---|---|---|---|---|
ERASE_SEGMENT | 0x12 | ADDR[L] | ADDR[M] | ADDR[H] | X | X | X |
ERASE_APP | 0x15 | X | X | X | X | X | X |
RX_DATA_BLOCK | 0x10 | ADDR[L] | ADDR[M] | ADDR[H] | DATA0 | X | DATAn |
TX_VERSION | 0x19 | X | X | X | X | X | X |
JUMP2APP | 0x1C | X | X | X | X | X | X |
ERASE_SEGMENT:擦除由 ADDR 寻址的存储器段(FRAM 中为 512B)。
ERASE_APP:擦除应用程序区域。
RX_DATA_BLOCK:编程从地址 ADDR 开始的 n 字节数据。
TX_VERSION:向目标请求 MSPBoot 版本。
JUMP2APP:指示目标跳转到应用程序映像(在验证之后)。
来自目标的每个响应始终是一个字节。Table 6 列出了有效值。