关闭方法how to disable watchdog

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

    Feature phone 的production release 版本上存在(1)死机无法抓获得memory dump或是(2)用JTAG分析问题时watchdog timeout了, 可以关闭watchdog去debug 问题,关闭方法如下:

     

    11A before关闭 watchdog方法是将WDT_Enable()这个函数中的参数变为kal_FALSE。如下

    Application_Initialize() (init\src\init.c) like this:

    #ifdef __PRODUCTION_RELEASE__

    #ifdef __MULTI_BOOT__

       if ( system_boot_mode!=FACTORY_BOOT )

    #endif  /* __MULTI_BOOT__ */

         // WDT_Enable(KAL_TRUE);

          WDT_Enable(KAL_FALSE);

    #endif /* __PRODUCTION_RELEASE__ */

     

    11A after(包括11A)关闭 watchdog方法是将wdt_data.fgEnable = kal_TRUE 改为 KAL_FALSE。如下

    Application_Initialize() (hal\system\init\src\init.c) like this:

    每日一道理
谁说人与人隔着遥远的重洋,谁说心与心设着坚固的堤防?十六岁的鸟儿飞上天空,总会找到落脚的枝头。

    #ifdef __PRODUCTION_RELEASE__

    #ifdef __MULTI_BOOT__

       if ( system_boot_mode!=FACTORY_BOOT )

    #endif  /* __MULTI_BOOT__ */

             //wdt_data.fgEnable=KAL_TRUE;

             wdt_data.fgEnable=KAL_FALSE;

        init_dcl_wdt_handle=DclWDT_Open(DCL_WDT,0);       

             DclWDT_Control(init_dcl_wdt_handle,WDT_CMD_ENABLE,(DCL_CTRL_DATA_T*)&wdt_data);

             DclWDT_Close(init_dcl_wdt_handle);        

    #endif /* __PRODUCTION_RELEASE__ */

     

    如果在Application_Initialize() (hal\system\init\src\init.c) 沒有下面所述內容,但是有WDT_SetValue(255)函数,

    关闭watch dog 方法为: WDT_SetValue(255);替换为WDT_Enable(KAL_FALSE);

     

    在w12.36 11B起增加了两个feature option ,FORCE_MEMORY_DUMP & FORCE_WATCHDOG_MUTE以减速打开或者关闭watch dog and memory dump。修改project make file中的feature option, 然后remake system便可有效。

文章结束给大家分享下程序员的一些笑话语录: 程序员的愿望
  有一天一个程序员见到了上帝.上帝: 小伙子,我可以满足你一个愿望.程序员: 我希望中国国家队能再次打进世界杯.
  上帝: 这个啊!这个不好办啊,你还说下一个吧!
  程序员: 那好!我的下一个愿望是每天都能休息6个小时以上.
  上帝: 还是让中国国家打进世界杯.

--------------------------------- 原创文章 By
关闭和方法
---------------------------------

原文地址:https://www.cnblogs.com/jiangu66/p/3111462.html