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.

[参考译文] MSP430FG4619:相同的十六进制文件-来自三个不同器件的不同存储器。

Guru**** 2576215 points
Other Parts Discussed in Thread: UNIFLASH, MSP430FG4619

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/593864/msp430fg4619-same-hex-file---different-memory-from-three-different-parts

器件型号:MSP430FG4619
主题中讨论的其他器件:UNIFLASH

我已经为我们设计的电路板创建了一个发布十六进制文件。  为了确保我们使用合适的可执行文件对 MSP430FG4619进行编程、我们将计算程序空间上的校验和。  使用相同的十六进制文件并使用 UniFlash 编程器集来擦除主存储器、信息存储器和受保护存储器、我将从三个不同部分获得不同的校验和。  我知道我不会修改可执行文件、因为我添加了调试代码、以便在主循环末尾计算的校验和与加电校验和不同时断开。  加电校验和通过消息报告。  我已将内存从部件中拔出并对其进行了比较。   存储器在可执行文件末尾附近的1个字节内关闭(填充之前为~80字节)、但仍在可执行文件内关闭。  1) 1)我很困惑为什么会发生这种情况。  2) 2)我很困惑、如果程序空间中存在不同的字节、为什么我的可执行文件看起来运行正常。

如果有任何帮助或解释,将不胜感激。

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

    尊敬的 David:

    擦除信息存储器时、是否确保 TLV 和其他重要的校准值被保留? 如果在器件的整个存储器中执行校验和、并且这些值已被保留、则校验和会有所不同、这是有道理的、因为这些值对于每个器件都是唯一的。 我已经了解到、设置软件断点可能会导致校验和差异。 是否有方法可以排除调试会话导致这种情况的发生? 也许、您可以在没有活动调试会话的情况下使 LED 闪烁或切换 GPIO、而不是输出消息。

    此致、

    James

    MSP 客户应用

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

    调试代码是添加的代码、未使用调试器(非活动的调试会话)。 我尝试计算校验和的地址范围是0x2100到0xFFC0。 "发送消息"的方法是向另一个设备发送串行消息。

    DJ
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的澄清。 查看数据表中的表6-4存储器结构、中断矢量位于主存储器中地址0xFFC0至0xFFFF 之间。 如果在校验和计算中包含中断矢量的第一个字节、这可能是结果不同的原因、因为不同器件之间会在不同的时间设置不同的中断。 您能否尝试检查0x2100到0xFFBF 之间的校验和?

    此致、

    James

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

    由于不活动、我将关闭此线程。 如果您有新问题、请开始新主题。

    此致、

    James

    MSP 客户应用