主题中讨论的其他器件:MSP430-FLASHER、 MSP-FLASHER、 MSP430F5529、 MSP-FET
我试图取消保护一些先前受保护的 MSP430、我遇到了一些奇怪的事情。
我擦除了 BSL 段(A、B、C、D、0x1000到0x17ff)并重新编程。 我使用了三个单独的图像、但都不起作用。 这些图像包括:
自定义 BSL 软件包版本1.00.12.00中的 BSL.00.06.04.04
自定义 BSL 软件包版本1.00.12.00中的 BSL.00.07.05.04
此外、我已经从另一个(工作)板读取了 BSL、它的字节与6.04.04相同。 我已验证签名(主要和次要)是否正确、并且 BSL 实际上已编程到器件中。 为了重新迭代、"坏"板工作正常、直到我对 BSL 进行核化并对其进行重新编程。
当我查看复位、TCK、RX 和 TX 线路时、我会看到正确的行为(参考 SLAU319、第1.3.2节)比较工作中的器件与非工作中的器件、我会看到一切一样、除了非工作中的器件从其 Tx 线路中不发送任何内容。
尝试调试引导 ROM 和 BSL 非常具有挑战性。 代码保护功能和一些 IDE/调试器功能似乎在每个方面都能阻止这种情况的发生。
我已经观察到、引导 ROM 必须调用 BSL 的 BSL_PROTECT 函数、因为 SYSBSLC 寄存器的 SYSBSLPE 位已设置、两个大小位也是如此、这正是加载到器件中的 BSL 应该执行的操作。
在 BSL 被固定时、是否有一些配置项会被擦除、从而影响 BSL 运行? 我已经阅读了我在引导、BSL、BSL-Scripter 等上可以找到的所有内容、找不到任何错误。