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.

[参考译文] MSP430程序因安全违例而崩溃

Guru**** 2598435 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/798186/msp430-program-crashes-with-security-violation

主题中讨论的其他器件:MSP430F5529

我正在运行一个应用、其中基于 MSP430的微控制器使用 SYSRSTIV 值0A 或安全违例进行复位。 我不知道是什么导致了这个复位。 是否有办法在 RESET_Vector 中断服务例程中设置断点、或在系统停止之前停止处理器、以便我可以检查调用堆栈以了解导致复位的原因?

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

    您使用的是什么器件?

    这是一个有趣的问题、但不幸的是、我不认为可以断点将获得 BOR 的中断。 我至少从未见过这方面的示例。

    如您所知、安全违规意味着您的固件以某种方式运行到电子邮件中、并尝试最终访问受保护的存储器/闪存。

    您是否有内存来增加堆栈大小以尝试防止溢出?

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

    你好、Nate、

    这是 MSP430F5529中中断块的方框图。  如您所见、RST 信号和密码/安全违规直接触发到复位电路中。  没有中断向量或 ISR 到断点。   

    谢谢、

    JD

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以在复位入口点断点、即复位矢量在0xFFFE 指向的地址。 这将在复位后进行、因此 PC、SR 和器件寄存器将被清除为复位值。

    SP、RAM 和通用寄存器将保持不变、因此您可以查看堆栈。 CCS 不会提供太多帮助、因此您需要一些耐心。 我已经多次这么做了。

    找到复位入口点的一种方法是使用硬复位(功能区中的图标看起来有点像 MCU 芯片)。