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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐ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ū)動(dòng)文件

RK3399 watchdog用的是新思(Synopsys)的IP,在watchdog驅(qū)動(dòng)程序加載時(shí),會(huì)注冊(cè)misc設(shè)備,節(jié)點(diǎn)為/dev/watchdog。

驅(qū)動(dòng)文件: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時(shí)鐘
        interrupts =  120 IRQ_TYPE_LEVEL_HIGH 0>; ## watchdog中斷號(hào)和觸發(fā)方式
};

三、調(diào)試方法

1、關(guān)閉看門狗

echo A > watchdog

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

## 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)
{
    ...
}

例:

## 關(guān)閉看門狗后,等待一段時(shí)間后重啟
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ū)動(dòng)程序中,需要關(guān)注宏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命令寫入任何字符,都不會(huì)關(guān)閉喂狗。

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

例:

## 寫入任何字符,都不會(huì)關(guān)閉喂狗
root@linaro-alip:~# echo A > watchdog
root@linaro-alip:~#

注:

使用./build/mk-kernel.sh rockpi4a編譯內(nèi)核時(shí),即使修改了rockchip_linux_defconfig文件,編譯時(shí),相關(guān)配置也不會(huì)生效。需要在編譯前make distclean或刪除內(nèi)核根目錄下的.config文件后,重新編譯內(nèi)核。

審核編輯 :李倩


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

    關(guān)注

    10

    文章

    610

    瀏覽量

    73041
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11778

    瀏覽量

    219164

原文標(biāo)題:Linux驅(qū)動(dòng)之watchdog

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    【瑞薩RA × Zephyr評(píng)測(cè)】多線程和看門狗

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

    什么是ADC模擬看門狗?

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

    中科芯CKS32F107XX系列MCU的獨(dú)立看門狗介紹

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

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

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

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

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

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

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

    看門狗定時(shí)器、復(fù)位源、異常處理機(jī)制科普

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

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

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

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

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

    STM32L433單片機(jī)如何在調(diào)試的時(shí)候關(guān)閉看門狗

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

    TPS3431 帶啟用功能的標(biāo)準(zhǔn)可編程看門狗定時(shí)器數(shù)據(jù)手冊(cè)

    TPS3431 是一款標(biāo)準(zhǔn)的可編程看門狗定時(shí)器,具有使能功能,適用于各種應(yīng)用。看門狗超時(shí)具有 15% 的精度、高精度定時(shí) (–40°C 至 +125°C) 和 25°C 時(shí) 2.5% 的典型值
    的頭像 發(fā)表于 04-10 14:28 ?899次閱讀
    TPS3431 帶啟用功能的標(biāo)準(zhǔn)可編程<b class='flag-5'>看門狗</b>定時(shí)器數(shù)據(jù)手冊(cè)

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

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

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

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