blob: a73075ac7282dbb656da559af5f707b1cb42eec1 [file] [log] [blame]
<!--
Documentation/_templates/layout.html
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership. The
ASF licenses this file to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance with the
License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
-->
<!DOCTYPE html>
<html class="writer-html5" lang="en">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>RTC Drivers &mdash; NuttX latest documentation</title>
<link rel="stylesheet" type="text/css" href="../../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../../_static/css/theme.css" />
<link rel="stylesheet" type="text/css" href="../../../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../../../_static/sphinx_collapse.css" />
<link rel="stylesheet" type="text/css" href="../../../../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../../../../_static/custom.css" />
<link rel="shortcut icon" href="../../../../_static/favicon.ico"/>
<script src="../../../../_static/jquery.js"></script>
<script src="../../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script data-url_root="../../../../" id="documentation_options" src="../../../../_static/documentation_options.js"></script>
<script src="../../../../_static/doctools.js"></script>
<script src="../../../../_static/sphinx_highlight.js"></script>
<script src="../../../../_static/clipboard.min.js"></script>
<script src="../../../../_static/copybutton.js"></script>
<script src="../../../../_static/design-tabs.js"></script>
<script src="../../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../../genindex.html" />
<link rel="search" title="Search" href="../../../../search.html" />
<link rel="next" title="Capture" href="capture.html" />
<link rel="prev" title="Watchdog Timer Drivers" href="watchdog.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="../../../../index.html" class="icon icon-home"> NuttX
</a>
<!-- this version selector is quite ugly, should be probably replaced by something
more modern -->
<div class="version-selector">
<select onchange="javascript:location.href = this.value;">
<option value="../../../../../latest" selected="selected">latest</option>
<option value="../../../../../10.0.0" >10.0.0</option>
<option value="../../../../../10.0.1" >10.0.1</option>
<option value="../../../../../10.1.0" >10.1.0</option>
<option value="../../../../../10.2.0" >10.2.0</option>
<option value="../../../../../10.3.0" >10.3.0</option>
<option value="../../../../../11.0.0" >11.0.0</option>
<option value="../../../../../12.0.0" >12.0.0</option>
<option value="../../../../../12.1.0" >12.1.0</option>
<option value="../../../../../12.2.0" >12.2.0</option>
<option value="../../../../../12.2.1" >12.2.1</option>
<option value="../../../../../12.3.0" >12.3.0</option>
<option value="../../../../../12.4.0" >12.4.0</option>
<option value="../../../../../12.5.0" >12.5.0</option>
<option value="../../../../../12.5.1" >12.5.1</option>
<option value="../../../../../12.6.0" >12.6.0</option>
<option value="../../../../../12.7.0" >12.7.0</option>
<option value="../../../../../12.8.0" >12.8.0</option>
<option value="../../../../../12.9.0" >12.9.0</option>
<option value="../../../../../12.10.0" >12.10.0</option>
<option value="../../../../../12.11.0" >12.11.0</option>
</select>
</div>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../../index.html">Home</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../introduction/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../quickstart/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../contributing/index.html">Contributing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../platforms/index.html">Supported Platforms</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../../../index.html">OS Components</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../../../binfmt.html">Binary Loader</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../../index.html">Device Drivers</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="../index.html">Character Device Drivers</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="../1wire.html">One Wire Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../analog/index.html">Analog (ADC/DAC) Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../bch.html">Block Driver to Character Driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="../can.html">CAN Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../contactless.html">Constactless Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../crypto/index.html">Crypto Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../efuse.html">EFUSE Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../i2s.html">I2S Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../input/index.html">Input Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../ipcc.html">IPCC (Inter Processor Communication Controller) Driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="../leds/index.html">LEDS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../loop.html">Loop Device</a></li>
<li class="toctree-l4"><a class="reference internal" href="../math.html">Math Acceleration Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../modem.html">Modem Device</a></li>
<li class="toctree-l4"><a class="reference internal" href="../motor/index.html">Motor Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../note.html">Note Driver Interface</a></li>
<li class="toctree-l4"><a class="reference internal" href="../nullzero.html"><code class="docutils literal notranslate"><span class="pre">dev_null.c</span></code> and <code class="docutils literal notranslate"><span class="pre">dev_zero.c</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="../quadrature.html">Quadrature Encoder Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../rc.html">Remote Control Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../rf.html">RF Devices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../serial.html">Serial Device Drivers</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="index.html">Timers Drivers</a><ul class="current">
<li class="toctree-l5"><a class="reference internal" href="timer.html">Timer Drivers</a></li>
<li class="toctree-l5"><a class="reference internal" href="pwm.html">PWM Drivers</a></li>
<li class="toctree-l5"><a class="reference internal" href="watchdog.html">Watchdog Timer Drivers</a></li>
<li class="toctree-l5 current"><a class="current reference internal" href="#">RTC Drivers</a></li>
<li class="toctree-l5"><a class="reference internal" href="capture.html">Capture</a></li>
</ul>
</li>
<li class="toctree-l4"><a class="reference internal" href="../touchscreen.html">Touchscreen Device Drivers</a></li>
<li class="toctree-l4"><a class="reference internal" href="../wireless/index.html">Wireless character drivers</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../../block/index.html">Block Device Drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../special/index.html">Specialized Device Drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../thermal/index.html">Thermal Framework</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../index.html#lower-half-and-upper-half">Lower-half and upper-half</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../index.html#subdirectories-of-nuttx-drivers">Subdirectories of <code class="docutils literal notranslate"><span class="pre">nuttx/drivers</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="../../index.html#skeleton-files">Skeleton Files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../../index.html#drivers-early-initialization">Drivers Early Initialization</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../../../nxflat.html">NXFLAT</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../nxgraphics/index.html">NX Graphics Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../paging.html">On-Demand Paging</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../audio/index.html">Audio Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../filesystem/index.html">NuttX File System</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../libs/index.html">NuttX libraries</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../net/index.html">Network Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../mm/index.html">Memory Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../syscall.html">Syscall Layer</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../tools/index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../arch/index.html">Architecture-Specific Code</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../boards.html">Boards Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../cmake.html">CMake Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../openamp.html">OpenAMP Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../video.html">Video Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../crypto.html">Crypto API Subsystem</a></li>
<li class="toctree-l2"><a class="reference internal" href="../../../wireless.html">Wireless Subsystem</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../../../applications/index.html">Applications</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../implementation/index.html">Implementation Details</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../reference/index.html">API Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../faq/index.html">FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../debugging/index.html">Debugging</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../guides/index.html">Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../standards/index.html">Standards</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../logos/index.html">NuttX Logos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../../../_tags/tagsindex.html">Tags</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../../../../index.html">NuttX</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../../index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../../index.html">OS Components</a></li>
<li class="breadcrumb-item"><a href="../../index.html">Device Drivers</a></li>
<li class="breadcrumb-item"><a href="../index.html">Character Device Drivers</a></li>
<li class="breadcrumb-item"><a href="index.html">Timers Drivers</a></li>
<li class="breadcrumb-item active">RTC Drivers</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/nuttx/blob/master/Documentation/components/drivers/character/timers/rtc.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="rtc-drivers">
<h1>RTC Drivers<a class="headerlink" href="#rtc-drivers" title="Permalink to this heading"></a></h1>
<p>NuttX supports a low-level, two-part RealTime Clock (RTC) driver.</p>
<ol class="arabic simple">
<li><p>An “upper half”, generic driver that provides the common RTC
interface to application level code, and</p></li>
<li><p>A “lower half”, platform-specific driver that implements the
low-level timer controls to implement the RTC functionality.</p></li>
</ol>
<p>Files supporting the RTC driver can be found in the following
locations:</p>
<ul class="simple">
<li><p><strong>Interface Definition</strong>. The header file for the NuttX RTC
driver reside at <code class="docutils literal notranslate"><span class="pre">include/nuttx/timers/rtc.h</span></code>. This header
file includes both the application level interface to the RTC
driver as well as the interface between the “upper half” and
“lower half” drivers. The RTC driver uses a standard character
driver framework.</p></li>
<li><p><strong>“Upper Half” Driver</strong>. The generic, “upper half” RTC driver
resides at <code class="docutils literal notranslate"><span class="pre">drivers/timers/rtc.c</span></code>.</p></li>
<li><p><strong>“Lower Half” Drivers</strong>. Platform-specific RTC drivers reside
in <code class="docutils literal notranslate"><span class="pre">arch/&lt;architecture&gt;/src/&lt;hardware&gt;</span></code>
directory for the specific processor <code class="docutils literal notranslate"><span class="pre">&lt;architecture&gt;</span></code> and for
the specific <code class="docutils literal notranslate"><span class="pre">&lt;chip&gt;</span></code> RTC peripheral devices.</p></li>
</ul>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="watchdog.html" class="btn btn-neutral float-left" title="Watchdog Timer Drivers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="capture.html" class="btn btn-neutral float-right" title="Capture" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2023, The Apache Software Foundation.</p>
</div>
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>