91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于RockPi 4A單板Linux 4.4內(nèi)核介紹RK3399看門狗的調(diào)試方法

xCb1_yikoulinux ? 來源:一口Linux ? 作者:小田BSP ? 2022-05-12 15:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文基于RockPi 4A單板Linux 4.4內(nèi)核介紹RK3399看門狗(watchdog)的調(diào)試方法。

一、驅(qū)動文件

RK3399 watchdog用的是新思(Synopsys)的IP,在watchdog驅(qū)動程序加載時,會注冊misc設備,節(jié)點為/dev/watchdog

驅(qū)動文件: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中斷號和觸發(fā)方式
};

三、調(diào)試方法

1、關閉看門狗

echo A > watchdog

寫入除大寫V以外的任意字符,不再喂狗,一段時間后系統(tǒng)會重啟。

## 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  ## 系統(tǒng)重啟
In
soft reset

2、打開卡門狗

echo V > watchdog

寫入大寫V,繼續(xù)喂狗,系統(tǒng)不再重啟。

例:

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

3、CONFIG_WATCHDOG_NOWAYOUT

watchdog驅(qū)動程序中,需要關注宏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編譯內(nèi)核時,即使修改了rockchip_linux_defconfig文件,編譯時,相關配置也不會生效。需要在編譯前make distclean或刪除內(nèi)核根目錄下的.config文件后,重新編譯內(nèi)核。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 看門狗
    +關注

    關注

    10

    文章

    610

    瀏覽量

    73006
  • Linux
    +關注

    關注

    88

    文章

    11772

    瀏覽量

    219136

原文標題:Linux驅(qū)動之watchdog

文章出處:【微信號:yikoulinux,微信公眾號:一口Linux】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    一文打通Rockchip DP調(diào)試:從原理到實戰(zhàn),覆蓋RK3399/RK3576/RK3588全平臺

    嵌入式開發(fā)中,DisplayPort(DP)接口的調(diào)試常讓工程師頭疼 —— 不同芯片特性差異大、Type-C 與標準口配置不同、高分辨率輸出異常、MST 多屏適配難… 尤其是 Rockchip RK3399RK3576、
    的頭像 發(fā)表于 02-04 16:14 ?483次閱讀
    一文打通Rockchip DP<b class='flag-5'>調(diào)試</b>:從原理到實戰(zhàn),覆蓋<b class='flag-5'>RK3399</b>/<b class='flag-5'>RK</b>3576/<b class='flag-5'>RK</b>3588全平臺

    【瑞薩RA × Zephyr評測】多線程和看門狗

    本文章旨在評估使用 Zephyr RTOS 在 Renesas FPB-RA6E2 開發(fā)板上實現(xiàn)多線程調(diào)度與硬件看門狗功能的應用。評估內(nèi)容包括任務調(diào)度、看門狗初始化流程、主程序邏輯的詳細解析,以及實驗現(xiàn)象與數(shù)據(jù)分析。
    的頭像 發(fā)表于 01-10 10:23 ?2501次閱讀
    【瑞薩RA × Zephyr評測】多線程和<b class='flag-5'>看門狗</b>

    什么是ADC模擬看門狗

    模擬看門狗功能,支持將 ADC 轉(zhuǎn)換結(jié)果與用戶設定的閾值進行比較,支持上閾值、下閾值、區(qū)間值比較,通過閾值寄存器 ADC_VTH 和 ADC_VTL 設置比較閾值。 模擬看門狗功能只在單通道模式
    發(fā)表于 12-12 06:15

    中科芯CKS32F107XX系列MCU的獨立看門狗介紹

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),它們在
    的頭像 發(fā)表于 11-28 14:51 ?3893次閱讀
    中科芯CKS32F107XX系列MCU的獨立<b class='flag-5'>看門狗</b><b class='flag-5'>介紹</b>

    中科芯CKS32F107XX系列MCU的窗口看門狗介紹

    中科芯CKS32F107xx系列產(chǎn)品內(nèi)部提供兩個看門狗定時器單元,獨立型看門狗IWDG(Independent Watchdog)和窗口型看門狗WWDG(Window Watchdog),本文主要
    的頭像 發(fā)表于 11-28 14:48 ?4153次閱讀
    中科芯CKS32F107XX系列MCU的窗口<b class='flag-5'>看門狗</b><b class='flag-5'>介紹</b>

    “喂狗”的藝術(shù):看門狗不叫,才是系統(tǒng)好

    看門狗選哪只好呢? 中間那只看起來不錯。 咳咳搞錯了,自動化項目中說的看門狗是PLC的看門狗,那這個有什么用呢?難道真的是看大門的
    的頭像 發(fā)表于 11-25 10:50 ?325次閱讀
    “喂狗”的藝術(shù):<b class='flag-5'>看門狗</b>不叫,才是系統(tǒng)好

    既然有獨立看門狗了,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?

    既然有獨立看門狗了,為啥還要窗口看門狗(WWDT),窗口看門狗的特色是什么?
    發(fā)表于 11-21 06:42

    看門狗定時器、復位源、異常處理機制科普

    在嵌入式開發(fā)中,系統(tǒng)一旦“跑飛”,工程師最怕的不是bug,而是程序卡死無人知。這時,芯片自身的自我保護機制就至關重要。看門狗、復位源和異常處理機制,是保證系統(tǒng)可靠性的三大基石。本文帶你梳理清楚它們
    的頭像 發(fā)表于 11-17 10:53 ?1308次閱讀
    <b class='flag-5'>看門狗</b>定時器、復位源、異常處理機制科普

    小安派BW21-CBV-Kit入門教程之看門狗簡介

    這是一個簡單的看門狗定時器(WDT)示例,演示了看門狗 API 的用法。 有關看門狗的定義和工作原理,請參閱以下信息。
    的頭像 發(fā)表于 11-13 17:22 ?5117次閱讀
    小安派BW21-CBV-Kit入門教程之<b class='flag-5'>看門狗</b>簡介

    33A66-B1 rk3399開發(fā)板規(guī)格書

    信步 33A66-B1 rk3399開發(fā)板規(guī)格書 包括各種接口每個引腳的說明
    發(fā)表于 10-13 16:10 ?3次下載

    STM32L433單片機如何在調(diào)試的時候關閉看門狗

    背景:在STM32L433單片機上使能了看門狗,但是不能像STM32F103那樣配置調(diào)試時關閉看門狗 STM32F103配置如何: __HAL_DBGMCU_FREEZE_IWDG(); // 在
    發(fā)表于 07-11 07:15

    TPS3430 具有可編程復位延遲的窗口看門狗定時器數(shù)據(jù)手冊

    TPS3430 是一款獨立的窗口看門狗定時器,具有可編程看門狗窗口和可編程看門狗復位延遲,適用于各種應用。TPS3430窗口看門狗可實現(xiàn) 2.5% 的定時精度(25°C 時的典型值),
    的頭像 發(fā)表于 04-10 14:23 ?859次閱讀
    TPS3430 具有可編程復位延遲的窗口<b class='flag-5'>看門狗</b>定時器數(shù)據(jù)手冊

    TPS3435 納米靜態(tài)電流精密超時看門狗定時器數(shù)據(jù)手冊

    TPS3435 是一款超低功耗 (典型值為 250nA) 器件,提供可編程超時看門狗定時器。 TPS3435 提供高精度超時看門狗定時器,具有適用于各種應用的一系列功能。超時看門狗定時器可由
    的頭像 發(fā)表于 04-09 15:49 ?950次閱讀
    TPS3435 納米靜態(tài)電流精密超時<b class='flag-5'>看門狗</b>定時器數(shù)據(jù)手冊

    RT1170EVKB如何設置CM7和CM4內(nèi)核來實現(xiàn)它們自己的看門狗外設?

    RT1170 EVKB 評估板的看門狗驅(qū)動程序示例似乎只適用于CM7內(nèi)核。 給定一個基本的雙核應用程序,我應該如何設置 CM7 和 CM4 內(nèi)核來實現(xiàn)它們自己的
    發(fā)表于 03-17 07:03