喂狗函数实现 arch/arm/mach-s3c2440/mach-smdk2440.c void epc_feed_wdt(void) { s3c2410_gpio_setpin(S3C2410_GPG7, 1); s3c2410_gpio_setpin(S3C2410_GPG7, 0); } EXPORT_SYMBOL(epc_feed_wdt); 在drivers/misc目录下增加一个timer.c文件,开启一个喂狗的定时器。文件内容: #include #include #include #include #include #include #include #include MODULE_LICENSE("Dual BSD/GPL") struct timer_list epc_watchdog; extern void epc_feed_wdt(void); static void epc_watchdog_timeout(unsigned long arg) { // printk("################## timer out!\n"); // epc_feed_wdt(); mod_timer(&epc_watchdog, jiffies+1*HZ); epc_feed_wdt(); } static int epc_timer_init(void) { // printk("################### TIMER INIT...!\n"); epc_feed_wdt(); init_timer(&epc_watchdog); epc_watchdog.function = &epc_watchdog_timeout; epc_watchdog.expires = jiffies + 1*HZ; add_timer(&epc_watchdog); epc_feed_wdt(); return 0; } core_initcall(epc_timer_init); |