gnuk/ChibiOS_2.0.6/docs/html/group___i_o.html

133 lines
7.7 KiB
HTML
Raw Normal View History

2010-08-10 03:11:02 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: HAL</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
2010-11-22 05:53:37 +00:00
<!-- Generated by Doxygen 1.7.1 -->
2010-08-10 03:11:02 +00:00
<div class="navigation" id="top">
<div class="tabs">
2010-11-22 05:53:37 +00:00
<ul class="tablist">
2010-08-10 03:11:02 +00:00
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
2010-11-22 05:53:37 +00:00
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> </div>
<div class="headertitle">
<h1>HAL</h1> </div>
</div>
2010-08-10 03:11:02 +00:00
<div class="contents">
2010-11-22 05:53:37 +00:00
2010-08-10 03:11:02 +00:00
<p>Hardware Abstraction Layer.
<a href="#_details">More...</a></p>
<p><div class="dynheader">
Collaboration diagram for HAL:</div>
2010-11-22 05:53:37 +00:00
<div class="dyncontent">
<center><table><tr><td><img src="group___i_o.png" border="0" alt="" usemap="#group______i__o"/>
<map name="group______i__o" id="group______i__o">
<area shape="rect" id="node1" href="group___c_a_n.html" title="Generic CAN Driver." alt="" coords="119,5,193,32"/> <area shape="rect" id="node2" href="group___m_m_c___s_p_i.html" title="Generic MMC driver." alt="" coords="96,56,216,83"/> <area shape="rect" id="node4" href="group___h_a_l.html" title="Hardware Abstraction Layer." alt="" coords="119,107,193,133"/> <area shape="rect" id="node5" href="group___s_p_i.html" title="Generic SPI Driver." alt="" coords="121,157,191,184"/> <area shape="rect" id="node6" href="group___p_a_l.html" title="I/O Ports Abstraction Layer." alt="" coords="119,208,193,235"/> <area shape="rect" id="node7" href="group___m_a_c.html" title="Generic MAC driver." alt="" coords="117,259,195,285"/> <area shape="rect" id="node8" href="group___a_d_c.html" title="Generic ADC Driver." alt="" coords="119,309,193,336"/> <area shape="rect" id="node9" href="group___s_e_r_i_a_l.html" title="Generic Serial Driver." alt="" coords="116,360,196,387"/> <area shape="rect" id="node10" href="group___p_w_m.html" title="Generic PWM Driver." alt="" coords="117,411,195,437"/> </map>
</td></tr></table></center>
2010-08-10 03:11:02 +00:00
</div>
</p>
<hr/><a name="_details"></a><h2>Description</h2>
<p>Hardware Abstraction Layer. </p>
<p>Under ChibiOS/RT the set of the various device driver interfaces is called the HAL subsystem: Hardware Abstraction Layer.<br/>
A device driver is usually split in two layers:</p>
<ul>
<li>High Level Device Driver (<b>HLD</b>). This layer contains the definitions of the driver's APIs and the platform independent part of the driver.<br/>
An HLD is composed by two files:<ul>
<li>&lt;driver&gt;.c, the HLD implementation file. This file must be included in the Makefile in order to use the driver.</li>
<li>&lt;driver&gt;.h, the HLD header file. This file is implicitly included by the HAL header file <code><a class="el" href="hal_8h.html" title="HAL subsystem header.">hal.h</a></code>.</li>
</ul>
</li>
<li>Low Level Device Driver (<b>LLD</b>). This layer contains the platform dependent part of the driver.<br/>
A LLD is composed by two files:<ul>
<li>&lt;driver&gt;_lld.c, the LLD implementation file. This file must be included in the Makefile in order to use the driver.</li>
<li>&lt;driver&gt;_lld.h, the LLD header file. This file is implicitly included by the HLD header file.</li>
</ul>
The LLD may be not present in those drivers that do not access the hardware directly but through other device drivers, as example the <a class="el" href="group___m_m_c___s_p_i.html">MMC over SPI Driver</a> driver uses the <a class="el" href="group___s_p_i.html">SPI Driver</a> and <a class="el" href="group___p_a_l.html">PAL Driver</a> drivers in order to implement its functionalities.</li>
</ul>
<h2>Available Device Drivers</h2>
<p>The I/O subsystem currently includes support for:</p>
<ul>
<li><a class="el" href="group___h_a_l.html">HAL Driver</a>.</li>
<li><a class="el" href="group___p_a_l.html">PAL Driver</a>.</li>
<li><a class="el" href="group___s_e_r_i_a_l.html">Serial Driver</a>.</li>
<li><a class="el" href="group___a_d_c.html">ADC Driver</a>.</li>
<li><a class="el" href="group___c_a_n.html">CAN Driver</a>.</li>
<li><a class="el" href="group___m_a_c.html">MAC Driver</a>.</li>
<li><a class="el" href="group___m_m_c___s_p_i.html">MMC over SPI Driver</a>.</li>
<li><a class="el" href="group___s_p_i.html">SPI Driver</a>.</li>
</ul>
2010-11-22 05:53:37 +00:00
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
2010-08-10 03:11:02 +00:00
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___h_a_l.html">HAL Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Hardware Abstraction Layer. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_a_l.html">PAL Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>I/O Ports Abstraction Layer. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_e_r_i_a_l.html">Serial Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic Serial Driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_i.html">SPI Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic SPI Driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___a_d_c.html">ADC Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic ADC Driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___c_a_n.html">CAN Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic CAN Driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___p_w_m.html">PWM Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic PWM Driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_a_c.html">MAC Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic MAC driver. </p>
<br/></td></tr>
</p>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_m_c___s_p_i.html">MMC over SPI Driver</a></td></tr>
<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Generic MMC driver. </p>
<br/></td></tr>
</p>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>
2010-11-22 05:53:37 +00:00
Generated on Sun Oct 24 2010 09:40:46 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.1</small></address>
2010-08-10 03:11:02 +00:00
</body>
</html>