tinyusb/0.4/group__group__hal.html
2014-03-27 17:27:26 +07:00

187 lines
9.9 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>tinyusb: Hardware Abtract Layer (HAL)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">tinyusb
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__hal.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Hardware Abtract Layer (HAL)<div class="ingroups"><a class="el" href="group__group__mcu.html">Supported MCU</a></div></div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga6dd4b1870730acb523b5fcb6abcb9e42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___group___error.html#ga225612897c510054ef4026586562f716">tusb_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal.html#ga6dd4b1870730acb523b5fcb6abcb9e42">hal_init</a> (void)</td></tr>
<tr class="memdesc:ga6dd4b1870730acb523b5fcb6abcb9e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize USB controller hardware. <a href="#ga6dd4b1870730acb523b5fcb6abcb9e42">More...</a><br/></td></tr>
<tr class="separator:ga6dd4b1870730acb523b5fcb6abcb9e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaceffced233f2187e1ccada79e9393d9f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal.html#gaceffced233f2187e1ccada79e9393d9f">hal_interrupt_enable</a> (uint8_t coreid) <a class="el" href="group___group___i_a_r.html#ga18a61fcb06b815274b12b7f626993ac6">ATTR_ALWAYS_INLINE</a></td></tr>
<tr class="memdesc:gaceffced233f2187e1ccada79e9393d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable USB Interrupt on a specific USB Controller. <a href="#gaceffced233f2187e1ccada79e9393d9f">More...</a><br/></td></tr>
<tr class="separator:gaceffced233f2187e1ccada79e9393d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7abf5bbc4d2c1821cb812d61b47e680c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__hal.html#ga7abf5bbc4d2c1821cb812d61b47e680c">hal_interrupt_disable</a> (uint8_t coreid) <a class="el" href="group___group___i_a_r.html#ga18a61fcb06b815274b12b7f626993ac6">ATTR_ALWAYS_INLINE</a></td></tr>
<tr class="memdesc:ga7abf5bbc4d2c1821cb812d61b47e680c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable USB Interrupt on a specific USB Controller. <a href="#ga7abf5bbc4d2c1821cb812d61b47e680c">More...</a><br/></td></tr>
<tr class="separator:ga7abf5bbc4d2c1821cb812d61b47e680c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c547e6638c0003a5a160ea0b1a7383d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1c547e6638c0003a5a160ea0b1a7383d"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>hal_debugger_is_attached</b> (void) <a class="el" href="group___group___func_attr.html#ga477faefde32bfd89d5b5b40d70b1a998">ATTR_PURE</a> <a class="el" href="group___group___i_a_r.html#ga18a61fcb06b815274b12b7f626993ac6">ATTR_ALWAYS_INLINE</a></td></tr>
<tr class="separator:ga1c547e6638c0003a5a160ea0b1a7383d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga453b01ce7b42a5b72b1fb34845e30f1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga453b01ce7b42a5b72b1fb34845e30f1b"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>hal_debugger_breakpoint</b> (void) <a class="el" href="group___group___i_a_r.html#ga18a61fcb06b815274b12b7f626993ac6">ATTR_ALWAYS_INLINE</a></td></tr>
<tr class="separator:ga453b01ce7b42a5b72b1fb34845e30f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Hardware Abstraction Layer (HAL) is an abstraction layer, between the physical hardware and the tinyusb stack. Its function is to hide differences in hardware from most of MCUs, so that most of the stack code does not need to be changed to run on systems with a different MCU. HAL are sets of routines that emulate some platform-specific details, giving programs direct access to the hardware resources. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga6dd4b1870730acb523b5fcb6abcb9e42"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group___group___error.html#ga225612897c510054ef4026586562f716">tusb_error_t</a> hal_init </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize USB controller hardware. </p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group___group___error.html#ga225612897c510054ef4026586562f716">tusb_error_t</a> type to indicate success or error condition. </dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is invoked by <a class="el" href="group__group__application__api.html#gae5e5337c5ac56048ee326db2121f415e">tusb_init</a> as part of the initialization. </dd></dl>
</div>
</div>
<a class="anchor" id="ga7abf5bbc4d2c1821cb812d61b47e680c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void hal_interrupt_disable </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>coreid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Disable USB Interrupt on a specific USB Controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">coreid</td><td>is a zero-based index to identify USB controller's ID </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for those MCUs. </dd></dl>
</div>
</div>
<a class="anchor" id="gaceffced233f2187e1ccada79e9393d9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void hal_interrupt_enable </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>coreid</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable USB Interrupt on a specific USB Controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">coreid</td><td>is a zero-based index to identify USB controller's ID </td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Some MCUs such as NXP LPC43xx has multiple USB controllers. It is necessary to know which USB controller for those MCUs. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated on Wed Mar 26 2014 16:23:19 for tinyusb by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
</ul>
</div>
</body>
</html>