你好
我确实需要执行一些代码重新启动我的软件,以防BOR或Watchdog复位。
有什么方法可以知道系统是否脱离了如此恶劣的条件?
我的目标是
—如果系统正常启动,清除flash
分析flash和恢复上下文,如果系统是坏的条件
谢谢
RESET_STAT_REG (0 x5000005e)
在从JTAG重置和正常上电后,我在那个寄存器中得到0x1F。
第五章DS_3v1.pdf的图30表明看门狗产生一个硬件复位产生一个软件复位。
你能确认一下看门狗重置后的值是0xE吗?
嗨,鲍勃,
你能解释一下你想完成什么吗?
谢谢,PM_Dialog
我需要我的软件重新启动,以防看门狗复位,并恢复其执行多亏了闪存。这意味着我需要区分通电复位和看门狗复位,这样我就可以在前一种情况下擦除状态记忆,并在后一种情况下恢复执行。
我目前正在使用“0x5000005E != 0x1F”测试这个寄存器来识别正常复位,但我不确定在watchdog复位的情况下该寄存器的值(这只发生在我不能自动重现的某些情况下)。
请检查头文件bsp_defaults.h下的dg_configWDOG_RESET_VALUE宏。缺省的复位值是0xFF。如果需要可以修改。您也可以参考DA14680 datasheet的“看门狗定时器”部分。
我正在请求看门狗复位后0x5000005E的硬件值。我正在测试如果这个值不是0x1F(上电复位),但看门狗复位似乎没有正确检测使用这种方法。
RESET_STAT_REG被记录为一个读/写寄存器。
你能确认一下这个寄存器后面的锁存是在看门狗复位时更新的吗?
我需要在电源复位后将其设置为零,以便我有机会在看门狗复位后读取0x1F以外的东西?
这意味着在调用hw_watchdog_unfreeze()之前将该值设置为0;
谢谢你!
我试图在正常启动后将该寄存器设置为零,我可以成功地从JTAG探针进行软件重置后获得0x16值。
问题解决了。
嗨bobspam@free.fr,
很高兴你解决了你的问题,非常感谢你的指示。
对于记录,退出看门狗复位时的值是0xE。
你好鲍勃,谢谢你的提示,
RESET_STAT_REG (0 x5000005e)
在从JTAG重置和正常上电后,我在那个寄存器中得到0x1F。
第五章DS_3v1.pdf的图30表明看门狗产生一个硬件复位产生一个软件复位。
你能确认一下看门狗重置后的值是0xE吗?
谢谢
嗨,鲍勃,
你能解释一下你想完成什么吗?
谢谢,PM_Dialog
你好
我需要我的软件重新启动,以防看门狗复位,并恢复其执行多亏了闪存。这意味着我需要区分通电复位和看门狗复位,这样我就可以在前一种情况下擦除状态记忆,并在后一种情况下恢复执行。
我目前正在使用“0x5000005E != 0x1F”测试这个寄存器来识别正常复位,但我不确定在watchdog复位的情况下该寄存器的值(这只发生在我不能自动重现的某些情况下)。
嗨,鲍勃,
请检查头文件bsp_defaults.h下的dg_configWDOG_RESET_VALUE宏。缺省的复位值是0xFF。如果需要可以修改。您也可以参考DA14680 datasheet的“看门狗定时器”部分。
谢谢,PM_Dialog
你好
我正在请求看门狗复位后0x5000005E的硬件值。我正在测试如果这个值不是0x1F(上电复位),但看门狗复位似乎没有正确检测使用这种方法。
RESET_STAT_REG被记录为一个读/写寄存器。
你能确认一下这个寄存器后面的锁存是在看门狗复位时更新的吗?
我需要在电源复位后将其设置为零,以便我有机会在看门狗复位后读取0x1F以外的东西?
这意味着在调用hw_watchdog_unfreeze()之前将该值设置为0;
谢谢你!
我试图在正常启动后将该寄存器设置为零,我可以成功地从JTAG探针进行软件重置后获得0x16值。
问题解决了。
嗨bobspam@free.fr,
很高兴你解决了你的问题,非常感谢你的指示。
谢谢,PM_Dialog
对于记录,退出看门狗复位时的值是0xE。
你好鲍勃,谢谢你的提示,
谢谢,PM_Dialog