CC2640看门狗无法正常工作
Hi,TI的工程师,我在使用2640的WD时出现如下问题:
在烧完程序后看门狗无法正常工作,必须硬件复位一次,才能正常启动(我打开看门狗但是不喂狗,发现不复位程序直接跑飞了)
void wdtCallback(UArg handle) { // Watchdog_clear((Watchdog_Handle)handle); } void wdtInitFxn(void) { Watchdog_Params wp; Watchdog_Handle watchdog; Watchdog_Params_init(&wp); wp.callbackFxn = wdtCallback; wp.debugStallMode = Watchdog_DEBUG_STALL_ON; wp.resetMode = Watchdog_RESET_ON; watchdog = Watchdog_open(Board_WATCHDOG, &wp); Watchdog_setReload(watchdog, 500000); // 1sec (WDT runs always at 48MHz/32) }
我参考网上写的,在Board.c和Board.h中分别进行了相应的配置
也添加了的watchdog.c、watchdog.h、watchdogCC26XX.c和watchdogCC26xx.h
另外,我使用寄存器配置的结果和使用Ti提供的API完全一致
void wdtInitFxn(void) { HWREG(WDT_BASE + 0xc00) = 0x1ACCE551; HWREG(WDT_BASE + 0x00) = 0x7A120; HWREG(WDT_BASE + 0x08) = 0x03; HWREG(WDT_BASE + 0xc00) = 0x01; }
也是必须硬件复位一次WD才能工作,希望TI工程师帮忙解答下,谢谢
跑飞了,中断一下,看看是否在某个异常中断里。
Hi HG,
添加看门狗之后,用IAR仿真,一开Debug就提示错误自动终止了
能否提供下具体的错误提示呢?
Hi Yang
仿真报错是
这样的。
另外我在hal_mcu.h中查到Reset Marco中有说明:
/* ------------------------------------------------------------------------------------------------ * Reset Macro * ------------------------------------------------------------------------------------------------ */ // Perform the equivalent of a PIN Reset (hard reset). // The cc26xx system has not been design to handle soft reset. // Making a soft reset can make the system unstable. // All soft reset needs to be replace by Hard reset. #define HAL_SYSTEM_RESET() (HWREG( AON_SYSCTL_BASE + AON_SYSCTL_O_RESETCTL ) |= AON_SYSCTL_RESETCTL_SYSRESET_M);
是否和watchdog初次启动程序跑死有关?
另,watchdog重启是否对外部RESET引脚有要求呢?期待解答
TI 的工程师们,请问这个看门狗,或者说软件复位功能到底怎么用呀?
我按照数据手册的配置过
烧完程序后需要硬件复位一次WD才能正常工作,并且我在开发板上添加看门狗模块,也是同样的效果。
如果有解决方法,能不能告知一声,毕竟WD的资料就那么一点,也没有查到更多有价值的信息了
感谢!
参考看门狗例程 http://dev.ti.com/tirex/#/?link=Software%2FSimpleLink%20CC13x0%20SDK%2FExamples%2FDevelopment%20Tools%2FCC1310%20LaunchPad%2FTI%20Drivers%2Fwatchdog
Hi Butterfly
感谢你的回复,我还在下载你给的链接,不过我在hal_mcu.c里看到一段TI的注解,请问下
/* ------------------------------------------------------------------------------------------------ * Reset Macro * ------------------------------------------------------------------------------------------------ */ // Perform the equivalent of a PIN Reset (hard reset). // The cc26xx system has not been design to handle soft reset. // Making a soft reset can make the system unstable. // All soft reset needs to be replace by Hard reset.
这段注解是啥意思?是否应该尽量避免软件复位,使用硬件复位呢?
谢谢
问题已经解决,查看数据手册解决的
谢谢
你好,我现在也出现了相同的问题,请问你是怎么解决的?谢谢