大家好、
我正在 MSP430FR2676器件上开发我的项目。
我在使用带 UART 接口的 BSL 模块的引导加载程序时遇到了一些问题。 希望您能为我提供支持。
我关注的是“slau550aa”文档。 我有一些问题:
1.如何计算帧上的校验和字节。 在该文档中、没有提到这一点。 我在“slau319c”文档中找到了一个计算方法。
"校验和= INV [(B1 + 256×B2) XOR (B3 + 256×B4) XOR… 异或(Bn-1+256×Bn)]
或
CKL = INV [ B1 XOR B3 XOR… 异或 Bn-1]
CKH = INV [ B2 XOR B4 XOR… 异或 Bn”
但它与“slau550aa”中的帧示例不符。
使用命令 RX 密码时、我的意思是32字节密码是32字节的中断矢量值(起始地址0xFFE0-0xFFFF)。 那么、我必须从十六进制文件(如 TI-txt 十六进制文件)获取它吗? 如果是这样,对于每个版本固件,可能会更改该通行证,我必须将其保存到下一个更新公司?
3.我使用区域“信息存储器”(0x1800-0x19FF)来存储用户数据。 如果出现错误的密码(案例可能是 PW 失败或错误 UART…我不希望这样做)、所有存储器将被擦除。 因此,我想使用用户手册“slau445i”中1.11.2中提到的“BSL 安全机制”来禁用擦除功能。
如何将0xAAAA 定义为 BSL 签名1和 BSL 签名2? 我可以在十六进制文件的代码或手册中修改它吗?
4.我无法在 CCS 上生成文件箱输出。 生成返回此错误
选项--array 在--memwidth (-memwidth)中无效
选项--array 在--romwidth (-romwidth)中无效
我要使用二进制文件的原因是我可以使用诸如 esp32的器件、它将从互联网下载文件并存储在自存储器中。 然后、esp32将 BSL 连接到 MSP430。 二进制文件的大小小于其他十六进制文件。
5.我是去正确的方向,还是在我心里的任何地方出错了?
6.如果你有一个示例代码、你可以快速地把我作为参考。
希望您能早点给我解答!
非常感谢!