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.

[参考译文] MSP430FR5969:部分程序存储器被固件自身覆盖

Guru**** 2694555 points

Other Parts Discussed in Thread: MSP430FR5969

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1581921/msp430fr5969-part-of-program-memory-gets-overwritten-by-firmware-itselves

器件型号: MSP430FR5969

我正在使用 MSP430FR5969、 在特定的固件版本中、当执行某个功能时、FRAM 代码存储器的部分会被覆盖。

受影响的区域位于地址 0x12A00 至 0x12C00 附近。 覆盖的数据属于程序存储器部分。

此问题可重现、但仅在大约 250 个器件中的一个器件上发生。 所有其他设备都运行相同的固件、而不会出现任何问题。

如果在被覆盖的地址设置了(条件)断点、则不再发生问题。

堆栈大小就足够了。 不使用动态内存分配。 未使用 DMA。

当进行极少的代码更改(例如,小变量更改)时、受影响的地址区域会略有漂移、例如从 0x12A05 到 0x12C05。 因此、该问题仍然存在于同一个通用 FRAM 区域、但会根据代码布局影响不同的特定地址。

系统配置:

  • CPU 时钟:8MHz
  • 无 FRAM 等待状态
  • IAR 用作编译器
  • 启用高编译器优化(大小)

以下几点已经过验证:

  • 排除栈溢出
  • 无堆或 malloc 使用
  • 没有明显的指针错误
  • 不同的编译会发生变化、但始终会重现问题
  • 当地址处被覆盖的条件断点处于活动状态时、问题就会消失
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    启用 MPU 写保护并启用段违例中断。 调用 ISR 时、您可以检查机器状态以找出它正在执行的代码。 您很可能会找到一个错误。

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

    尊敬的 Thomas:
    请告诉我、David 的推荐是否适合您。

    此致、

    Diego Abad

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

    我已启用 MPU 写保护。 很遗憾、我无法使用调试探针进行调试、因为问题无法解决连接的探针。 我已经尝试了软件和硬件断点。

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

    尊敬的 Thomas:
    尝试写入这些地址并让一个 while 循环监控存储器的该部分、以便在发生变化时切换 GPIO。 在这种情况下、可能是翻转存储器损坏、这可能表示发生了电气损坏。  
    此致、
    Diego Abad

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

    尊敬的 Diego:

    感谢您的建议。 我已经对控制器进行了几次调试编程。 不幸的是、我无法再使用探头到达它。 因此、我无法进一步调查此问题。

    这种存储器损坏是否是 SRAM 或 FRAM 的一个常见问题? 您是否知道应用手册或类似的内容、以便进一步了解?

    此致

    Thomas

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

    尊敬的 Thomas:
    是否有理由无法再访问该设备? 安全保险丝是否熔断? 如果是这样、则设备会崩溃、基本上无法访问。 SRAM 可能容易受到辐射的影响、FRAM 可能容易受到热量的影响、但除此之外、通常会出现这个问题。 我们没有应用手册、因为这种错误是在器件损坏时常见的、但我找到了一个 提到 这种行为的 E2E。

    此致、

    Diego Abad

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已启用 MPU 写保护。 [/报价]

    好的、这 给人们留下了很多想象力。 它之前是否已启用、或者您只是添加它? 如果刚刚添加、内存是否仍然被擦除?

    MPU 写保护会阻止错误代码写入代码、但不会修复错误。

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

    您好 Diego、遗憾的是、没有任何可识别的原因。 环境与热量或辐射无关。  

    事实上,我 对我的调查结果不满意,但我看不到进一步调查的可能性。 因此、我将关闭该问题。

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

    不幸的是、在控制器损坏之前、没有机会进行进一步调查。  

    事实上,我 对我的调查结果不满意,但我看不到进一步调查的可能性。 因此、我将关闭该问题。