跳到主要内容

看门狗

6个月前

看门狗

张贴了lib0分 5回复
0旋转

你好

我们希望将看门狗用作安全机制。我们的固件基于Demo Simple_BeAcon。我们的板只有XTAL16M,没有XTAL32K。我们使用内部时钟RC32K。

当我们通过Keil调试时,看门狗运行良好。如果我们不重新加载看门狗,固件将重新启动。但是,当我们将固件(.hex文件)刻录到板上时,看门狗即使我们不重新加载看门狗,看门狗也无法重新启动固件。

我们之前有过这个问题,我们通过禁用da1458x_config_basic.h中禁用cfg_development_debug来解决问题。但这次我们无法解决。

这是固件的一些配置。

在da1458x_config_basic.h.中

#define cfg_wdog.

//#define cfg_development_debug

在da1458x_config_advanced.h.中

#define cfg_lp_clk lp_clk_rcx20.

#undef cfg_xtal16m_adaptive_settling.

在user_config.h.

static const sleep_state_t app_default_sleep_mode = arch_ext_sleep_on;

我们在函数中初始化看门狗system_init(void)经过wdg_init(1);

对不起我的英语,希望我的问题很清楚。

谢谢。

亲切的问候,

lib

6个月前

PM_DIALOG.

lib

感谢您在线问题,并欣赏您对我们的BLE解决方案的兴趣。您能否澄清为什么CFG_Development_debug宏评论出来?您能否请发表评论,重建项目并以调试模式运行它?代码冻结的地方?这是由于WDOG到期吗?

恢复开发调试机制并提供额外的调试信息非常有帮助,以便我能够理解问题。

谢谢,PM_DIALOG.

6个月前

lib 0分

嗨PM_DIALOG.

感谢你的回复。

1.评论宏CFG_Development_debug的原因是宏CFG_DEVELPMENT_DEBUG的注释说“对于生产模式构建它必须被禁用。”

2.当我在调试模式下进行评论并运行时,代码无处可行。但固件重新启动并运行闪存中的固件。

附件是此过程的屏幕记录。希望它有用。

谢谢

lib

附件 尺寸
screenrcord.zip. 2.18 MB.
接受答案!

6个月前

PM_DIALOG.

lib

感谢您的反馈意见。我看到了你附加的视频,如果我没有弄错,你已经修改了main()。强烈建议不要修改SDK文件,因此您可以使用SDK提供的Main(),并在调试模式下再次运行它吗?

可能是设备重置..你可以看看DA14531:处理重置机制的不同方式这样您就可以检测重置的源。

是的,对于生产必须禁用,但在开发阶段应该定义,以便调试项目。

谢谢,PM_DIALOG.

6个月前

lib 0分

嗨PM_DIALOG.

谢谢你的帮助

我已经修改了main()。但我只添加一行“如果(勾选> 10)”在重新加载看门狗之前。这只是在前10秒内重新加载看门狗。电路板启动后10秒钟后,将无法重新加载看门狗。所以,固件应该重启,但它不是。这是我的问题。

但是,当我在10秒后添加无限环路时,固件重启。所以,这意味着看门狗的工作。我的问题已经解决了。

非常感谢您的热情帮助。

此致,

lib

6个月前

PM_DIALOG.

lib

很高兴你识上你的问题。

谢谢,PM_DIALOG.