主题中讨论的其他器件: MSPDS、 MSP430G2452、 ENERGYTRACE
此帖子与我之前发布的 MSP-FET 保持一致:由于该线程已锁定、因此从1.4a 迁移到2.0+ MSP-FET。
我不会详细介绍这里的问题、因为前面的帖子中对此进行了介绍、 但总之、在 SBW 中使用的 MSP-FET 上的 TDIO 引脚表现出一种行为、在该行为中、信号在读取启动前被拉至低电平两次、这会导致器件复位两次、因为 TDIO 连接到 MSP 上的 SBWTDIO/RESET 引脚、 并将 RESET 引脚拉至低电平会导致复位。 这种行为对于较新的 MSP-FET 2.0+而言是新的、但在较旧的 MSP-FET 上不存在。 如果您想在不干扰程序的情况下进行读取、这是一个问题、并且不能接受使用旧的 MSP-FET、因为支持正在迁移到新的编程器、最终会被弃用、无法购买。
虽然我一直无法找到 MSP-FET 行为本身的解决方案、但我找到了一种权变措施、我希望其他人在解决此问题之前知道他们是否处于同一场景中。
注意:这只适用于 SBW、不适用于完整 JTAG、并且只适用于兼容的 MSP430芯片。
事实上、大多数开发平台上的 MSP-eZFET 调试器能够用于除 MSP 板载目标之外的外部目标、并且使用 SBW 仿真。 此编程器不存在 MSP-FET 编程器中存在的复位问题、您只需从开发板上移除所有跳线并将其跳线连接到外部器件即可。 所有 eZ-FET 器件手册都详细介绍了这一点。
虽然这是一种权变措施、但遗憾的是、板载 eZ-FET 的成本几乎是其10倍的编程器最终至少是 SBW 的更好器件。
我通过观察示波器上的 SBWTDIO/RESET 信号并使用两个编程器来验证结果。 可以清楚地看到、MSP-FET 编程器会在读取前使信号失效两次、从而导致双复位。 我认为这完全是一个软件问题、由于其中的一个断言已被为 MSP430Flasher 提供的修订代码删除、而修订代码只允许您对 SBW 接口进行硬编码、我认为问题在于程序员之间的初始化差异以及处理方法。 我不是嵌入式编码领域的专家、因此我可以进行故障排除。 希望这能使今后在解决这个问题上遇到困难的任何人清楚明了。