Files
luban-lite-t3e-pro/doc/topics/sdk/watchdog/watchdog-design.html
2025-01-23 16:37:00 +08:00

177 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.0">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="源代码位于 drivers/watchdog/artinchip_wdt.c Linux 提供了一个 Watchdog 子系统(简称 Watchdog Core使得在用户空间可以通过 /dev/watchdogX 来访问 Watchdog 控制器。为了更方便查看硬件状态和参数设置,本驱动另外扩展了几个 sysfs 节点。 整个软件框架可以简单抽象为下图: 图 1 . Linux ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="concept"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-12-13"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="watchdog_design_intro"/><meta name="DC.language" content="zh-CN"/><title>设计说明</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content=""/><meta name="wh-source-relpath" content="topics/sdk/watchdog/watchdog-design.dita"/><meta name="wh-out-relpath" content="topics/sdk/watchdog/watchdog-design.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="watchdog_design_intro" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.png" alt="RTOS SDK 使用指南SDK 指南文件"/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"><span class="ph mainbooktitle">RTOS SDK 使用指南</span><span class="ph booktitlealt">SDK 指南文件</span></span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
</div>
</div>
</header>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<div class="col-12" id="wh_topic_body">
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic concept/concept topic concept" role="article" aria-labelledby="ariaid-title1"><span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/watchdog/watchdog-design.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">设计说明</h1><div class="date inPage">13 Dec 2024</div><div style="color: gray;">
Read time: 1 minute(s)
</div><div class="- topic/body concept/conbody body conbody"><div class="- topic/div div">
<p class="- topic/p p" data-ofbid="d346161e24__20250121172119">源代码位于 <span class="+ topic/ph sw-d/filepath ph filepath">drivers/watchdog/artinchip_wdt.c</span></p>
<p class="- topic/p p" data-ofbid="d346161e29__20250121172119">Linux 提供了一个 Watchdog 子系统(简称 Watchdog Core使得在用户空间可以通过
<span class="+ topic/ph sw-d/filepath ph filepath">/dev/watchdogX</span> 来访问 Watchdog 控制器。为了更方便查看硬件状态和参数设置,本驱动另外扩展了几个
sysfs 节点。</p>
<p class="- topic/p p" data-ofbid="d346161e35__20250121172119">整个软件框架可以简单抽象为下图:</p>
<figure class="- topic/fig fig fignone" id="watchdog_design_intro__fig_rdr_x2t_c1c" data-ofbid="watchdog_design_intro__fig_rdr_x2t_c1c"><br/><div class="imagecenter"><img class="- topic/image image imagecenter" id="watchdog_design_intro__image_b4g_t2t_c1c" src="../../../images/watchdog/sw_system23.png" alt="sw_system23"/></div><br/><figcaption data-caption-side="bottom" class="- topic/title title figcapcenter"><span class="figtitleprefix fig--title-label"><span class="fig--title-label-number"> 1</span><span class="fig--title-label-punctuation">. </span></span><span class="fig--title">Linux Watchdog 子系统架构图</span></figcaption></figure>
<p class="- topic/p p" data-ofbid="d346161e45__20250121172119">针对我们 Watchdog 控制器的几个特色功能:</p>
<ol class="- topic/ol ol" id="watchdog_design_intro__ol_c4g_t2t_c1c" data-ofbid="watchdog_design_intro__ol_c4g_t2t_c1c"><li class="- topic/li li" data-ofbid="d346161e50__20250121172119">多通道<p class="- topic/p p" data-ofbid="d346161e52__20250121172119">将每个通道注册为一个 watchdog 设备,在/dev/目录下面生成多个 watchdog 设备节点。每一个 Watchdog
设备节点都提供标准的 Watchdog ioctl 接口。</p></li><li class="- topic/li li" data-ofbid="d346161e54__20250121172119">超时中断<p class="- topic/p p" data-ofbid="d346161e56__20250121172119">在 Watchdog 超时之前可以产生一些中断信号,让软件有机会做一些预处理。对应到 Core 的 pretimeout 参数,可以支持对外注册
pretimeout 回调的机制。</p></li><li class="- topic/li li" data-ofbid="d346161e58__20250121172119">清零窗口<p class="- topic/p p" data-ofbid="d346161e60__20250121172119">Watchdog Core 中没有对应的参数,所以提供一个 int 类型的 DTS
字段“clr_thd”让用户态可以设置此门限需要注意这个值是 4 个 Watchdog 通道共用的。默认是 0表示随时可以 clean 计数。详见
<a class="- topic/xref xref" href="watchdog-config.html#watchdog_configuration__table_h13_2dt_c1c">Watchdog 自定义参数</a></p></li><li class="- topic/li li" data-ofbid="d346161e66__20250121172119">调试模式的计数状态<p class="- topic/p p" data-ofbid="d346161e68__20250121172119">当 CPU 进入 Jtag 的 debug 状态时Watchdog 计数可以选择是否暂停。类似的,也通过一个 bool 类型的 DTS
字段 “dbg_continue” 提供给用户态去设置。默认是暂停。详见 <a class="- topic/xref xref" href="watchdog-config.html#watchdog_configuration__table_h13_2dt_c1c">Watchdog 自定义参数</a></p></li></ol>
</div></div></article></main></div>
</div>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style><!--
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
--></style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>