watchdog.c

来自「ADI blackfin DSP的基于device friver的jpeg压缩算」· C语言 代码 · 共 46 行

C
46
字号

#include <services\services.h>				// system services
#include "WatchDog.h"

volatile bool g_bNeed_reset = 0;

void setup_watchdog(void)
{
#if defined(__ADSP_EDINBURGH__) 

	*pWDOG_CNT = WATCH_DOG_PERIOD;			// set WDOG Count for 2 second IRQ
	*pWDOG_CTL = ENABLE_RESET;
#endif
}

void disable_watchdog(void)
{
#if defined(__ADSP_EDINBURGH__) 
    
	*pWDOG_CTL = DISABLE_WDOG;	// writing 0s to TMR_EN[11:4] will enable the watchdog
#endif
}


void watch_dog(void)
{
	if(g_bNeed_reset)
		return;
#if defined(__ADSP_EDINBURGH__)	
	*pWDOG_STAT = WATCH_DOG_PERIOD;
#endif

}

void reset_now(void)
{
	g_bNeed_reset = true;
#if defined(__ADSP_EDINBURGH__)
	*pWDOG_CTL = DISABLE_WDOG;
	*pWDOG_CNT = BE_RESET_NOW;
	*pWDOG_CTL = ENABLE_RESET;
#endif
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?