123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include <stdio.h> /*標準輸入輸出定義*/
- #include <stdlib.h> /*標準函數庫定義*/
- #include <string.h>
- #include <stdint.h>
- #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;
- }
- }
- }
|