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
结构 BSL 内核命令
BSL 命令 | 是否受保护 | CMD | AL | AM | AH | 数据 | BSL 内核响应 |
---|---|---|---|---|---|---|---|
加载 PC | 是 | 0x17 | (AL) | (AM) | (AH) | - | 否 |
描述
使 BSL 使用一个 CALLA 指令在指定地址开始执行。BSL 代码会立即与这个指令一同退出,所以无法预计内核响应。主应用程序可通过使用 BSL 操作函数 2“返回到 BSL”返回 BSL。请参阅Topic Link Label3.3.1.2,了解更多信息。
请注意,密码保护此时并未激活。跳转到用户应用程序不会使器件重置,因此,来自 BSL 应用程序的寄存器配置会被保留。这可能会导致用户应用程序出现意外行为。一个示例是闪烁 LED 应用程序,它没有任何时钟模块配置(因此它使用默认的 1MHz 时钟)并且会以更快的速度闪烁,因为时钟模块由 BSL 应用程序设置为以 8MHz 运行。
保护
此命令受密码保护,如果未发送密码,则会失败。
命令
0x17
命令地址
要设置程序计数器的地址
命令数据
不适用
命令返回
BSL 不返回确认。
UART PI 示例
将程序计数器设置为 0x4400:
标头 | 长度 | 长度 | CMD | AL | AM | AH | CKL | CKH |
0x80 | 0x04 | 0x00 | 0x17 | 0x00 | 0x44 | 0x00 | 0x42 | 0x0F |
应用程序获得控制权后,BSL 不会响应。
I2C PI 示例
将程序计数器设置为 0x4400:
I2C | 标头 | 长度 | 长度 | CMD | AL | AM | AH | CKL | CKH | I2C |
S/A/R | 0x80 | 0x04 | 0x00 | 0x17 | 0x00 | 0x44 | 0x00 | 0x42 | 0x0F | 停止 |
应用程序获得控制权后,BSL 不会响应。