2026/1/15 7:43:42
网站建设
项目流程
淄博网站建设企业,网站制作的网站,外贸流程全步骤外贸篇,贵州省城乡与建设厅网站嵌入式Linux的看门狗与电源管理 1. 添加看门狗 在嵌入式设备中,看门狗是常见需求。当关键服务停止工作时,通常需要采取行动,一般是重置系统。大多数嵌入式片上系统(SoC)都有硬件看门狗,可通过 /dev/watchdog 设备节点访问。看门狗在启动时会设置一个超时时间,之后必…嵌入式Linux的看门狗与电源管理1. 添加看门狗在嵌入式设备中,看门狗是常见需求。当关键服务停止工作时,通常需要采取行动,一般是重置系统。大多数嵌入式片上系统(SoC)都有硬件看门狗,可通过/dev/watchdog设备节点访问。看门狗在启动时会设置一个超时时间,之后必须在该时间段内重置,否则看门狗将触发,系统会重启。与看门狗驱动的接口在 Linux 内核源码的Documentation/watchdog中有描述,驱动代码位于drivers/watchdog目录。如果有两个或更多关键服务需要看门狗保护,就会出现问题。systemd有一个实用功能,可在多个服务之间分配看门狗。systemd可以配置为期望从服务接收定期的保活调用,如果未收到则采取行动,从而为每个服务创建一个软件看门狗。要实现这一点,必须在守护进程中添加代码以发送保活消息。代码需要检查WATCHDOG_USEC环境变量是否为非零值,然后在该时间内调用sd_notify(false, "WATCHDOG=1")(建议在看门狗超时时间的一半内)。systemd源代码中有相关示例。要在服务单元中启用看门狗,可在[Service]部分添加如下内容:WatchdogSec=30s Restart=on-watchdog Sta