Linux内核驱动初探(四) 内部看门狗

目录

0. 前言

1. menuconfig

2. 设备树

3. 拓展试验


0. 前言

这次的内部看门狗驱动也比较顺利,重点看了 原理图和4.19.x 内核的配置。

内部看门狗设备名叫做 /dev/watchdog 。


1. menuconfig

我们在 linux-menuconfig 里面如下设置:进入 Device Drivers ---> WatchdogTimer Support

 选择 IMX2+ Watchdog即可。


2. 设备树

在设备树里面,笔者做的最大的改动,是把 wdog2节点去掉,因为结合IMX6芯片手册上来看,一般都是用内部看门狗1;看门狗2则是用在安全区(Secure World),并无法做到开机时候可用。

所以我们应该使能看门狗1:

 如此保存设备树,编译内核,把zImage放入设备运行,内核打印没有明显的跟 watchdog 有关的信息。但进入rootfs以后,输入命令“reboot”,Linux确实就重启了,而Linux重启就是通过 内部看门狗(饿它)来实现的。


3. 拓展试验

我们已经知道 内部看门狗的设备名是 /dev/watchdog(n)。在内核态读写这个设备,可以更好的测试看门狗的功能。其基本原理:

看门狗(watchdog)实际是一个定时器,启动之后会开始计时,系统或者软件需要在规定时间内与看门狗通信(俗称喂狗)重置计时,如此反复下去,以此来确定系统和软件正常运行。

如果规定时间内没有喂狗,看门狗超时,说明系统或应用陷入循环、卡死,此时看门狗会发出复位信号让主控复位,脱离卡死。

我们可以写C语言小程序来打开狗、喂狗和关闭狗。

参考资料:12. Watchdog 使用 — Firefly Wiki

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值