This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP-GANG:程序员是否验证微控制器是否与为其创建图像的微控制器匹配?

Guru**** 2513185 points
Other Parts Discussed in Thread: MSP430G2402, MSP430G2232, MSP-GANG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1070632/msp-gang-does-the-programmer-verify-that-the-microcontroller-matches-the-one-that-the-image-was-created-for

部件号:MSP-Gang
《线程》中讨论的其他部件:MSP430G2402MSP430G2232,测试

在这种看似无止境的半导体短缺期间,我需要将现有 PCBA 上的微控制器更改为可实际购买的微控制器。  最终将  MSP430G2402替换 为 MSP430G2232。   当我们计划交付的电路板发生变化时,我们的 CM 未能通知我,收到的 PCBA 的电路板未标有新的修订版,因此我们的生产线在不知情的情况下使用了修订版电路板。  我们使用一个 MSP 组编程器同时对八个相同的电路板进行编程。  尽管该图像是为 MSP430G2402构建的,但编程人员成功地编程了使用 MSP430G2232构建的主板。  我认为,MSP 组会先识别微控制器,如果图像和检测到的图像不匹配,它会发出错误信号,但没有。  程序员的这种正常操作是否正常?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不知道使用哪种类型的图像文件,但对于典型的 titxt/十六进制格式二进制文件,有关目标设备的信息不会存储在文件中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在独立模式下运行时,MSP 组使用的“映像”包含的代码文件(ti-txt)多于。  它包含要使用的编程端口;编程 接口是 JTAG,SBW 还是 BSL;为目标选择电源;等等。  有关更多信息,请访问  :https://www.ti.com/tool/download/MSP-GANG-SOFTWARE

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    另一个奇怪的情况是,MSP430G2402的 ti-txt 代码文件填充了整个4K,尽管2K 下 的所有代码都是真正使用的(填充 了0x3FFF,如果 WDT 恰好漂移到未知位置,它将强制到期)  而 MSP430G2232只有2K 代码空间。  这额外的2K 代码是否会发送到微控制器?  如果是这样,微控制器如何处理超出界限的寻址?

    MSP-Gang 的固件版本为1.02.09.00

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果 G2402被 G2232替代,并且设备 ID 存储在特殊的 MSP 组类型二进制映像中,则您可以在 sla320中看到,两台设备都属于 G2xxS 且 ID 相同(0x0FF0的设备 ID) 0x24和(0x0FF1的设备 ID) 0x52。 我不知道用于设备 ID 识别的 MSP 组内部是否存在特殊情况,但对于 TI MSP430 DDL,这种设备(G2232和 G2402)是相同的闪存设备。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 JTAG 用户指南参考,它提供了程序员将代码文件编程到所需设备所属系列的任何成员的相关信息。  就我而言,这让它变得更容易,因为我不需要在程序员上加载额外的图像。  一张图像将正确地对具有必要最小代码空间和所有所需外围设备的家庭成员进行编程。

    将4K 代码编程到2K 的能力可能是由于4K 的最终2K 是0x3FFF,在验证阶段,对于物理上不存在的地址,将返回0x3FFF—没有验证错误。  这也意味着状态机(?) 在处理编程的 IC 内部,不会对超出范围的地址抛出错误(所有家庭成员的芯片可能都是相同的?)。  我可以通过编辑 ti-txt 文件以在最终2K 的任何一个位置具有0x3FFE 来测试这一点,重建编程器图像,并查看编程器在验证过程中是否检测到错误。

    编辑: 0xFFFF 很可能 会被读回超出范围的地址,因此它应该无法验证!