T113 硬件看门狗开发笔记

问题/功能背景描述

提出此问题的背景:

由于客户的的系统偶尔卡死,在终端输入也没有反应,只能硬件复位,所有需要添加硬件看门狗,来监控系统有没有卡死,一旦卡死就复位系统。

验证的平台/板子:T113

是否通用:是

参考资料

Rk3568硬件看门狗配置与测试-CSDN博客

开发记录/过程

步骤1:uboot 配置watchdog

由于客户所采用的这款watchdog需要不断的给它输入方波信号,才不会重启,在uboot下其实有watchdog驱动,但我开启后编译报错,于是就采用pwm方案,将watchdog的复位脚配置成pwm,让它不断输出方波信号。在uboot下也有sunxi_pwm这个命令来验证pwm,我只需在设备树中将复位脚配置成pwm即可。

uboot设备树配置,添加pwm0引脚配置,使能pwm0

&pwm0_pin_a {
        pins = "PB5";
        function = "pwm0";
        muxsel = <5>;
        drive-strength = <10>;
        bias-pull-up;
};

&pwm0_pin_b {
        pins = "PB5";
        muxsel = <0>;
        function = "gpio_in";
};

&pwm0 {
        pinctrl-names = "active", "sleep";
        pinctrl-0 = <&pwm0_pin_a>;
        pinctrl-1 = <&pwm0_pin_b>;
        status = "okay";
};

开启pwm0

我们只要在开机过程中加入下面命令,即可开启pwm0。 run_command("sunxi_pwm 0 500000000 1000000000", 0);

步骤2:kernel下配置watchdog
修改设备树

  watchdog {
               compatible = "linux,wdt-gpio";
               gpio = <&pio PB 5 GPIO_ACTIVE_HIGH>;
               hw_algo = "toggle";
               hw_margin_ms = <1000>;
              always-running = "true";        
       };

添加驱动程序

+CONFIG_GPIO_WATCHDOG=y

功能使用说明/测试验证方法

加载驱动前后会生成新的看门狗节点

ls /dev/watchdog*
/dev/watchdog /dev/watchdog0 /dev/watchdog1

测量看门狗喂狗引脚

可以测量到方波信息,内核通过PB5一直给看门狗芯片喂狗,周期为1秒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值