<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><driver>.c, the HLD implementation file. This file must be included in the Makefile in order to use the driver.</li>
<li><driver>.h, the HLD header file. This file is implicitly included by the HAL header file <code><aclass="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><driver>_lld.c, the LLD implementation file. This file must be included in the Makefile in order to use the driver.</li>
<li><driver>_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 <aclass="el"href="group___m_m_c___s_p_i.html">MMC over SPI Driver</a> driver uses the <aclass="el"href="group___s_p_i.html">SPI Driver</a> and <aclass="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>
<p><tr><tdclass="mdescLeft"> </td><tdclass="mdescRight"><p>Generic MAC driver. </p>
<br/></td></tr>
</p>
<tr><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="group___m_m_c___s_p_i.html">MMC over SPI Driver</a></td></tr>
Generated on Sun Nov 28 2010 14:09:57 for ChibiOS/RT by <ahref="http://www.doxygen.org/index.html"><imgsrc="doxygen.png"alt="doxygen"align="middle"border="0"></a> 1.7.1</small></address>