linuxOS_D21X/doc/topics/sdk/rtc/rtc-debug-guide.html

345 lines
44 KiB
HTML
Raw Normal View History

2025-01-23 08:35:08 +00:00
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="27.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="本节介绍 RTC 调试流程。 打开调试开关 在 SDK 根目录下,执行下列命令,进入 kernel 的功能配置界面: make kernel-menuconfig 或使用简写命令 make km 在内核配置界面,按如下选择,打开调试开关: Linux Kernel hacking ArtInChip Debug [*] RTC driver debug 打开 DEBUG 选项后: 驱动以 -O0 ..."/><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.relation" content="../../../topics/sdk/rtc/rtc-user-guide.html"/><meta name="DC.relation" content="../../../topics/sdk/rtc/rtc-config-guide.html"/><meta name="DC.relation" content="../../../topics/sdk/rtc/rtc-test-guide.html"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.creator" content="yan.wang"/><meta name="DC.date.modified" content="2024-01-15"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="rtc_debug_guide"/><meta name="DC.language" content="zh-CN"/><title>调试指南</title><!-- Generated with build number 2024112209. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="rtc_debug_guide-d4445e3564"/><meta name="wh-source-relpath" content="topics/sdk/rtc/rtc-debug-guide.dita"/><meta name="wh-out-relpath" content="topics/sdk/rtc/rtc-debug-guide.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2024112209"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2024112209"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250123154945"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2024112209"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250123154945"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2024112209"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2024112209"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2024112209"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2024112209"/></head>
<body id="rtc_debug_guide" 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=" Linux SDK 使用指南 SDK 指南文件 "/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"> <span class="ph mainbooktitle">Linux 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 "><ol class="d-print-none"><li><span class="home"><a href="../../../index.html"><span>主页</span></a></span></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div></li><li><div class="topicref" data-id="chapter-system"><div class="title"><a href="../../../topics/chapter-title/chapter-system.html">系统</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li><div class="topicref" data-id="concept_n2p_sn3_pzb"><div class="title"><a href="../../../topics/sdk/rtc/rtc-user-guide.html">RTC 使用指南</a></div></div></li><li class="active"><div class="topicref" data-id="rtc_debug_guide"><div class="title"><a href="../../../topics/sdk/rtc/rtc-debug-guide.html">调试指南</a></div></div></li></ol></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_navigation_links "><span id="topic_navigation_links" class="navheader">
<span class="navprev"><a class="- topic/link link" href="../../../topics/sdk/rtc/rtc-config-guide.html" title="RTC 配置" aria-label="上一主题: RTC 配置" rel="prev"></a></span>
<span class="navnext"><a class="- topic/link link" href="../../../topics/sdk/rtc/rtc-test-guide.html" title="测试指南" aria-label="下一主题: 测试指南" rel="next"></a></span> </span></div>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
<button type="button" id="wh_toc_button" class="custom-toggler navbar-toggler collapsed wh_toggle_button navbar-light" aria-expanded="false" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<nav id="wh_publication_toc" class="col-lg-3 col-md-3 col-sm-12 d-md-block d-none d-print-none" aria-label="Table of Contents Container">
<div id="wh_publication_toc_content">
<div class=" wh_publication_toc " data-tooltip-position="right"><span class="expand-button-action-labels"><span id="button-expand-action" role="button" aria-label="Expand"></span><span id="button-collapse-action" role="button" aria-label="Collapse"></span><span id="button-pending-action" role="button" aria-label="Pending"></span></span><ul role="tree" aria-label="Table of Contents"><li role="treeitem"><div data-tocid="revinfo_linux-d4445e1079" class="topicref" data-id="revinfo_linux" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/revinfo/revinfo_linux.html" id="revinfo_linux-d4445e1079-link">修订记录</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d4445e1096" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d4445e1096-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/env/sdk-compile.html" id="id-d4445e1096-link">SDK 编译</a><div class="wh-tooltip"><p class="shortdesc">介绍不同编译环境下 SDK 的详细编译流程。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="tocId-d4445e1240" class="topicref" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action tocId-d4445e1240-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/lb_usage_commands.html" id="tocId-d4445e1240-link">使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_rcx_czh_pzb-d4445e1360" class="topicref" data-id="concept_rcx_czh_pzb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_rcx_czh_pzb-d4445e1360-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-app.html" id="concept_rcx_czh_pzb-d4445e1360-link">应用场景</a><div class="wh-tooltip"><p class="shortdesc">描述了 SDK 在不同应用场景中的配置和使用包括系统更新、OTA、安全方案等。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d4445e1678" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d4445e1678-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/peripheral/peripheral-intro.html" id="id-d4445e1678-link">外设移植</a><div class="wh-tooltip"><p class="shortdesc"><span class="ph">触摸屏、显示器、WIFI 模块、按键</span>等外设的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d4445e1964" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d4445e1964-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html" id="id-d4445e1964-link">BringUp</a><div class="wh-tooltip"><p class="shortdesc">在硬件上电后快速初始化系统,为操作系统的启动准备好必要的硬件环境。</p></div></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d4445e2153" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d4445e2153-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html" id="id-d4445e2153-link">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" aria-expanded="false"><div data-tocid="uBoot-d4445e2170" class="topicref" data-id="uBoot" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action uBoot-d4445e2170-link" class="wh-expand-btn"></span><div class="titl
</div>
</nav>
<div class="col-lg-7 col-md-9 col-sm-12" id="wh_topic_body">
<button id="wh_close_publication_toc_button" class="close-toc-button d-none" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<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" title="Edit this document" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/rtc/rtc-debug-guide.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">调试指南</h1>
<div class="date inPage">15 Jan 2024</div><div style="color: gray;">
Read time: 3 minute(s)
</div>
<div class="- topic/body concept/conbody body conbody">
<p class="- topic/p p" data-ofbid="d197111e33__20250123155221">本节介绍 RTC 调试流程。</p>
<section class="- topic/section section" id="rtc_debug_guide__section_qnm_1d5_mdc" data-ofbid="rtc_debug_guide__section_qnm_1d5_mdc"><h2 class="- topic/title title sectiontitle">打开调试开关</h2>
<ol class="- topic/ol ol" id="rtc_debug_guide__ol_pxc_yjz_sdc" data-ofbid="rtc_debug_guide__ol_pxc_yjz_sdc">
<li class="- topic/li li" data-ofbid="d197111e43__20250123155221">
<div class="- topic/div div">
<div class="- topic/p p" data-ofbid="d197111e47__20250123155221">在 SDK 根目录下,执行下列命令,进入 kernel
的功能配置界面:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_wg1_3ml_sdc" data-ofbid="rtc_debug_guide__codeblock_wg1_3ml_sdc"><code>make kernel-menuconfig</code></pre></div>
<p class="- topic/p p" data-ofbid="d197111e52__20250123155221">或使用简写命令</p>
<div class="- topic/p p" data-ofbid="d197111e55__20250123155221">
<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_uss_hml_sdc" data-ofbid="rtc_debug_guide__codeblock_uss_hml_sdc"><code>make km</code></pre>
</div>
</div>
</li>
<li class="- topic/li li" data-ofbid="d197111e63__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e65__20250123155221">在内核配置界面,按如下选择,打开调试开关:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_fzw_kqt_c1c" data-ofbid="rtc_debug_guide__codeblock_fzw_kqt_c1c"><code>Linux
Kernel hacking
ArtInChip Debug
[*] RTC driver debug</code></pre></div>
<div class="- topic/p p" data-ofbid="d197111e70__20250123155221">打开 DEBUG 选项后:<ul class="- topic/ul ul" id="rtc_debug_guide__ol_ucp_mss_c1c" data-ofbid="rtc_debug_guide__ol_ucp_mss_c1c">
<li class="- topic/li li" data-ofbid="d197111e74__20250123155221">
<p class="- topic/p p" data-ofbid="d197111e76__20250123155221">驱动以<code class="+ topic/ph pr-d/codeph ph codeph">-O0</code> 编译。</p>
</li>
<li class="- topic/li li" data-ofbid="d197111e83__20250123155221">
<p class="- topic/p p" data-ofbid="d197111e85__20250123155221"><span class="+ topic/keyword pr-d/parmname keyword parmname">pr_dbg()</span><span class="+ topic/keyword pr-d/parmname keyword parmname">dev_dbg()</span> 调试信息会被编译。</p>
<div class="- topic/p p" id="rtc_debug_guide__p_wvf_n3w_mdc" data-ofbid="rtc_debug_guide__p_wvf_n3w_mdc">在系统运行时,如果要打印 <span class="+ topic/keyword pr-d/parmname keyword parmname">pr_dbg()</span>
<span class="+ topic/keyword pr-d/parmname keyword parmname">dev_dbg()</span> 信息,还需要调整 <span class="+ topic/keyword pr-d/parmname keyword parmname">loglevel</span>
8可以通过以下两种方式实现<ul class="- topic/ul ul" id="rtc_debug_guide__ol_vcp_mss_c1c" data-ofbid="rtc_debug_guide__ol_vcp_mss_c1c">
<li class="- topic/li li" data-ofbid="d197111e106__20250123155221">
<p class="- topic/p p" data-ofbid="d197111e108__20250123155221"><span class="+ topic/ph sw-d/filepath ph filepath">board.dts</span> 中修改
<span class="+ topic/keyword pr-d/parmname keyword parmname">bootargs</span>,增加
<span class="+ topic/keyword pr-d/parmname keyword parmname">“loglevel=8”</span></p>
</li>
<li class="- topic/li li" data-ofbid="d197111e120__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e122__20250123155221">在板子启动到 Linux Shell
后,执行下列命令:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__pre_wcp_mss_c1c" data-ofbid="rtc_debug_guide__pre_wcp_mss_c1c"><code>echo8 &gt; /proc/sys/kernel/printk</code></pre></div>
</li>
</ul></div>
</li>
</ul></div>
</li>
</ol>
</section>
<section class="- topic/section section" id="rtc_debug_guide__section_sbx_xc5_mdc" data-ofbid="rtc_debug_guide__section_sbx_xc5_mdc"><h2 class="- topic/title title sectiontitle">Sysfs 节点</h2>
<div class="- topic/p p" data-ofbid="d197111e139__20250123155221">Linux 内核原生提供一些 RTC 的 Sysfs 节点,可以用来获取(只读)时间、范围等信息。<ol class="- topic/ol ol" data-ofbid="d197111e141__20250123155221">
<li class="- topic/li li" id="rtc_debug_guide__li_sysfs_status" data-ofbid="rtc_debug_guide__li_sysfs_status"><strong class="+ topic/ph hi-d/b ph b">状态信息</strong><div class="- topic/p p" data-ofbid="d197111e146__20250123155221">
<ol class="- topic/ol ol" type="a" id="rtc_debug_guide__ol_vtv_3kz_sdc" data-ofbid="rtc_debug_guide__ol_vtv_3kz_sdc">
<li class="- topic/li li" data-ofbid="d197111e150__20250123155221"><span class="+ topic/ph sw-d/filepath ph filepath">/sys/class/rtc/</span> 目录中查找系统中的 RTC
设备:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_m2y_wss_c1c" data-ofbid="rtc_debug_guide__codeblock_m2y_wss_c1c"><code>ls /sys/class/rtc/rtc0/</code></pre><div class="- topic/p p" data-ofbid="d197111e157__20250123155221">输出示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_prr_jkz_sdc" data-ofbid="rtc_debug_guide__codeblock_prr_jkz_sdc"><code>date hctosys range time
dev max_user_freq since_epoch uevent
device name subsystem</code></pre></div></li>
<li class="- topic/li li" data-ofbid="d197111e162__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e164__20250123155221">选择一个 RTC 设备并进入其目录:<ul class="- topic/ul ul" id="rtc_debug_guide__ul_gtf_pkz_sdc" data-ofbid="rtc_debug_guide__ul_gtf_pkz_sdc">
<li class="- topic/li li" data-ofbid="d197111e168__20250123155221">示例 1查看 <code class="+ topic/ph pr-d/codeph ph codeph">time</code>
信息<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_vwb_kkz_sdc" data-ofbid="rtc_debug_guide__codeblock_vwb_kkz_sdc"><code>cat /sys/class/rtc/rtc0/time</code></pre><div class="- topic/p p" data-ofbid="d197111e175__20250123155221">输出示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_qv3_4kz_sdc" data-ofbid="rtc_debug_guide__codeblock_qv3_4kz_sdc"><code><span class="hl-number">00</span>:<span class="hl-number">00</span>:<span class="hl-number">00</span></code></pre></div></li>
<li class="- topic/li li" data-ofbid="d197111e180__20250123155221">示例 2查看 <code class="+ topic/ph pr-d/codeph ph codeph">date</code>
信息:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_sbs_4kz_sdc" data-ofbid="rtc_debug_guide__codeblock_sbs_4kz_sdc"><code>cat /sys/class/rtc/rtc0/date</code></pre><div class="- topic/p p" data-ofbid="d197111e187__20250123155221">输出示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_c3x_rkz_sdc" data-ofbid="rtc_debug_guide__codeblock_c3x_rkz_sdc"><code><span class="hl-number">1970</span>-<span class="hl-number">01</span>-<span class="hl-number">01</span></code></pre></div></li>
</ul></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e194__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e196__20250123155221">在 RTC 驱动初始化成功后,会在 Sysfs 中注册生成一个 <code class="+ topic/ph pr-d/codeph ph codeph">status</code>
节点,其中打印了当前的 RTC 配置及状态信息。例如查看
<span class="+ topic/ph sw-d/filepath ph filepath">/sys/devices/platform/soc/19030000.rtc</span>
目录中的状态信息:<ol class="- topic/ol ol" type="i" id="rtc_debug_guide__ol_lx1_clz_sdc" data-ofbid="rtc_debug_guide__ol_lx1_clz_sdc">
<li class="- topic/li li" data-ofbid="d197111e206__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e208__20250123155221">进入
<span class="+ topic/ph sw-d/filepath ph filepath">/sys/devices/platform/soc/19030000.rtc/</span>
目录:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_tgr_dlz_sdc" data-ofbid="rtc_debug_guide__codeblock_tgr_dlz_sdc"><code>cd /sys/devices/platform/soc/<span class="hl-number">19030000.</span>rtc/</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e219__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e221__20250123155221">执行 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">cat status</span>
命令查看状态信息,示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_trp_h4y_c1c" data-ofbid="rtc_debug_guide__codeblock_trp_h4y_c1c"><code>In RTC V1.<span class="hl-number">00</span>:
Module Enable: <span class="hl-number">1</span>
Alarm Enable: <span class="hl-number">0</span>, Output alarm IO: <span class="hl-number">2</span>/<span class="hl-number">1</span>, Output <span class="hl-number">32</span>K: <span class="hl-number">0</span>
Clock rate: <span class="hl-number">32787</span>, Driver: <span class="hl-number">13</span>
Calibration Slow, Value: -<span class="hl-number">608</span></code></pre></div>
</li>
</ol></div>
</li>
</ol>
</div></li>
<li class="- topic/li li" id="rtc_debug_guide__li_sysfs_drivecap_scan" data-ofbid="rtc_debug_guide__li_sysfs_drivecap_scan"><strong class="+ topic/ph hi-d/b ph b">驱动能力扫描</strong><p class="- topic/p p" data-ofbid="d197111e238__20250123155221">为了节省功耗,可以调低 RTC V1.0 的 32K
时钟驱动能力,驱动力可调范围为 [0, 15],值越大功耗越大。</p><div class="- topic/p p" data-ofbid="d197111e240__20250123155221">RTC 驱动提供了一个 Sysfs 节点
<code class="+ topic/ph pr-d/codeph ph codeph">driver_capability</code>,方便用户扫描出最适合的驱动力值。在 RTC
驱动初始化成功后:<ol class="- topic/ol ol" type="a" id="rtc_debug_guide__ol_o3d_llz_sdc" data-ofbid="rtc_debug_guide__ol_o3d_llz_sdc">
<li class="- topic/li li" data-ofbid="d197111e247__20250123155221">进入设备 Sysfs 目录,例如
<span class="+ topic/ph sw-d/filepath ph filepath">/sys/devices/platform/soc/19030000.rtc/</span><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_rfn_mlz_sdc" data-ofbid="rtc_debug_guide__codeblock_rfn_mlz_sdc"><code>cd /sys/devices/platform/soc/<span class="hl-number">19030000.</span>rtc/</code></pre></li>
<li class="- topic/li li" data-ofbid="d197111e255__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e257__20250123155221">执行下列命令,读取驱动力节点信息:<div class="- topic/note note note note_note" id="rtc_debug_guide__note_zd1_zss_c1c" data-ofbid="rtc_debug_guide__note_zd1_zss_c1c"><span class="note__title">注:</span> <div class="note__body">
<p class="- topic/p p" data-ofbid="d197111e261__20250123155221">驱动力扫描的整个过程大约需要 16 秒。</p>
</div></div><pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_imc_plz_sdc" data-ofbid="rtc_debug_guide__codeblock_imc_plz_sdc"><code>cat driver_capability</code></pre></div>
<div class="- topic/p p" data-ofbid="d197111e267__20250123155221">输出示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__pre_bdp_mss_c1c" data-ofbid="rtc_debug_guide__pre_bdp_mss_c1c"><code>[<span class="hl-number">95.755513</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">0</span> is OK
[<span class="hl-number">97.835482</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">1</span> is OK
[<span class="hl-number">99.915447</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">2</span> is OK
[<span class="hl-number">101.995471</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">3</span> is OK
[<span class="hl-number">104.075494</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">4</span> is OK
[<span class="hl-number">106.155478</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">5</span> is OK
[<span class="hl-number">108.235529</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">6</span> is OK
[<span class="hl-number">110.315497</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">7</span> is OK
[<span class="hl-number">112.395507</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">8</span> is OK
[<span class="hl-number">114.475539</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">9</span> is OK
[<span class="hl-number">116.555492</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">10</span> is OK
[<span class="hl-number">118.635732</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">11</span> is OK
[<span class="hl-number">120.715503</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">12</span> is OK
[<span class="hl-number">122.795466</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">13</span> is OK
[<span class="hl-number">124.875483</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">14</span> is OK
[<span class="hl-number">126.955511</span>] <span class="hl-number">32</span>K-clk driver <span class="hl-number">15</span> is OK
The status of RTC driver:
Driver <span class="hl-number">0123456789101112131415</span>
Status OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e273__20250123155221">
<p class="- topic/p p" data-ofbid="d197111e275__20250123155221">从扫描结果中,选取一个标注 “OK” 的值,并将其配置到
<span class="+ topic/keyword pr-d/parmname keyword parmname">:ref:`ref_to_rtc_dts`</span>
</p>
</li>
</ol></div></li>
</ol></div>
</section>
<section class="- topic/section section" id="rtc_debug_guide__section_cnr_4c5_mdc" data-ofbid="rtc_debug_guide__section_cnr_4c5_mdc"><h2 class="- topic/title title sectiontitle">hwclock 命令</h2>
<div class="- topic/p p" data-ofbid="d197111e292__20250123155221">Busybox 源码自带一个 <code class="+ topic/ph pr-d/codeph ph codeph">hwclock</code> 工具,用来读取和设置 RTC 时间。用法如下:<ul class="- topic/ul ul" id="rtc_debug_guide__ul_jkd_dmz_sdc" data-ofbid="rtc_debug_guide__ul_jkd_dmz_sdc">
<li class="- topic/li li" data-ofbid="d197111e299__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e301__20250123155221">读取当前 RTC
时间(不加任何参数时就默认是读取):<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_fm2_2mz_sdc" data-ofbid="rtc_debug_guide__codeblock_fm2_2mz_sdc"><code>hwclock -r</code></pre></div>
<div class="- topic/p p" data-ofbid="d197111e306__20250123155221">输出示例如下:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__pre_sxs_bts_c1c" data-ofbid="rtc_debug_guide__pre_sxs_bts_c1c"><code>Thu Jan <span class="hl-number">100</span>:<span class="hl-number">00</span>:<span class="hl-number">00</span> <span class="hl-number">19700.000000</span> seconds</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e312__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e314__20250123155221">读取当前 RTC
时间,并加上时区校准:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_cg1_gmz_sdc" data-ofbid="rtc_debug_guide__codeblock_cg1_gmz_sdc"><code>hwclock -ru</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e320__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e322__20250123155221">将当前的系统时间同步设置到
RTC<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_rbw_gmz_sdc" data-ofbid="rtc_debug_guide__codeblock_rbw_gmz_sdc"><code>hwclock -w</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e328__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e330__20250123155221">将当前的系统时间减去时区值,并同步设置到
RTC<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_xkz_3mz_sdc" data-ofbid="rtc_debug_guide__codeblock_xkz_3mz_sdc"><code>hwclock -wu</code></pre></div>
</li>
<li class="- topic/li li" data-ofbid="d197111e336__20250123155221">
<div class="- topic/p p" data-ofbid="d197111e338__20250123155221">将 RTC
时间同步到系统时间:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="rtc_debug_guide__codeblock_q3h_fmz_sdc" data-ofbid="rtc_debug_guide__codeblock_q3h_fmz_sdc"><code>hwclock -s </code></pre></div>
</li>
</ul></div>
</section>
</div>
</article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#rtc_debug_guide__section_qnm_1d5_mdc" data-tocid="rtc_debug_guide__section_qnm_1d5_mdc">打开调试开关</a></div></li><li class="section-item"><div class="section-title"><a href="#rtc_debug_guide__section_sbx_xc5_mdc" data-tocid="rtc_debug_guide__section_sbx_xc5_mdc">Sysfs 节点</a></div></li><li class="section-item"><div class="section-title"><a href="#rtc_debug_guide__section_cnr_4c5_mdc" data-tocid="rtc_debug_guide__section_cnr_4c5_mdc">hwclock 命令</a></div></li></ul></div>
</div>
</nav>
</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-23
</div>
</div>
</div>
</footer>
<button id="go2top" class="d-print-none" title="返回顶部">
<span class="oxy-icon oxy-icon-up"></span>
</button>
<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>