当看门狗设置为自动复位时、在复位发生前是否有任何方法对其进行断点?
在软件中发生罕见的随机复位:最好识别任何看门狗超时并展开调用堆栈以识别出发生了什么错误。
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.
当看门狗设置为自动复位时、在复位发生前是否有任何方法对其进行断点?
在软件中发生罕见的随机复位:最好识别任何看门狗超时并展开调用堆栈以识别出发生了什么错误。
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