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.

[参考译文] TMS320F28069M:看门狗复位时展开堆栈跟踪

Guru**** 2550550 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/814885/tms320f28069m-unrolling-stack-trace-on-watchdog-reset

器件型号:TMS320F28069M

当看门狗设置为自动复位时、在复位发生前是否有任何方法对其进行断点?

在软件中发生罕见的随机复位:最好识别任何看门狗超时并展开调用堆栈以识别出发生了什么错误。

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

    Mathew、

    如您所知、F28069上的看门狗也可配置为生成中断而不是复位。  也许您在看门狗 ISR 中放置一个陷阱(Estop)、然后调试导致它的原因、包括检查堆栈。  ISR 看起来类似于:

    中断空 WAKEINT_ISR (空)    // PIE1.8 @ 0x000D4E WAKEINT (LPM/WD)

     PieCtrlRegs.PIEACX.ALL = PIEACK_Group1;  //必须确认 PIE 组
     
    //接下来的两行仅用于调试-插入 ISR 后删除
     ASM (" ESTOP0");       //仿真器停止指令
     while (1);

    在我们的 F28x7x 和 F28004x 器 件中、我们有一个"复位原因"寄存器、其中包含上一次复位的原因(即粘着位保持多个复位状态)、但 F2806x 器件上不提供该寄存器。

    要了解有关使用看门狗生成中断的更多信息、请参阅 F2806x 技术讲座中的实验5、网址为:

    https://training.ti.com/c2000-mcu-device-workshops

    但愿这对您有所帮助。  如果您的问题得到了解答、请单击绿色的"验证答案"按钮。  谢谢。

    - Ken

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

    Mathew、

    我上次听说过您、已经有一段时间了。 因此、我假设我的最后一个回复可以解决您的问题、我将关闭此主题。 如果情况并非如此,请拒绝此解决方案或回复此主题。 如果此主题被锁定、请制作一个描述问题当前状态的新主题。 谢谢你。

    - Ken