Hello Team.
I want to use watch dog timer in my project. Following is my DevCfg_master_devcfg_out_cdb.xml configuration for watchdog.
</driver>
<driver name="Dog_Cfg">
<device id="0x02000019">
<!-- If this flag is set to 0x0, hw wdog and grace timer will be initialized -->
<!-- If this flag is set to 0x1, hw wdog and grace timer will NOT be initialized -->
<props name="dog_hal_disable" type="0x00000002">
0
</props>
<!-- Grace timer value in sclk, This timer will declare a stalled initialization,
if intialization does not complete before it times out. -->
<props name="dog_hal_grace_timer_timeout" type="0x00000002">
160000 <!-- s*32000, 5s -->
</props>
Still result is negative.
Things I want to know.
1) How to Initialize and start WatchDog for QCA4020.
2) How to Feed WatchDog Timer.
Any example code would be helpful.
Thank you.
hi,
As per your configuration, watchdog is enabled. The property "dog_hal_grace_timer_timeout" is used to configure watchdog timer.
The QCLI demo demonstrates some of the watchdog functionality. You can refer to code in this path:
QCA4020_sdk/target/quartz/demo/QCLI_demo/src/platform/platform_demo.c
thanks
I also cannot get the WDT to reset the system. I set the "Dog_Cfg" parameter to zero in the xml file. It simply doesn't work at all. Is there an new information on this? Has anyone else got it to work?
Thanks,
Dr. Wolfe
<driver name="Dog_Cfg">
<device id="0x02000019">
<!-- If this flag is set to 0x0, hw wdog and grace timer will be initialized -->
<!-- If this flag is set to 0x1, hw wdog and grace timer will NOT be initialized -->
<props name="dog_hal_disable" type="0x00000002"> 0
2. Set the watchdog grace timer as below
<!-- Grace timer value in sclk, This timer will declare a stalled initialization,
if intialization does not complete before it times out. -->
<props name="dog_hal_grace_timer_timeout" type="0x00000002"> 256000 <!-- s*32000, 8s -->
The timer is set for 8 secs (8 * 3200). Change the value to set timer.
3. WDT will run only if ramdump is disable
</props>
<props id="7" id_name="PLATFORM RAMDUMP ENABLED" oem_configurable="true" helptext="Enable or Disable Ramdump. 1--Enabled, 0--Disabled" type="0x00000002"> 0
Thanks for this thread.. mobdro app
I would like to add that the "main thread" must be allowed to run for correct WDT functionality.
As per your configuration, watchdog is enabled. The property "dog_hal_grace_timer_timeout" is used to configure watchdog timer.
The QCLI demo demonstrates some of the watchdog functionality. You can refer to code in this path:
QCA4020_sdk/target/quartz/demo/QCLI_demo/src/platform/platform_demo.c
A problem has arisen in the QCA4020 WatchDog Timer. The system has been powered up, but the timer has not been activated. This means that if an unexpected shutdown or power outage were to occur, the device would not be rebooted and the system would be left in a vulnerable state. This could lead to data loss, system instability in logistic-branch, or even a complete system crash. As such, it is important to enable the WatchDog timer in order to ensure the system is properly protected from unexpected shutdowns.