单片机/MCU论坛
直播中

张国厚

7年用户 1390经验值
私信 关注

TC277 watchdog超时后无法触发SMU Alarm怎么解决?

在EB工具配置完成后,可以触发中断回调Wdg_17_Scu_Cbk_GtmNotifySRV函数,当不按时进行喂狗操作时,Wdg_TimeoutCounter[CoreId]变量计数值变为0,但触发不了watchdog timeout alarm,如果在不解锁的情况下,强制修改SCU_WDTSCON0寄存器的 lck位,ALM3[17]可以报出Alarm

watchdog配置寄存器和状态寄存器如下图所示,状态是No timeout

请问是什么原因导致不能报出alarm?还是说要做哪些操作,还是我配置有问题,麻烦解答一下,非常感谢!
                                                                                                                                                                                                                                                                                                                                                                                               

回帖(1)

王涛

2024-1-30 17:14:16
您的问题可能涉及到特定的硬件平台和软件框架,因此确切的解决方案可能需要深入了解您的系统和代码。以下是一些建议,可能对您的问题有帮助:

1. 确认配置和代码:仔细检查您的watchdog配置和代码,确保它们与硬件平台和软件框架的要求一致。检查被触发的回调函数(Wdg_17_Scu_Cbk_GtmNotifySRV)是否正确地设置。

2. 确认中断优先级:确保SMU Alarm中断优先级高于watchdog计数器中断。这样才能确保watchdog超时时先触发SMU Alarm中断。

3. 检查物理连接:确保您的watchdog电路正确连接到系统,并且与SCU模块正确连接。

4. 检查watchdog模块状态寄存器:检查状态寄存器以确认是否超时已发生。确保在超时事件发生时,状态寄存器中的相应位被设置为1。

5. 调试和日志记录:如果问题仍然存在,您可以添加一些调试日志或打印语句来跟踪代码执行和watchdog状态。这样可以更好地理解问题出现的具体原因。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分