Files
2016-08-09 18:06:35 +02:00

756 lines
58 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>Kinetis SDK v.2.0 API Reference Manual: FlexBus: External Bus Interface Driver</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" />
<link href="customdoxygen.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 id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</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&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</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__flexbus.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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</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="#files">Files</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">FlexBus: External Bus Interface Driver</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The KSDK provides a peripheral driver for the Crossbar External Bus Interface (FlexBus) block of Kinetis devices.</p>
<h1><a class="anchor" id="FBOverview"></a>
Overview</h1>
<p>A multifunction external bus interface is provided on the device with a basic functionality to interface to slave-only devices. It can be directly connected to the following asynchronous or synchronous devices with little or no additional circuitry: </p>
<ul>
<li>
External ROMs </li>
<li>
Flash memories </li>
<li>
Programmable logic devices </li>
<li>
Other simple target (slave) devices </li>
</ul>
<p>For asynchronous devices, a simple chip-select based interface can be used. The FlexBus interface has up to six general purpose chip-selects, FB_CS[5:0]. The actual number of chip selects available depends upon the device and its pin configuration.</p>
<h1><a class="anchor" id="FlexbusFunctionalOperation"></a>
FlexBus functional operation</h1>
<p>To configure the FlexBus driver, use on of the two ways to configure the <a class="el" href="group__flexbus.html#structflexbus__config__t" title="Configuration structure that the user needs to set. ">flexbus_config_t</a> structure.</p>
<ol type="1">
<li>Using the <a class="el" href="group__flexbus.html#ga0ec37222a03cfe9c1260aef231ffe073" title="Initializes the FlexBus configuration structure. ">FLEXBUS_GetDefaultConfig()</a> function.</li>
<li>Set parameters in the <a class="el" href="group__flexbus.html#structflexbus__config__t" title="Configuration structure that the user needs to set. ">flexbus_config_t</a> structure.</li>
</ol>
<p>To initialize and configure the FlexBus driver, call the <a class="el" href="group__flexbus.html#ga3e8659f17b851f7ff2d28a207e8952ee" title="Initializes and configures the FlexBus module. ">FLEXBUS_Init()</a> function and pass a pointer to the <a class="el" href="group__flexbus.html#structflexbus__config__t" title="Configuration structure that the user needs to set. ">flexbus_config_t</a> structure.</p>
<p>To De-initialize the FlexBus driver, call the <a class="el" href="group__flexbus.html#ga9ac22840e060a2e9afcd06ffc6705d75" title="De-initializes a FlexBus instance. ">FLEXBUS_Deinit()</a> function.</p>
<h1><a class="anchor" id="FlexbusExample"></a>
Typical use case and example</h1>
<p>This example shows how to write/read to external memory (MRAM) by using the FlexBus module.</p>
<div class="fragment"><div class="line"><a class="code" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> flexbusUserConfig;</div>
<div class="line"></div>
<div class="line"><a class="code" href="group__flexbus.html#ga0ec37222a03cfe9c1260aef231ffe073">FLEXBUS_GetDefaultConfig</a>(&amp;flexbusUserConfig); <span class="comment">/* Gets the default configuration. </span></div>
<div class="line"><span class="comment">/* Configure some parameters when using MRAM </span></div>
<div class="line"><span class="comment">flexbusUserConfig.waitStates = 2U; /* Wait 2 states </span></div>
<div class="line"><span class="comment">flexbusUserConfig.chipBaseAddress = MRAM_START_ADDRESS; /* MRAM address for using FlexBus </span></div>
<div class="line"><span class="comment">flexbusUserConfig.chipBaseAddressMask = 7U; /* 512 kilobytes memory size </span></div>
<div class="line"><span class="comment">FLEXBUS_Init(FB, &amp;flexbusUserConfig); /* Initializes and configures the FlexBus module </span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">/* Do something </span></div>
<div class="line"><span class="comment"></span></div>
<div class="line"><span class="comment">FLEXBUS_Deinit(FB);</span></div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:fsl__flexbus_8h"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__flexbus_8h.html">fsl_flexbus.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structflexbus__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a></td></tr>
<tr class="memdesc:structflexbus__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration structure that the user needs to set. <a href="group__flexbus.html#structflexbus__config__t">More...</a><br/></td></tr>
<tr class="separator:structflexbus__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga5db954220b00cf838e5c54a011dfb7e6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga5db954220b00cf838e5c54a011dfb7e6">flexbus_port_size_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga5db954220b00cf838e5c54a011dfb7e6a7359790d538969eb8723808f184b2bb5">kFLEXBUS_4Bytes</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga5db954220b00cf838e5c54a011dfb7e6a03cbd506e2bb49a12bba35ba8eb55350">kFLEXBUS_1Byte</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga5db954220b00cf838e5c54a011dfb7e6ad4f9d0135f10d3149c1a1b9fb9dede0c">kFLEXBUS_2Bytes</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:ga5db954220b00cf838e5c54a011dfb7e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines port size for FlexBus peripheral. <a href="group__flexbus.html#ga5db954220b00cf838e5c54a011dfb7e6">More...</a><br/></td></tr>
<tr class="separator:ga5db954220b00cf838e5c54a011dfb7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d27ede27113f182ef069739de60b6b9"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga4d27ede27113f182ef069739de60b6b9">flexbus_write_address_hold_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga4d27ede27113f182ef069739de60b6b9a418293328adc2a30dd1684309dc28be0">kFLEXBUS_Hold1Cycle</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga4d27ede27113f182ef069739de60b6b9a4b9f51e1152b1c506f6c1a00a0130ff8">kFLEXBUS_Hold2Cycles</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga4d27ede27113f182ef069739de60b6b9ad6da2f541366deaf28b5bb046b46c0ac">kFLEXBUS_Hold3Cycles</a> = 0x02U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga4d27ede27113f182ef069739de60b6b9a093c5b37a5e51a6e608d0208ef9d44ed">kFLEXBUS_Hold4Cycles</a> = 0x03U
<br/>
}</td></tr>
<tr class="memdesc:ga4d27ede27113f182ef069739de60b6b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines number of cycles to hold address and attributes for FlexBus peripheral. <a href="group__flexbus.html#ga4d27ede27113f182ef069739de60b6b9">More...</a><br/></td></tr>
<tr class="separator:ga4d27ede27113f182ef069739de60b6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f37be173d8372cad11fc7575a21b405"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga3f37be173d8372cad11fc7575a21b405">flexbus_read_address_hold_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga3f37be173d8372cad11fc7575a21b405ab797743e887c84618c402c10808244a6">kFLEXBUS_Hold1Or0Cycles</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga3f37be173d8372cad11fc7575a21b405a436f11c5301804391beb6fe36a26488a">kFLEXBUS_Hold2Or1Cycles</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga3f37be173d8372cad11fc7575a21b405a8fc69ba4a1a7010b634dae13ccf61cf8">kFLEXBUS_Hold3Or2Cycle</a> = 0x02U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga3f37be173d8372cad11fc7575a21b405afd665cd49e967683fd54c625a31da65b">kFLEXBUS_Hold4Or3Cycle</a> = 0x03U
<br/>
}</td></tr>
<tr class="memdesc:ga3f37be173d8372cad11fc7575a21b405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines number of cycles to hold address and attributes for FlexBus peripheral. <a href="group__flexbus.html#ga3f37be173d8372cad11fc7575a21b405">More...</a><br/></td></tr>
<tr class="separator:ga3f37be173d8372cad11fc7575a21b405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86a3bfc03c1c112aa79f9ff69194f876"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga86a3bfc03c1c112aa79f9ff69194f876">flexbus_address_setup_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga86a3bfc03c1c112aa79f9ff69194f876a68a6c404fc019fc98b433cedb8037f9a">kFLEXBUS_FirstRisingEdge</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga86a3bfc03c1c112aa79f9ff69194f876a7af4219ad654b3058d62bf87ed087e77">kFLEXBUS_SecondRisingEdge</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga86a3bfc03c1c112aa79f9ff69194f876a0abaa9b65ebc1cb08f6d5755e19cfa54">kFLEXBUS_ThirdRisingEdge</a> = 0x02U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga86a3bfc03c1c112aa79f9ff69194f876a1697ce16b2a44b7024afc63e132f0095">kFLEXBUS_FourthRisingEdge</a> = 0x03U
<br/>
}</td></tr>
<tr class="memdesc:ga86a3bfc03c1c112aa79f9ff69194f876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address setup for FlexBus peripheral. <a href="group__flexbus.html#ga86a3bfc03c1c112aa79f9ff69194f876">More...</a><br/></td></tr>
<tr class="separator:ga86a3bfc03c1c112aa79f9ff69194f876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ad321ff0d3bdac7f2094c7d9cdcdf3e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga6ad321ff0d3bdac7f2094c7d9cdcdf3e">flexbus_bytelane_shift_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga6ad321ff0d3bdac7f2094c7d9cdcdf3ea653f69b4069694dc9d887cc0211c0a23">kFLEXBUS_NotShifted</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga6ad321ff0d3bdac7f2094c7d9cdcdf3ea3902ac1adc9bf63cf5e40396b8027963">kFLEXBUS_Shifted</a> = 0x01U
<br/>
}</td></tr>
<tr class="memdesc:ga6ad321ff0d3bdac7f2094c7d9cdcdf3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines byte-lane shift for FlexBus peripheral. <a href="group__flexbus.html#ga6ad321ff0d3bdac7f2094c7d9cdcdf3e">More...</a><br/></td></tr>
<tr class="separator:ga6ad321ff0d3bdac7f2094c7d9cdcdf3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3e135c91c09eebfa6817348fe6ff766"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#gad3e135c91c09eebfa6817348fe6ff766">flexbus_multiplex_group1_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggad3e135c91c09eebfa6817348fe6ff766ac626c8688db4647a87483b923adbe88e">kFLEXBUS_MultiplexGroup1_FB_ALE</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggad3e135c91c09eebfa6817348fe6ff766ab636b0267cc4ff96a8bb6a8773bf484d">kFLEXBUS_MultiplexGroup1_FB_CS1</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggad3e135c91c09eebfa6817348fe6ff766a307cf15fcd5cd7d6b98afb27a7d991c3">kFLEXBUS_MultiplexGroup1_FB_TS</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:gad3e135c91c09eebfa6817348fe6ff766"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines multiplex group1 valid signals. <a href="group__flexbus.html#gad3e135c91c09eebfa6817348fe6ff766">More...</a><br/></td></tr>
<tr class="separator:gad3e135c91c09eebfa6817348fe6ff766"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae251ea203ebccb220f12d3a7937cc210"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#gae251ea203ebccb220f12d3a7937cc210">flexbus_multiplex_group2_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggae251ea203ebccb220f12d3a7937cc210a4b18a384c17f7aa2da83ca816e06d661">kFLEXBUS_MultiplexGroup2_FB_CS4</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggae251ea203ebccb220f12d3a7937cc210a5829fc499e4adcb64f5c3c67d944020a">kFLEXBUS_MultiplexGroup2_FB_TSIZ0</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggae251ea203ebccb220f12d3a7937cc210a7748396f6bf299006fa874f0ff7a9001">kFLEXBUS_MultiplexGroup2_FB_BE_31_24</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:gae251ea203ebccb220f12d3a7937cc210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines multiplex group2 valid signals. <a href="group__flexbus.html#gae251ea203ebccb220f12d3a7937cc210">More...</a><br/></td></tr>
<tr class="separator:gae251ea203ebccb220f12d3a7937cc210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d1742b7926a9680d54b66526ee43a0e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga6d1742b7926a9680d54b66526ee43a0e">flexbus_multiplex_group3_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga6d1742b7926a9680d54b66526ee43a0ea99a1372c26ae65d8afb0ae3ad76d1125">kFLEXBUS_MultiplexGroup3_FB_CS5</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga6d1742b7926a9680d54b66526ee43a0ea1e85c596581f89d05aad2abb81ab2f56">kFLEXBUS_MultiplexGroup3_FB_TSIZ1</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga6d1742b7926a9680d54b66526ee43a0ea5d19427a518714a9b2a4f5648673bd6d">kFLEXBUS_MultiplexGroup3_FB_BE_23_16</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:ga6d1742b7926a9680d54b66526ee43a0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines multiplex group3 valid signals. <a href="group__flexbus.html#ga6d1742b7926a9680d54b66526ee43a0e">More...</a><br/></td></tr>
<tr class="separator:ga6d1742b7926a9680d54b66526ee43a0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b2fc588dad8bf3d1bfb0260acd4271e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga1b2fc588dad8bf3d1bfb0260acd4271e">flexbus_multiplex_group4_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga1b2fc588dad8bf3d1bfb0260acd4271ea8243c4d33572655e8db2212e89123784">kFLEXBUS_MultiplexGroup4_FB_TBST</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga1b2fc588dad8bf3d1bfb0260acd4271ea61a263654e80f6a6d38dcb220a7c3899">kFLEXBUS_MultiplexGroup4_FB_CS2</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#gga1b2fc588dad8bf3d1bfb0260acd4271eac2b607e2f1fbf158f88743e7cd99a720">kFLEXBUS_MultiplexGroup4_FB_BE_15_8</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:ga1b2fc588dad8bf3d1bfb0260acd4271e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines multiplex group4 valid signals. <a href="group__flexbus.html#ga1b2fc588dad8bf3d1bfb0260acd4271e">More...</a><br/></td></tr>
<tr class="separator:ga1b2fc588dad8bf3d1bfb0260acd4271e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa1b00e2198c47dbf6b2baa1d8232990a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#gaa1b00e2198c47dbf6b2baa1d8232990a">flexbus_multiplex_group5_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggaa1b00e2198c47dbf6b2baa1d8232990aac6e4e85ca40984d0e704a24dc18a89eb">kFLEXBUS_MultiplexGroup5_FB_TA</a> = 0x00U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggaa1b00e2198c47dbf6b2baa1d8232990aa3bf936082781eddc6a1cee408e286041">kFLEXBUS_MultiplexGroup5_FB_CS3</a> = 0x01U,
<br/>
&#160;&#160;<a class="el" href="group__flexbus.html#ggaa1b00e2198c47dbf6b2baa1d8232990aa89a5bf6ab5e869b5766478581208f6d2">kFLEXBUS_MultiplexGroup5_FB_BE_7_0</a> = 0x02U
<br/>
}</td></tr>
<tr class="memdesc:gaa1b00e2198c47dbf6b2baa1d8232990a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines multiplex group5 valid signals. <a href="group__flexbus.html#gaa1b00e2198c47dbf6b2baa1d8232990a">More...</a><br/></td></tr>
<tr class="separator:gaa1b00e2198c47dbf6b2baa1d8232990a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:gaa71642f1a6b127488de81df15d520609"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#gaa71642f1a6b127488de81df15d520609">FSL_FLEXBUS_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td></tr>
<tr class="memdesc:gaa71642f1a6b127488de81df15d520609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version 2.0.0. <a href="#gaa71642f1a6b127488de81df15d520609">More...</a><br/></td></tr>
<tr class="separator:gaa71642f1a6b127488de81df15d520609"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
FlexBus functional operation</h2></td></tr>
<tr class="memitem:ga3e8659f17b851f7ff2d28a207e8952ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga3e8659f17b851f7ff2d28a207e8952ee">FLEXBUS_Init</a> (FB_Type *base, const <a class="el" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> *config)</td></tr>
<tr class="memdesc:ga3e8659f17b851f7ff2d28a207e8952ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes and configures the FlexBus module. <a href="#ga3e8659f17b851f7ff2d28a207e8952ee">More...</a><br/></td></tr>
<tr class="separator:ga3e8659f17b851f7ff2d28a207e8952ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ac22840e060a2e9afcd06ffc6705d75"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga9ac22840e060a2e9afcd06ffc6705d75">FLEXBUS_Deinit</a> (FB_Type *base)</td></tr>
<tr class="memdesc:ga9ac22840e060a2e9afcd06ffc6705d75"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes a FlexBus instance. <a href="#ga9ac22840e060a2e9afcd06ffc6705d75">More...</a><br/></td></tr>
<tr class="separator:ga9ac22840e060a2e9afcd06ffc6705d75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ec37222a03cfe9c1260aef231ffe073"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ga0ec37222a03cfe9c1260aef231ffe073">FLEXBUS_GetDefaultConfig</a> (<a class="el" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> *config)</td></tr>
<tr class="memdesc:ga0ec37222a03cfe9c1260aef231ffe073"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexBus configuration structure. <a href="#ga0ec37222a03cfe9c1260aef231ffe073">More...</a><br/></td></tr>
<tr class="separator:ga0ec37222a03cfe9c1260aef231ffe073"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structflexbus__config__t" id="structflexbus__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexbus_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a6c73289fe4cdd2d13de8bab5e2777414"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6c73289fe4cdd2d13de8bab5e2777414"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a6c73289fe4cdd2d13de8bab5e2777414">chip</a></td></tr>
<tr class="memdesc:a6c73289fe4cdd2d13de8bab5e2777414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip FlexBus for validation. <br/></td></tr>
<tr class="separator:a6c73289fe4cdd2d13de8bab5e2777414"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82ad9c530807c7dfd178750cefd8a4e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82ad9c530807c7dfd178750cefd8a4e9"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a82ad9c530807c7dfd178750cefd8a4e9">waitStates</a></td></tr>
<tr class="memdesc:a82ad9c530807c7dfd178750cefd8a4e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value of wait states. <br/></td></tr>
<tr class="separator:a82ad9c530807c7dfd178750cefd8a4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addf7f65c1d2e565b53f9643bff8d3dd7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="addf7f65c1d2e565b53f9643bff8d3dd7"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#addf7f65c1d2e565b53f9643bff8d3dd7">chipBaseAddress</a></td></tr>
<tr class="memdesc:addf7f65c1d2e565b53f9643bff8d3dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip base address for using FlexBus. <br/></td></tr>
<tr class="separator:addf7f65c1d2e565b53f9643bff8d3dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13ded38a6b0d84409c3b47b5c6c11038"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a13ded38a6b0d84409c3b47b5c6c11038"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a13ded38a6b0d84409c3b47b5c6c11038">chipBaseAddressMask</a></td></tr>
<tr class="memdesc:a13ded38a6b0d84409c3b47b5c6c11038"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip base address mask. <br/></td></tr>
<tr class="separator:a13ded38a6b0d84409c3b47b5c6c11038"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7478fda19f3bee35d89bf9d9e37b336a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7478fda19f3bee35d89bf9d9e37b336a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a7478fda19f3bee35d89bf9d9e37b336a">writeProtect</a></td></tr>
<tr class="memdesc:a7478fda19f3bee35d89bf9d9e37b336a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write protected. <br/></td></tr>
<tr class="separator:a7478fda19f3bee35d89bf9d9e37b336a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc502b4f4024d572ed3bea6d7ce154a2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc502b4f4024d572ed3bea6d7ce154a2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#afc502b4f4024d572ed3bea6d7ce154a2">burstWrite</a></td></tr>
<tr class="memdesc:afc502b4f4024d572ed3bea6d7ce154a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Burst-Write enable. <br/></td></tr>
<tr class="separator:afc502b4f4024d572ed3bea6d7ce154a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44082a92330eb548806a7b2d8ad52f29"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44082a92330eb548806a7b2d8ad52f29"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a44082a92330eb548806a7b2d8ad52f29">burstRead</a></td></tr>
<tr class="memdesc:a44082a92330eb548806a7b2d8ad52f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Burst-Read enable. <br/></td></tr>
<tr class="separator:a44082a92330eb548806a7b2d8ad52f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adadb328689d1d9bd6fe487ad18c1be7b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adadb328689d1d9bd6fe487ad18c1be7b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#adadb328689d1d9bd6fe487ad18c1be7b">byteEnableMode</a></td></tr>
<tr class="memdesc:adadb328689d1d9bd6fe487ad18c1be7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-enable mode support. <br/></td></tr>
<tr class="separator:adadb328689d1d9bd6fe487ad18c1be7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4b59fdfa2a8f27633046f70a730144b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4b59fdfa2a8f27633046f70a730144b"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ab4b59fdfa2a8f27633046f70a730144b">autoAcknowledge</a></td></tr>
<tr class="memdesc:ab4b59fdfa2a8f27633046f70a730144b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Auto acknowledge setting. <br/></td></tr>
<tr class="separator:ab4b59fdfa2a8f27633046f70a730144b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d673bd479ee9d6d0a2b55f5f289dfb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46d673bd479ee9d6d0a2b55f5f289dfb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a46d673bd479ee9d6d0a2b55f5f289dfb">extendTransferAddress</a></td></tr>
<tr class="memdesc:a46d673bd479ee9d6d0a2b55f5f289dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extend transfer start/extend address latch enable. <br/></td></tr>
<tr class="separator:a46d673bd479ee9d6d0a2b55f5f289dfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a141682dd0bc2614a837899a2ffb2acfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a141682dd0bc2614a837899a2ffb2acfe"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a141682dd0bc2614a837899a2ffb2acfe">secondaryWaitStates</a></td></tr>
<tr class="memdesc:a141682dd0bc2614a837899a2ffb2acfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Secondary wait states number. <br/></td></tr>
<tr class="separator:a141682dd0bc2614a837899a2ffb2acfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a080680820c5a268861810210542f9ebc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a080680820c5a268861810210542f9ebc"></a>
<a class="el" href="group__flexbus.html#ga5db954220b00cf838e5c54a011dfb7e6">flexbus_port_size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a080680820c5a268861810210542f9ebc">portSize</a></td></tr>
<tr class="memdesc:a080680820c5a268861810210542f9ebc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Port size of transfer. <br/></td></tr>
<tr class="separator:a080680820c5a268861810210542f9ebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa77f67d32972ccc7d05d489ffa42b173"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa77f67d32972ccc7d05d489ffa42b173"></a>
<a class="el" href="group__flexbus.html#ga6ad321ff0d3bdac7f2094c7d9cdcdf3e">flexbus_bytelane_shift_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#aa77f67d32972ccc7d05d489ffa42b173">byteLaneShift</a></td></tr>
<tr class="memdesc:aa77f67d32972ccc7d05d489ffa42b173"><td class="mdescLeft">&#160;</td><td class="mdescRight">Byte-lane shift enable. <br/></td></tr>
<tr class="separator:aa77f67d32972ccc7d05d489ffa42b173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac68e8500c42f05fc0e8240bb0aa7975e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac68e8500c42f05fc0e8240bb0aa7975e"></a>
<a class="el" href="group__flexbus.html#ga4d27ede27113f182ef069739de60b6b9">flexbus_write_address_hold_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#ac68e8500c42f05fc0e8240bb0aa7975e">writeAddressHold</a></td></tr>
<tr class="memdesc:ac68e8500c42f05fc0e8240bb0aa7975e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write address hold or deselect option. <br/></td></tr>
<tr class="separator:ac68e8500c42f05fc0e8240bb0aa7975e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6d64ca24b71925f209f0072f7f3637f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6d64ca24b71925f209f0072f7f3637f"></a>
<a class="el" href="group__flexbus.html#ga3f37be173d8372cad11fc7575a21b405">flexbus_read_address_hold_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#aa6d64ca24b71925f209f0072f7f3637f">readAddressHold</a></td></tr>
<tr class="memdesc:aa6d64ca24b71925f209f0072f7f3637f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read address hold or deselect option. <br/></td></tr>
<tr class="separator:aa6d64ca24b71925f209f0072f7f3637f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f9fdb05bd8b47cc23cc52164febffa6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f9fdb05bd8b47cc23cc52164febffa6"></a>
<a class="el" href="group__flexbus.html#ga86a3bfc03c1c112aa79f9ff69194f876">flexbus_address_setup_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a8f9fdb05bd8b47cc23cc52164febffa6">addressSetup</a></td></tr>
<tr class="memdesc:a8f9fdb05bd8b47cc23cc52164febffa6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Address setup setting. <br/></td></tr>
<tr class="separator:a8f9fdb05bd8b47cc23cc52164febffa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a200ecef6d130ab5cb96afb11c6b7c8b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a200ecef6d130ab5cb96afb11c6b7c8b8"></a>
<a class="el" href="group__flexbus.html#gad3e135c91c09eebfa6817348fe6ff766">flexbus_multiplex_group1_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a200ecef6d130ab5cb96afb11c6b7c8b8">group1MultiplexControl</a></td></tr>
<tr class="memdesc:a200ecef6d130ab5cb96afb11c6b7c8b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexBus Signal Group 1 Multiplex control. <br/></td></tr>
<tr class="separator:a200ecef6d130ab5cb96afb11c6b7c8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a746b6bf52bb297e44397dac0a62de2a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a746b6bf52bb297e44397dac0a62de2a5"></a>
<a class="el" href="group__flexbus.html#gae251ea203ebccb220f12d3a7937cc210">flexbus_multiplex_group2_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a746b6bf52bb297e44397dac0a62de2a5">group2MultiplexControl</a></td></tr>
<tr class="memdesc:a746b6bf52bb297e44397dac0a62de2a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexBus Signal Group 2 Multiplex control. <br/></td></tr>
<tr class="separator:a746b6bf52bb297e44397dac0a62de2a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa70f173f20d7b29bc7f43906743f762e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa70f173f20d7b29bc7f43906743f762e"></a>
<a class="el" href="group__flexbus.html#ga6d1742b7926a9680d54b66526ee43a0e">flexbus_multiplex_group3_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#aa70f173f20d7b29bc7f43906743f762e">group3MultiplexControl</a></td></tr>
<tr class="memdesc:aa70f173f20d7b29bc7f43906743f762e"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexBus Signal Group 3 Multiplex control. <br/></td></tr>
<tr class="separator:aa70f173f20d7b29bc7f43906743f762e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a712053998236c9914691ca94bcc5617e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a712053998236c9914691ca94bcc5617e"></a>
<a class="el" href="group__flexbus.html#ga1b2fc588dad8bf3d1bfb0260acd4271e">flexbus_multiplex_group4_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a712053998236c9914691ca94bcc5617e">group4MultiplexControl</a></td></tr>
<tr class="memdesc:a712053998236c9914691ca94bcc5617e"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexBus Signal Group 4 Multiplex control. <br/></td></tr>
<tr class="separator:a712053998236c9914691ca94bcc5617e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eeba1408373abeed1365612c2fe186f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2eeba1408373abeed1365612c2fe186f"></a>
<a class="el" href="group__flexbus.html#gaa1b00e2198c47dbf6b2baa1d8232990a">flexbus_multiplex_group5_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexbus.html#a2eeba1408373abeed1365612c2fe186f">group5MultiplexControl</a></td></tr>
<tr class="memdesc:a2eeba1408373abeed1365612c2fe186f"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexBus Signal Group 5 Multiplex control. <br/></td></tr>
<tr class="separator:a2eeba1408373abeed1365612c2fe186f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gaa71642f1a6b127488de81df15d520609"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_FLEXBUS_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga5db954220b00cf838e5c54a011dfb7e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga5db954220b00cf838e5c54a011dfb7e6">flexbus_port_size_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga5db954220b00cf838e5c54a011dfb7e6a7359790d538969eb8723808f184b2bb5"></a>kFLEXBUS_4Bytes</em>&#160;</td><td class="fielddoc">
<p>32-bit port size </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5db954220b00cf838e5c54a011dfb7e6a03cbd506e2bb49a12bba35ba8eb55350"></a>kFLEXBUS_1Byte</em>&#160;</td><td class="fielddoc">
<p>8-bit port size </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5db954220b00cf838e5c54a011dfb7e6ad4f9d0135f10d3149c1a1b9fb9dede0c"></a>kFLEXBUS_2Bytes</em>&#160;</td><td class="fielddoc">
<p>16-bit port size </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga4d27ede27113f182ef069739de60b6b9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga4d27ede27113f182ef069739de60b6b9">flexbus_write_address_hold_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga4d27ede27113f182ef069739de60b6b9a418293328adc2a30dd1684309dc28be0"></a>kFLEXBUS_Hold1Cycle</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes one cycles after FB_CSn negates on writes. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4d27ede27113f182ef069739de60b6b9a4b9f51e1152b1c506f6c1a00a0130ff8"></a>kFLEXBUS_Hold2Cycles</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes two cycles after FB_CSn negates on writes. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4d27ede27113f182ef069739de60b6b9ad6da2f541366deaf28b5bb046b46c0ac"></a>kFLEXBUS_Hold3Cycles</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes three cycles after FB_CSn negates on writes. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga4d27ede27113f182ef069739de60b6b9a093c5b37a5e51a6e608d0208ef9d44ed"></a>kFLEXBUS_Hold4Cycles</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes four cycles after FB_CSn negates on writes. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga3f37be173d8372cad11fc7575a21b405"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga3f37be173d8372cad11fc7575a21b405">flexbus_read_address_hold_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga3f37be173d8372cad11fc7575a21b405ab797743e887c84618c402c10808244a6"></a>kFLEXBUS_Hold1Or0Cycles</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes 1 or 0 cycles on reads. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f37be173d8372cad11fc7575a21b405a436f11c5301804391beb6fe36a26488a"></a>kFLEXBUS_Hold2Or1Cycles</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes 2 or 1 cycles on reads. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f37be173d8372cad11fc7575a21b405a8fc69ba4a1a7010b634dae13ccf61cf8"></a>kFLEXBUS_Hold3Or2Cycle</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes 3 or 2 cycles on reads. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga3f37be173d8372cad11fc7575a21b405afd665cd49e967683fd54c625a31da65b"></a>kFLEXBUS_Hold4Or3Cycle</em>&#160;</td><td class="fielddoc">
<p>Hold address and attributes 4 or 3 cycles on reads. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga86a3bfc03c1c112aa79f9ff69194f876"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga86a3bfc03c1c112aa79f9ff69194f876">flexbus_address_setup_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga86a3bfc03c1c112aa79f9ff69194f876a68a6c404fc019fc98b433cedb8037f9a"></a>kFLEXBUS_FirstRisingEdge</em>&#160;</td><td class="fielddoc">
<p>Assert FB_CSn on first rising clock edge after address is asserted. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga86a3bfc03c1c112aa79f9ff69194f876a7af4219ad654b3058d62bf87ed087e77"></a>kFLEXBUS_SecondRisingEdge</em>&#160;</td><td class="fielddoc">
<p>Assert FB_CSn on second rising clock edge after address is asserted. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga86a3bfc03c1c112aa79f9ff69194f876a0abaa9b65ebc1cb08f6d5755e19cfa54"></a>kFLEXBUS_ThirdRisingEdge</em>&#160;</td><td class="fielddoc">
<p>Assert FB_CSn on third rising clock edge after address is asserted. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga86a3bfc03c1c112aa79f9ff69194f876a1697ce16b2a44b7024afc63e132f0095"></a>kFLEXBUS_FourthRisingEdge</em>&#160;</td><td class="fielddoc">
<p>Assert FB_CSn on fourth rising clock edge after address is asserted. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga6ad321ff0d3bdac7f2094c7d9cdcdf3e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga6ad321ff0d3bdac7f2094c7d9cdcdf3e">flexbus_bytelane_shift_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6ad321ff0d3bdac7f2094c7d9cdcdf3ea653f69b4069694dc9d887cc0211c0a23"></a>kFLEXBUS_NotShifted</em>&#160;</td><td class="fielddoc">
<p>Not shifted. </p>
<p>Data is left-justified on FB_AD </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6ad321ff0d3bdac7f2094c7d9cdcdf3ea3902ac1adc9bf63cf5e40396b8027963"></a>kFLEXBUS_Shifted</em>&#160;</td><td class="fielddoc">
<p>Shifted. </p>
<p>Data is right justified on FB_AD </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gad3e135c91c09eebfa6817348fe6ff766"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#gad3e135c91c09eebfa6817348fe6ff766">flexbus_multiplex_group1_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggad3e135c91c09eebfa6817348fe6ff766ac626c8688db4647a87483b923adbe88e"></a>kFLEXBUS_MultiplexGroup1_FB_ALE</em>&#160;</td><td class="fielddoc">
<p>FB_ALE. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad3e135c91c09eebfa6817348fe6ff766ab636b0267cc4ff96a8bb6a8773bf484d"></a>kFLEXBUS_MultiplexGroup1_FB_CS1</em>&#160;</td><td class="fielddoc">
<p>FB_CS1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggad3e135c91c09eebfa6817348fe6ff766a307cf15fcd5cd7d6b98afb27a7d991c3"></a>kFLEXBUS_MultiplexGroup1_FB_TS</em>&#160;</td><td class="fielddoc">
<p>FB_TS. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae251ea203ebccb220f12d3a7937cc210"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#gae251ea203ebccb220f12d3a7937cc210">flexbus_multiplex_group2_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae251ea203ebccb220f12d3a7937cc210a4b18a384c17f7aa2da83ca816e06d661"></a>kFLEXBUS_MultiplexGroup2_FB_CS4</em>&#160;</td><td class="fielddoc">
<p>FB_CS4. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae251ea203ebccb220f12d3a7937cc210a5829fc499e4adcb64f5c3c67d944020a"></a>kFLEXBUS_MultiplexGroup2_FB_TSIZ0</em>&#160;</td><td class="fielddoc">
<p>FB_TSIZ0. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae251ea203ebccb220f12d3a7937cc210a7748396f6bf299006fa874f0ff7a9001"></a>kFLEXBUS_MultiplexGroup2_FB_BE_31_24</em>&#160;</td><td class="fielddoc">
<p>FB_BE_31_24. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga6d1742b7926a9680d54b66526ee43a0e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga6d1742b7926a9680d54b66526ee43a0e">flexbus_multiplex_group3_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga6d1742b7926a9680d54b66526ee43a0ea99a1372c26ae65d8afb0ae3ad76d1125"></a>kFLEXBUS_MultiplexGroup3_FB_CS5</em>&#160;</td><td class="fielddoc">
<p>FB_CS5. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6d1742b7926a9680d54b66526ee43a0ea1e85c596581f89d05aad2abb81ab2f56"></a>kFLEXBUS_MultiplexGroup3_FB_TSIZ1</em>&#160;</td><td class="fielddoc">
<p>FB_TSIZ1. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga6d1742b7926a9680d54b66526ee43a0ea5d19427a518714a9b2a4f5648673bd6d"></a>kFLEXBUS_MultiplexGroup3_FB_BE_23_16</em>&#160;</td><td class="fielddoc">
<p>FB_BE_23_16. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga1b2fc588dad8bf3d1bfb0260acd4271e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#ga1b2fc588dad8bf3d1bfb0260acd4271e">flexbus_multiplex_group4_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga1b2fc588dad8bf3d1bfb0260acd4271ea8243c4d33572655e8db2212e89123784"></a>kFLEXBUS_MultiplexGroup4_FB_TBST</em>&#160;</td><td class="fielddoc">
<p>FB_TBST. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1b2fc588dad8bf3d1bfb0260acd4271ea61a263654e80f6a6d38dcb220a7c3899"></a>kFLEXBUS_MultiplexGroup4_FB_CS2</em>&#160;</td><td class="fielddoc">
<p>FB_CS2. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga1b2fc588dad8bf3d1bfb0260acd4271eac2b607e2f1fbf158f88743e7cd99a720"></a>kFLEXBUS_MultiplexGroup4_FB_BE_15_8</em>&#160;</td><td class="fielddoc">
<p>FB_BE_15_8. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gaa1b00e2198c47dbf6b2baa1d8232990a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexbus.html#gaa1b00e2198c47dbf6b2baa1d8232990a">flexbus_multiplex_group5_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggaa1b00e2198c47dbf6b2baa1d8232990aac6e4e85ca40984d0e704a24dc18a89eb"></a>kFLEXBUS_MultiplexGroup5_FB_TA</em>&#160;</td><td class="fielddoc">
<p>FB_TA. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1b00e2198c47dbf6b2baa1d8232990aa3bf936082781eddc6a1cee408e286041"></a>kFLEXBUS_MultiplexGroup5_FB_CS3</em>&#160;</td><td class="fielddoc">
<p>FB_CS3. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggaa1b00e2198c47dbf6b2baa1d8232990aa89a5bf6ab5e869b5766478581208f6d2"></a>kFLEXBUS_MultiplexGroup5_FB_BE_7_0</em>&#160;</td><td class="fielddoc">
<p>FB_BE_7_0. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3e8659f17b851f7ff2d28a207e8952ee"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXBUS_Init </td>
<td>(</td>
<td class="paramtype">FB_Type *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the clock gate for FlexBus module. Only chip 0 is validated and set to known values. Other chips are disabled. NOTE: In this function, certain parameters, depending on external memories, must be set before using <a class="el" href="group__flexbus.html#ga3e8659f17b851f7ff2d28a207e8952ee" title="Initializes and configures the FlexBus module. ">FLEXBUS_Init()</a> function. This example shows how to set up the uart_state_t and the <a class="el" href="group__flexbus.html#structflexbus__config__t" title="Configuration structure that the user needs to set. ">flexbus_config_t</a> parameters and how to call the FLEXBUS_Init function by passing in these parameters: </p>
<div class="fragment"><div class="line"><a class="code" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> flexbusConfig;</div>
<div class="line"><a class="code" href="group__flexbus.html#ga0ec37222a03cfe9c1260aef231ffe073">FLEXBUS_GetDefaultConfig</a>(&amp;flexbusConfig);</div>
<div class="line">flexbusConfig.<a class="code" href="group__flexbus.html#a82ad9c530807c7dfd178750cefd8a4e9">waitStates</a> = 2U;</div>
<div class="line">flexbusConfig.<a class="code" href="group__flexbus.html#addf7f65c1d2e565b53f9643bff8d3dd7">chipBaseAddress</a> = 0x60000000U;</div>
<div class="line">flexbusConfig.<a class="code" href="group__flexbus.html#a13ded38a6b0d84409c3b47b5c6c11038">chipBaseAddressMask</a> = 7U;</div>
<div class="line"><a class="code" href="group__flexbus.html#ga3e8659f17b851f7ff2d28a207e8952ee">FLEXBUS_Init</a>(FB, &amp;flexbusConfig);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>FlexBus peripheral address. </td></tr>
<tr><td class="paramname">config</td><td>Pointer to the configure structure </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9ac22840e060a2e9afcd06ffc6705d75"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXBUS_Deinit </td>
<td>(</td>
<td class="paramtype">FB_Type *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the clock gate of the FlexBus module clock.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>FlexBus peripheral address. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga0ec37222a03cfe9c1260aef231ffe073"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXBUS_GetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexbus.html#structflexbus__config__t">flexbus_config_t</a> *&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function initializes the FlexBus configuration structure to default value. The default values are: </p>
<div class="fragment"><div class="line">fbConfig-&gt;chip = 0;</div>
<div class="line">fbConfig-&gt;writeProtect = 0;</div>
<div class="line">fbConfig-&gt;burstWrite = 0;</div>
<div class="line">fbConfig-&gt;burstRead = 0;</div>
<div class="line">fbConfig-&gt;byteEnableMode = 0;</div>
<div class="line">fbConfig-&gt;autoAcknowledge = <span class="keyword">true</span>;</div>
<div class="line">fbConfig-&gt;extendTransferAddress = 0;</div>
<div class="line">fbConfig-&gt;secondaryWaitStates = 0;</div>
<div class="line">fbConfig-&gt;byteLaneShift = <a class="code" href="group__flexbus.html#gga6ad321ff0d3bdac7f2094c7d9cdcdf3ea653f69b4069694dc9d887cc0211c0a23">kFLEXBUS_NotShifted</a>;</div>
<div class="line">fbConfig-&gt;writeAddressHold = <a class="code" href="group__flexbus.html#gga4d27ede27113f182ef069739de60b6b9a418293328adc2a30dd1684309dc28be0">kFLEXBUS_Hold1Cycle</a>;</div>
<div class="line">fbConfig-&gt;readAddressHold = <a class="code" href="group__flexbus.html#gga3f37be173d8372cad11fc7575a21b405ab797743e887c84618c402c10808244a6">kFLEXBUS_Hold1Or0Cycles</a>;</div>
<div class="line">fbConfig-&gt;addressSetup = <a class="code" href="group__flexbus.html#gga86a3bfc03c1c112aa79f9ff69194f876a68a6c404fc019fc98b433cedb8037f9a">kFLEXBUS_FirstRisingEdge</a>;</div>
<div class="line">fbConfig-&gt;portSize = <a class="code" href="group__flexbus.html#gga5db954220b00cf838e5c54a011dfb7e6a03cbd506e2bb49a12bba35ba8eb55350">kFLEXBUS_1Byte</a>;</div>
<div class="line">fbConfig-&gt;group1MultiplexControl = <a class="code" href="group__flexbus.html#ggad3e135c91c09eebfa6817348fe6ff766ac626c8688db4647a87483b923adbe88e">kFLEXBUS_MultiplexGroup1_FB_ALE</a>;</div>
<div class="line">fbConfig-&gt;group2MultiplexControl = <a class="code" href="group__flexbus.html#ggae251ea203ebccb220f12d3a7937cc210a4b18a384c17f7aa2da83ca816e06d661">kFLEXBUS_MultiplexGroup2_FB_CS4</a> ;</div>
<div class="line">fbConfig-&gt;group3MultiplexControl = <a class="code" href="group__flexbus.html#gga6d1742b7926a9680d54b66526ee43a0ea99a1372c26ae65d8afb0ae3ad76d1125">kFLEXBUS_MultiplexGroup3_FB_CS5</a>;</div>
<div class="line">fbConfig-&gt;group4MultiplexControl = <a class="code" href="group__flexbus.html#gga1b2fc588dad8bf3d1bfb0260acd4271ea8243c4d33572655e8db2212e89123784">kFLEXBUS_MultiplexGroup4_FB_TBST</a>;</div>
<div class="line">fbConfig-&gt;group5MultiplexControl = <a class="code" href="group__flexbus.html#ggaa1b00e2198c47dbf6b2baa1d8232990aac6e4e85ca40984d0e704a24dc18a89eb">kFLEXBUS_MultiplexGroup5_FB_TA</a>;</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>Pointer to the initialization structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__flexbus.html#ga3e8659f17b851f7ff2d28a207e8952ee" title="Initializes and configures the FlexBus module. ">FLEXBUS_Init</a> </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>