0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RockPi 4A单板Linux 4.4内核介绍RK3399看门狗的调试方法

xCb1_yikoulinux 来源:一口Linux 作者:小田BSP 2022-05-12 15:08 次阅读

本文基于RockPi 4A单板Linux 4.4内核介绍RK3399看门狗(watchdog)的调试方法。

一、驱动文件

RK3399 watchdog用的是新思(Synopsys)的IP,在watchdog驱动程序加载时,会注册misc设备,节点为/dev/watchdog

驱动文件:drivers/watchdog/dw_wdt.c

二、DTS配置

配置文件:
arch/arm64/boot/dts/rockchip/rk3399.dtsi

watchdog具体配置如下:

watchdog@ff848000 {
        compatible = "snps,dw-wdt";
        reg = <0x0 0xff848000 0x0 0x100>; ## watchdog寄存器基地址和映射长度
        clocks = <&cru PCLK_WDT>; ## watchdog时钟
        interrupts =  120 IRQ_TYPE_LEVEL_HIGH 0>; ## watchdog中断号和触发方式
};

三、调试方法

1、关闭看门狗

echo A > watchdog

写入除大写V以外的任意字符,不再喂狗,一段时间后系统会重启。

## drivers/watchdog/watchdog_dev.c
/*
 *  watchdog_write: writes to the watchdog.
 *  A write to a watchdog device is defined as a keepalive ping.
 *  Writing the magic 'V' sequence allows the next close to turn
 *  off the watchdog (if 'nowayout' is not set).
 */

static ssize_t watchdog_write(struct file *file, const char __user *data,
                        size_t len, loff_t *ppos)
{
    ...
}

例:

## 关闭看门狗后,等待一段时间后重启
root@linaro-alip:/dev# echo A > watchdog
[ 1502.302824] dw_wdt: unexpected close, system will reboot soon
root@linaro-alip:/dev# DDR Version 1.20 20190314  ## 系统重启
In
soft reset

2、打开卡门狗

echo V > watchdog

写入大写V,继续喂狗,系统不再重启。

例:

## 打开看门狗
root@linaro-alip:/dev# echo V > watchdog
root@linaro-alip:/dev#

3、CONFIG_WATCHDOG_NOWAYOUT

watchdog驱动程序中,需要关注宏CONFIG_WATCHDOG_NOWAYOUT。使用如下:

static bool nowayout = WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0);
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started "
         "(default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");

如果配置了CONFIG_WATCHDOG_NOWAYOUT,通过echo命令写入任何字符,都不会关闭喂狗。

root@ubuntu:/home/run/code/rockchip-bsp/kernel/arch/arm64/configs# git diff rockchip_linux_defconfig
diff --git a/arch/arm64/configs/rockchip_linux_defconfig b/arch/arm64/configs/rockchip_linux_defconfig
index cfbc7774a15f..80265bdcd598 100644
--- a/arch/arm64/configs/rockchip_linux_defconfig
+++ b/arch/arm64/configs/rockchip_linux_defconfig
 CONFIG_WATCHDOG=y
 CONFIG_DW_WATCHDOG=y
+CONFIG_WATCHDOG_NOWAYOUT=y
 CONFIG_MFD_CROS_EC=y

例:

## 写入任何字符,都不会关闭喂狗
root@linaro-alip:~# echo A > watchdog
root@linaro-alip:~#

注:

使用./build/mk-kernel.sh rockpi4a编译内核时,即使修改了rockchip_linux_defconfig文件,编译时,相关配置也不会生效。需要在编译前make distclean或删除内核根目录下的.config文件后,重新编译内核。

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    541

    浏览量

    70253
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206730

原文标题:Linux驱动之watchdog

文章出处:【微信号:yikoulinux,微信公众号:一口Linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    rk3399移植Linux内核

    RK3399是一款由中国厂商瑞芯微推出的高性能处理器芯片,被广泛用于嵌入式系统开发。在进行应用程序开发之前,我们需要将Linux内核移植到RK3399上,以支持硬件的驱动和功能。本文将
    的头像 发表于 01-08 09:56 340次阅读

    RK3399硬件设计指南

    RK3399是一款基于ARM架构的高性能处理器,常用于嵌入式系统和单板计算机。在进行RK3399硬件设计时,需要考虑多个方面,包括电源、封装、信号传输、外设接口等。本文将详细介绍
    的头像 发表于 12-28 10:59 452次阅读

    Rockchip RK3399软件开发指南

    本文档主要介绍 Rockchip RK3399 软件开发指南,旨在帮助软件开发工程师更快上手 RK3399 的开发及调试
    发表于 10-10 07:15

    RK3399 VR Android参数配置和调试说明

    电子发烧友网站提供《RK3399 VR Android参数配置和调试说明.pdf》资料免费下载
    发表于 10-07 15:42 0次下载
    <b class='flag-5'>RK3399</b> VR Android参数配置和<b class='flag-5'>调试</b>说明

    videostrong嵌入式板卡、商显主板rk3399介绍

    电子发烧友网站提供《videostrong嵌入式板卡、商显主板rk3399介绍.rar》资料免费下载
    发表于 09-15 15:35 0次下载
    videostrong嵌入式板卡、商显主板<b class='flag-5'>rk3399</b><b class='flag-5'>介绍</b>

    rk3399性能评测

    (ARMv8) ,包含了两个 Cortex-A72 内核和四个 Cortex-A53 内核,在多媒体处理方面,RK3399在图形和视频处理方面具有优越的性能表现。 RK3399 处理
    的头像 发表于 08-21 17:32 5942次阅读

    rk3399和晶晨s922x哪个强

    rk3399和晶晨s922x哪个强 随着智能电视、智慧家庭等智能化设备的普及,越来越多的用户开始关注芯片的性能,而RK3399和晶晨S922X都是近几年比较流行的高性能芯片,那么RK3399
    的头像 发表于 08-21 17:28 1485次阅读

    rk3399和骁龙650对比

    生产,分别是瑞芯微电子和高通公司。虽然这两款处理器都是业界知名的芯片,但它们之间的性能和设计有很多的不同之处。本文将为你详细介绍这两款处理器的性能对比。 1.架构设计 RK3399的架构设计是64位六核心,由两个Cortex-A72的高性能
    的头像 发表于 08-17 10:52 584次阅读

    rk3399和骁龙855参数对比

    rk3399和骁龙855参数对比 在当今移动设备市场上,rk3399和骁龙855是两个非常出色的芯片,它们都赢得了消费者的信任和喜爱。但是,这两款芯片的具体参数又有什么区别呢?下面就让我们来详细对比
    的头像 发表于 08-17 10:52 947次阅读

    rk3399和骁龙650对比

    生产,分别是瑞芯微电子和高通公司。虽然这两款处理器都是业界知名的芯片,但它们之间的性能和设计有很多的不同之处。本文将为你详细介绍这两款处理器的性能对比。 1.架构设计 RK3399的架构设计是64位六核心,由两个Cortex-A72的高性能
    的头像 发表于 08-16 17:34 416次阅读

    rk3399和骁龙855参数对比

    rk3399和骁龙855参数对比 在当今移动设备市场上,rk3399和骁龙855是两个非常出色的芯片,它们都赢得了消费者的信任和喜爱。但是,这两款芯片的具体参数又有什么区别呢?下面就让我们来详细对比
    的头像 发表于 08-16 17:34 828次阅读

    rk3566和rk3399的区别

    rk3566和rk3399的区别 Rockchip是中国芯片设计企业,其旗下产品包括rk3566和rk3399芯片,这两种芯片都具有高性能和低成本的优点,但在一些细节上还是存在一定的差
    的头像 发表于 08-15 17:44 8401次阅读

    rk3588和rk3399的区别

    rk3588和rk3399的区别 Rockchip是一家位于中国深圳的芯片设计公司,已经发布了一系列的处理器芯片。其中,Rockchip RK3588和RK3399是两款备受瞩目的芯片
    的头像 发表于 08-15 16:44 1919次阅读

    使用CodeViser调试RK3399多核芯片的过程

    CodeViser是J&D Tech公司开发的一款JTAG仿真器,支持ARM和RISC-V等CPU 核。配套的CVD调试软件提供高效稳定的调试环境,支持源码级调试和强有力的脚本命令。本文讨论使用CodeViser
    的头像 发表于 08-01 11:09 604次阅读
    使用CodeViser<b class='flag-5'>调试</b><b class='flag-5'>RK3399</b>多核芯片的过程

    K32L3A60多核看门狗调试问题如何解决?

    和状态寄存器的参考手册)。 当我在 M4 核心 I 中设置断点并正常中断并单步执行代码时;然而,如果我在 M0+ 内核中设置一个断点,并单步执行 M0+ 代码,M4 会重置看门狗(我检
    发表于 05-24 07:48