主题中讨论的其他器件: MSP-FET、 UNIFLASH
您好!
我正在尝试使用整体擦除来实现基于 MSP430FR5994的控制。 BSL 的工作大部分正常(除批量擦除之外的所有操作)。 我可以输入 BSL、读取信息并将信息写入 MCU、甚至可以进行固件更新。 但是、批量擦除完全不起作用...
首先、我将通过 UART 条目使用 BSL。 我修改了 BSL Scripter 应用程序、将"FORCE_BSL" UART 命令发送到我们的应用程序、以强制其进入 BSL。 我们将此方法用于上述所有命令-因此此方法有效。
COM 设置为9600波特。
一些背景:
- 文档指出、我们的芯片不会回复批量擦除命令。 但是、它似乎正在使用一条 BSL 消息进行响应。
SLA550q -"MSP430FR5xx 和 MSP430FR6xx 引导加载程序不发送针对批量的 BSL 内核响应
擦除执行。 BSL 确认为0x00或0xFF。 忽略确认、然后
再次初始化与 BSL 的通信。"
请参阅下面#5中 BSL 的回复... - 整体擦除、即使它表示成功、它也不会擦除芯片... 只需重新启动它、我们的应用程序就会继续运行。
- 我们的 IP 封装已关闭。 针对这个的所有寄存器被设定为0
- 此外、根据我们的芯片、文档规定、如果 BSL 签名设置为除0x5555 0x5555或0xAAAA 0xAAAA 以外的任何内容、则芯片应自动将其自身擦除。
这不是发生的。 我们的签名设置为0xFFFF 0xFFFF、所有发生的事情都是重启。
slaa685 -第4.2节 - 我们知道密码、并且在设置密码(每个文档都允许)之前尝试发送批量擦除、之后、两者都不会擦除芯片。
文档 slau550q -第4.1.5.3节-说明无需密码。 (不受保护)
来自 BSL-Scripter -请注意、我们的芯片不需要回复。
密码后:
批量擦除
[80][01][00][15][64][A3]
<80><05><00><3a><00><08><35> <35><9f>
批量擦除成功!
密码前:
批量擦除
[80][01][00][15][64][A3]
<80><02><00><3b><04> <84>
[ERROR_MESSAGE]BSL 已锁定! - 作为参考、我们的 BSL 版本:
TX_BSL_VERSION
[80][01][00][19][e8][62]
<80><05><00><3a><00><08><35> <35><9f>
供应商:[TI] CI:[08] API:[35] PI:[B3]
那么、我的问题是、如何使其正常工作? 我缺少什么? 芯片的连线方式是否能够防止批量擦除(将 GPIO 连接到高电平与低电平)?
谢谢、
-Mike