我怎么能知道重置是由看门狗引起的吗???

12个帖子/ 0新
最后一篇
溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
我怎么能知道重置是由看门狗引起的吗???

嗨,对话框,

现在,我需要知道重置是由看门狗引起的吗?我能做什么???

设备:
mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

您可以通过使用自定义空函数替换jump_table.c文件中的platform_reset_func来检查平台重置问题,并尝试使用脱染中的断点捕获函数的呼叫。

谢谢mt_dialog.

溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
嗨,对话框,

嗨,对话框,

可能是我的问题尚不清楚。您可以看到DA14580的重置类型,我只关心看门狗的SW重置。当DA14580RESET时,然后它再次运行,我的应用程序需要知道重置是由看门狗引起的。

谢谢溧阳

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

对不起,我不能。我只是误解了你的问题。

如果重置是由看门狗定时器引起的,它将到NMI_Handler。你能调试你的程序吗?并试图在那里抓住它?

谢谢mt_dialog.

溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
嗨,对话框,

嗨,对话框,

我知道重置是由看门狗定时器引起的,它进入NMI_Handler。它将重新启动MCU。
只有当系统启动时,我的应用程序将判断是否由看门狗判断重置。
但是,当MCU重新启动时,我找不到任何东西来证明MCU被看门狗重启。

谢谢溧阳

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

知道WatchDog计时器发出重置没有具体方法。一种我可以想到的方式可以在外部存储器中存储值(如果您的系统有一个)或者在保留空间中,从NMI处理程序和读取此特定内存以查看是否有重置。

谢谢mt_dialog.

溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,

谢谢你的想法!我想你有解决问题。另一个问题如何处理保留空间?是可用的么?

谢谢溧阳

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨溧阳,

嗨溧阳,

您可以在大多数SDK和参考设计中,找到如何在SDK的大多数示例中存储留存存储空间中的变量的示例,例如,键盘REF设计。

为了在保留空间中存储变量,您可以使用此功能int extended_timer_cnt __attribute __((部分(“Retent_mem_area0”),Zero_Init));

当系统_marcm0.c中的系统重启时初始化为零的保留RAM,所以我不确定,如果您可以帮助您,即使您删除初始化发生零的零件也可以帮助您。外部内存方案更为肯定。

谢谢mt_dialog.

溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
嗨,mt_dialog,

嗨,mt_dialog,

谢谢你的场景!我想我会选择外部记忆来处理它。

谢谢溧阳

袁汉武
离线
最后一次露面:5年5天前
专家
加入:2015-03-25 08:19
大家好,

大家好,

我设置变量不像这个int regrate_timer_cnt __attribute __((部分(“保留_mem_area0”),zero_init));
我设置变量是这样的:int regrate_timer_cnt;
Extended_timer_cnt保存在Retention_mem_area0或Retention_mem_area1中吗?

谢谢

溧阳
离线
最后一次露面:6个月3周前
专家
加入:2014-09-24 11:51
哥们,你到底想问什么问题?那个销量放哪有什么关键词

哥们,你到底想问什么问题?那个销量放有关什么关键字,是不是在保留的。

mt_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2015-06-08 11:34
嗨袁汉武,

嗨袁汉武,

如果您在没有__Attribute__________________的变量,则变量不在保留空间中。

谢谢Mt.