使用看守狗时没有重置

⚠️
嗨,那里..感谢您参加论坛。激动人心的消息!现在,我们正在转到我们的新论坛平台,该平台将提供更好的功能,并包含在主话网站中。所有帖子和帐户都已迁移。我们现在仅在新论坛上接受流量 - 请在https://www.dialog-spoomendonductor.com/support。我们将在未来几天修复错误 /优化搜索和标记。
5个帖子 / 0新
最后一篇文章
尼古兰
离线
最后一次露面:2个月1周前
加入:2018-03-20 08:24
使用看守狗时没有重置

嗨对话框

我使用ftreertos_rtt来测试看门狗函数,但在看门狗超时时似乎没有重置。我将dg_configuse_wdog定义为1并注册了看门狗,但没有任何sys_watchdog_notify(wdog_id);以下是我的测试代码

// ----------------------------------------- //
静态void prvtemplatetask(void *pvparameters)
{
OS_TICK_TIME XNEXTWAKETIME;
静态UINT32_T test_counter = 0;
int8_t wdog_id;

XnextWakEtime = OS_GET_TICK_COUNT();

wdog_id = sys_watchdog_register(false);//仅注册看门狗,没有任何看门狗

为了( ;; )
{
.........................................................
}

// ----------------------------------------------------------------------------------------------------------------- //

当重置电源时,我添加了GPIO高/低信号,但是我只有一次没有由WhatchDog超时重置引起的重复信号。
我该怎么做才能重置看门狗(例如RESET上的电源)?

此外,我想将最大看门狗超时从2.6s扩展到5秒,是否可以这样做?

感谢您的帮助

设备:
pm_dialog
离线
最后一次露面:1天1小时前
职员
加入:2018-02-08 11:03
嗨,尼古兰,

嗨,尼古兰,

默认情况下,代码将在开发模式下以无尽的循环(而(1))堆叠。因此,当看门狗到期时,您应该用自己的处理程序绕过默认的NMI处理程序。请检查关注代码段。

#include“ sys_watchdog.h”

#include“ hw_watchdog.h”

void watcdog_cb(unsigned long *exception_args)

{

printf(“ exit看门狗\ n \ r”);

}

静态void prvtemplatetask(void *pvparameters)

{

int8_t wdog_id __attribute __((未使用));

sys_watchdog_init();

wdog_id = sys_watchdog_register(false);

/*用自己的一个绕过默认的NMI处理程序!*/

hw_watchdog_register_int(watcdog_cb);

printf(“输入看门狗\ n \ r”);

为了 (;;) {

}

}

谢谢,pm_dialog

尼古兰
离线
最后一次露面:2个月1周前
加入:2018-03-20 08:24
嗨对话框

嗨对话框

我在DSPS项目代码的System_init()中读取了下面的设置。我不明白“闲置守望狗”的目的是什么?

如果我在不使用“闲置守望狗”的情况下启用看门狗,则系统似乎不起作用。感谢您的回答

#如果DG_Configuse_wdog
//首先注册空闲任务。
idle_task_wdog_id = sys_watchdog_register(false);
assert_warning(idle_task_wdog_id!= -1);
sys_watchdog_configure_idle_id(idle_task_wdog_id);
#万一

pm_dialog
离线
最后一次露面:1天1小时前
职员
加入:2018-02-08 11:03
嗨,尼古兰,

嗨,尼古兰,

如果您不使用IDLE任务WDOG,则应在vapplicationalidlehook()函数中注释SYS_WATCHDOG_NOTIFY(IDLE_TASK_WDOG_ID)。否则,IDLE_TASK_WDOG_ID将不确定,WDOG将从未知值中通知,并且将击中硬故障。我们使用它,以便从空闲任务中通知WDOG。

谢谢,pm_dialog

bobspam@free.fr
离线
最后一次露面:5个月2周前
加入:2018-06-20 08:07
你好

你好

如果您在看门狗代码中看起来更深,还有两件事可以防止发生

-JTAG探测使用情况

- #define DG_Configimage_setup Development_mode vs Production_mode

两个调试都在看门狗的NMI处理程序中进行管理,并通过断点替换重置,因此调试工具可用于分析看门狗的原因(使用硬件异常方法)。