| <!-- HTML header for doxygen 1.8.6--> |
| <!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="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/search.js"></script> |
| <script type="text/javascript"> |
| $(document).ready(function() { searchBox.OnSelectItem(0); }); |
| </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 width="100%" cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td style="padding-left: 0.5em;"> |
| <div id="projectname">tinyusb |
|  <span id="projectnumber">0.4</span> |
| </div> |
| </td> |
| <td align="right"> |
| <a href="https://pledgie.com/campaigns/24694"><img border="0" src="https://pledgie.com/campaigns/24694.png?skin_name=chrome" alt="Click here to lend your support to tinyusb donation and make a donation at pledgie.com"></a> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.6 --> |
| <script type="text/javascript"> |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| </script> |
| <div id="navrow1" class="tabs"> |
| <ul class="tablist"> |
| <li><a href="index.html"><span>Main Page</span></a></li> |
| <li><a href="pages.html"><span>Related Pages</span></a></li> |
| <li><a href="modules.html"><span>Modules</span></a></li> |
| <li><a href="annotated.html"><span>Data Structures</span></a></li> |
| <li><a href="files.html"><span>Files</span></a></li> |
| <li> |
| <div id="MSearchBox" class="MSearchBoxInactive"> |
| <span class="left"> |
| <img id="MSearchSelect" src="search/mag_sel.png" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| alt=""/> |
| <input type="text" id="MSearchField" value="Search" accesskey="S" |
| onfocus="searchBox.OnSearchFieldFocus(true)" |
| onblur="searchBox.OnSearchFieldFocus(false)" |
| onkeyup="searchBox.OnSearchFieldChange(event)"/> |
| </span><span class="right"> |
| <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> |
| </span> |
| </div> |
| </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"> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Pages</a></div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <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> </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"> </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"> </td></tr> |
| <tr class="memitem:gaceffced233f2187e1ccada79e9393d9f"><td class="memItemLeft" align="right" valign="top">static void </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"> </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"> </td></tr> |
| <tr class="memitem:ga7abf5bbc4d2c1821cb812d61b47e680c"><td class="memItemLeft" align="right" valign="top">static void </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"> </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"> </td></tr> |
| <tr class="memitem:ga1c547e6638c0003a5a160ea0b1a7383d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1c547e6638c0003a5a160ea0b1a7383d"></a> |
| static bool </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"> </td></tr> |
| <tr class="memitem:ga453b01ce7b42a5b72b1fb34845e30f1b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga453b01ce7b42a5b72b1fb34845e30f1b"></a> |
| static void </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"> </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 </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> |
| |
| <p>Definition at line <a class="el" href="hal__lpc11uxx_8c_source.html#l00044">44</a> of file <a class="el" href="hal__lpc11uxx_8c_source.html">hal_lpc11uxx.c</a>.</p> |
| |
| </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 </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 </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 Mon Mar 31 2014 16:41:53 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> |