#include /*標準輸入輸出定義*/ #include /*標準函數庫定義*/ #include #include #include "../Config.h" #include "../Log/log.h" #include "../Define/define.h" #include "../ShareMemory/shmMem.h" //------------------------------------------------------------------------------ static int gWatchDogfd = -1; //------------------------------------------------------------------------------ void WriteWatchDogState(char *value) { write(gWatchDogfd, value, 1); } static int initWatchDog(void) { int fd; system("/usr/bin/fuser -k /dev/watchdog"); sleep(1); system("echo V > /dev/watchdog"); sleep(1); fd = open("/dev/watchdog", O_RDWR); if (fd <= 0) { log_error("System watch dog initial fail.\r\n"); } return fd; } void CreateWatchdog(void) { struct SysConfigData *pSysConfig = (struct SysConfigData *)GetShmSysConfigData(); struct AlarmCodeData *pAlarmCode = (struct AlarmCodeData *)GetShmAlarmCodeData(); if (pSysConfig->SwitchDebugFlag == NO) { gWatchDogfd = initWatchDog(); if (gWatchDogfd < 0) { pAlarmCode->AlarmEvents.bits.CsuInitFailed = 1; } } }