您好!
我目前正在尝试为 MSP430F5438的 BSL 找到 RX 密码、但似乎无法获取。 我目前正在使用以下命令通过 CCS 上的软件调用 BSL 模式:
_disable_interrupt ();//禁用中断
(((void (*)() 0x1000)();//跳转到 BSL
RX 和 TX 线分别位于 P1.1和 P1.2上、并连接到 FTDI 线缆的 RX 和 TX 线。
我已经验证了 BSL 可以使用以下命令通过 UART 与计算机通信:
//波特率
0x80 0x02 0x00 0x52 0x02 0x90 0x55
//返回缓冲区大小
0x80 0x01 0x00 0x1A 0x8B 0x52
但是、我无法获取解锁密码。 每当我传递密码时、我都会从 BSL 接收 ACK 返回值(0x00)、BSL 会擦除主存储器代码并出于某种原因退出 BSL 模式。
下面是我尝试过的几个密码:
在 BSL 刷写器件文档中提供的//密码
80 11 00 11 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 5C 38 4F
//假设中断向量为 FF,我输入的密码
假设 中断矢量为 FF、我创建的//16 FFs 密码
0x80 0x11 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x4E 0xC9
//32 FFs
0x80 0x21 0x00 0x11 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x9E 0xE6
BSL 中断矢量表(位于地址0xFFE0和0xFFFF 之间)
///32来自通过 CCS 查看存储器浏览器的存储器(BSL 中断矢量表(位于地址0xFFE0和0xFFFF 之间)
0x80 0x21 0x00 0x11 0x5C 0x44 0x5C 0x00 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x5C 0x44 0x5C 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x44 0x5C 0x5C 0x28 0x86 0x86 0x86 0x86 0x86 0x86 0x
上述所有密码似乎都不起作用。 它们都通过 BSL 的0x00进行确认、之后 BSL 不再响应发送给它的其他命令、这导致我假设它由于某种原因已复位、并认为它离开 BSL 模式。
感谢您在 Advnace 中的帮助!
Nick