2010 lines
108 KiB
HTML
2010 lines
108 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: DMA: Direct Memory Access Controller 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
|
|
 <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 Page</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
<li><a href="modules.html"><span>API 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__dma__driver.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>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><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="#files">Files</a> |
|
|
<a href="#nested-classes">Data Structures</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#enum-members">Enumerations</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">DMA: Direct Memory Access Controller 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 Direct Memory Access (DMA) of Kinetis devices.</p>
|
|
<h1><a class="anchor" id="DMATypicalUseCase"></a>
|
|
Typical use case</h1>
|
|
<h2><a class="anchor" id="DMAOper"></a>
|
|
DMA Operation</h2>
|
|
<div class="fragment"><div class="line"><a class="code" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> transferConfig;</div>
|
|
<div class="line">uint32_t transferDone = <span class="keyword">false</span>;</div>
|
|
<div class="line"></div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#gade1b5efa61054ce538b37b181dd075bb">DMA_Init</a>(DMA0);</div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#ga5354ff2c0c1ec53e2cbd712169fc5558">DMA_CreateHandle</a>(&g_DMA_Handle, DMA0, channel);</div>
|
|
<div class="line">DMA_InstallCallback(&g_DMA_Handle, DMA_Callback, &transferDone);</div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#gaf6e0b93e92a31e0dd3398bce34decb40">DMA_PrepareTransfer</a>(&transferConfig, srcAddr, srcWidth, destAddr, destWidth, transferBytes,</div>
|
|
<div class="line"> <a class="code" href="group__dma__driver.html#gga9cb7087af6efc80106c1033f80d60219a24392a93deeb55e04559201839343f3c">kDMA_MemoryToMemory</a>);</div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#gadf9824800405f5b161bae1db1bf7d1f7">DMA_SubmitTransfer</a>(&g_DMA_Handle, &transferConfig, <span class="keyword">true</span>);</div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#gaf33bec6e25c422d61a41949c9a8283d4">DMA_StartTransfer</a>(&g_DMA_Handle);</div>
|
|
<div class="line"><span class="comment">/* Wait for DMA transfer finish </span></div>
|
|
<div class="line"><span class="comment">while (transferDone != true);</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__dma_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__dma_8h.html">fsl_dma.h</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:structdma__transfer__config__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a></td></tr>
|
|
<tr class="memdesc:structdma__transfer__config__t"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer configuration structure. <a href="group__dma__driver.html#structdma__transfer__config__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structdma__transfer__config__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structdma__channel__link__config__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#structdma__channel__link__config__t">dma_channel_link_config_t</a></td></tr>
|
|
<tr class="memdesc:structdma__channel__link__config__t"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer configuration structure. <a href="group__dma__driver.html#structdma__channel__link__config__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structdma__channel__link__config__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structdma__handle__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a></td></tr>
|
|
<tr class="memdesc:structdma__handle__t"><td class="mdescLeft"> </td><td class="mdescRight">DMA DMA handle structure. <a href="group__dma__driver.html#structdma__handle__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structdma__handle__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:ga977bec6df5a2af46f45ab22e30ea0a25"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga977bec6df5a2af46f45ab22e30ea0a25">dma_callback</a> )(struct _dma_handle *handle, void *userData)</td></tr>
|
|
<tr class="memdesc:ga977bec6df5a2af46f45ab22e30ea0a25"><td class="mdescLeft"> </td><td class="mdescRight">Callback function prototype for the DMA driver. <a href="#ga977bec6df5a2af46f45ab22e30ea0a25">More...</a><br/></td></tr>
|
|
<tr class="separator:ga977bec6df5a2af46f45ab22e30ea0a25"><td class="memSeparator" colspan="2"> </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:ga36e753dba44ae75ed949766e19cc113d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga36e753dba44ae75ed949766e19cc113d">_dma_channel_status_flags</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da2d781b440cc4a6f79a1aceb6cf06cd07">kDMA_TransactionsBCRFlag</a> = DMA_DSR_BCR_BCR_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113dae890ef1d8993fb00d8d95b7f3feb7d39">kDMA_TransactionsDoneFlag</a> = DMA_DSR_BCR_DONE_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da28dabe9487a26e3cacbce41b50752a70">kDMA_TransactionsBusyFlag</a> = DMA_DSR_BCR_BSY_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da20f859fbcfa07c2a4b4a5b273910fbc6">kDMA_TransactionsRequestFlag</a> = DMA_DSR_BCR_REQ_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da38ba4fb9195801c5825242cdef9b582d">kDMA_BusErrorOnDestinationFlag</a> = DMA_DSR_BCR_BED_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da3a89390c5832154e2da5e909f7655922">kDMA_BusErrorOnSourceFlag</a> = DMA_DSR_BCR_BES_MASK,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga36e753dba44ae75ed949766e19cc113da85f087aebd042b357f46dadda6bbce83">kDMA_ConfigurationErrorFlag</a> = DMA_DSR_BCR_CE_MASK
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga36e753dba44ae75ed949766e19cc113d"><td class="mdescLeft"> </td><td class="mdescRight">status flag for the DMA driver. <a href="group__dma__driver.html#ga36e753dba44ae75ed949766e19cc113d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga36e753dba44ae75ed949766e19cc113d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4f754951efc1486472c14f009a02ac47"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_size_t</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4f754951efc1486472c14f009a02ac47a969ae3a6429e54e8a301b26ecf3ab017">kDMA_Transfersize32bits</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4f754951efc1486472c14f009a02ac47a14a03019f98a6f50dc1c4588d995f9d3">kDMA_Transfersize8bits</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4f754951efc1486472c14f009a02ac47a02ab56512322e1a677b7ef2911735849">kDMA_Transfersize16bits</a>
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga4f754951efc1486472c14f009a02ac47"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer size type. <a href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4f754951efc1486472c14f009a02ac47"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gac76d0efebec5b4912a0156f9d7d1c3b2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_t</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a8bd75d139becfb0a58d08a60e3682e87">kDMA_ModuloDisable</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2abef7e8c58588f33dffdbea7876ad4a35">kDMA_Modulo16Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a9989156fcb25590c9235239b657ec79f">kDMA_Modulo32Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a6b3277aa7b8571ddf1cc7d2b5ee620d1">kDMA_Modulo64Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a7bc2227e57ce0ff1dc41b2c71e877207">kDMA_Modulo128Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a2c92174d5b350cfddb0a836661bb2625">kDMA_Modulo256Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a83473cd4366829f5d23e52d8eeb8b4d5">kDMA_Modulo512Bytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2af419011a303b2b12dfc9e1151ce7d64e">kDMA_Modulo1KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2ac1dfc6c6ffe60f4000cdd465d931e18d">kDMA_Modulo2KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a01080cdca6f101fd35b062465823bbdc">kDMA_Modulo4KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a11cdc1d729d302ba4f5a198ebd597e6f">kDMA_Modulo8KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a02785f9374e866f65bc069e7b3860b7c">kDMA_Modulo16KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a0b6b6c652ee4630f01ce068607d5a23e">kDMA_Modulo32KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2afe618f71bddf6f80dcd7e3f3169a34e0">kDMA_Modulo64KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2abdb5276d85626400218399229879e050">kDMA_Modulo128KBytes</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#ggac76d0efebec5b4912a0156f9d7d1c3b2a868be515efaf346dc08b08a37a239654">kDMA_Modulo256KBytes</a>
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gac76d0efebec5b4912a0156f9d7d1c3b2"><td class="mdescLeft"> </td><td class="mdescRight">Configuration type for the DMA modulo. <a href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">More...</a><br/></td></tr>
|
|
<tr class="separator:gac76d0efebec5b4912a0156f9d7d1c3b2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga4ff91ace4e5146d14cd505235a2c618e"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga4ff91ace4e5146d14cd505235a2c618e">dma_channel_link_type_t</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4ff91ace4e5146d14cd505235a2c618eaf31c1f53736aa000546413022b8c3280">kDMA_ChannelLinkDisable</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4ff91ace4e5146d14cd505235a2c618ea0d5d1186513e85268a131166d042497c">kDMA_ChannelLinkChannel1AndChannel2</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4ff91ace4e5146d14cd505235a2c618ea580b4a8b49c2d75de4171bcf0d2615b4">kDMA_ChannelLinkChannel1</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga4ff91ace4e5146d14cd505235a2c618ea10fb1aa6120440f198e6e6ccf6100bc1">kDMA_ChannelLinkChannel1AfterBCR0</a>
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga4ff91ace4e5146d14cd505235a2c618e"><td class="mdescLeft"> </td><td class="mdescRight">DMA channel link type. <a href="group__dma__driver.html#ga4ff91ace4e5146d14cd505235a2c618e">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4ff91ace4e5146d14cd505235a2c618e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9cb7087af6efc80106c1033f80d60219"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga9cb7087af6efc80106c1033f80d60219">dma_transfer_type_t</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#gga9cb7087af6efc80106c1033f80d60219a24392a93deeb55e04559201839343f3c">kDMA_MemoryToMemory</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga9cb7087af6efc80106c1033f80d60219a7bf1938ae68b1f494aade7a0f4189303">kDMA_PeripheralToMemory</a>,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga9cb7087af6efc80106c1033f80d60219aae1c6bab576d7a25d2fa1249f9cd4ee9">kDMA_MemoryToPeripheral</a>
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga9cb7087af6efc80106c1033f80d60219"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer type. <a href="group__dma__driver.html#ga9cb7087af6efc80106c1033f80d60219">More...</a><br/></td></tr>
|
|
<tr class="separator:ga9cb7087af6efc80106c1033f80d60219"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1c849fdcafc858964b6a7f2e0d75390c"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga1c849fdcafc858964b6a7f2e0d75390c">dma_transfer_options_t</a> { <br/>
|
|
  <a class="el" href="group__dma__driver.html#gga1c849fdcafc858964b6a7f2e0d75390caddc6103be52651841e795cccc872988b">kDMA_NoOptions</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__dma__driver.html#gga1c849fdcafc858964b6a7f2e0d75390cad289b8b98ee6cf2faa4788404fe809d8">kDMA_EnableInterrupt</a>
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga1c849fdcafc858964b6a7f2e0d75390c"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer options. <a href="group__dma__driver.html#ga1c849fdcafc858964b6a7f2e0d75390c">More...</a><br/></td></tr>
|
|
<tr class="separator:ga1c849fdcafc858964b6a7f2e0d75390c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga63c0c8f218fd21a01a4996032b1f6ee0"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga63c0c8f218fd21a01a4996032b1f6ee0">_dma_transfer_status</a> </td></tr>
|
|
<tr class="memdesc:ga63c0c8f218fd21a01a4996032b1f6ee0"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer status. <br/></td></tr>
|
|
<tr class="separator:ga63c0c8f218fd21a01a4996032b1f6ee0"><td class="memSeparator" colspan="2"> </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:gac68c8082b53756a7e58ec6d5f25117d2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gac68c8082b53756a7e58ec6d5f25117d2">FSL_DMA_DRIVER_VERSION</a>   (<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td></tr>
|
|
<tr class="memdesc:gac68c8082b53756a7e58ec6d5f25117d2"><td class="mdescLeft"> </td><td class="mdescRight">DMA driver version 2.0.0. <a href="#gac68c8082b53756a7e58ec6d5f25117d2">More...</a><br/></td></tr>
|
|
<tr class="separator:gac68c8082b53756a7e58ec6d5f25117d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
DMA Initialization and De-initialization</h2></td></tr>
|
|
<tr class="memitem:gade1b5efa61054ce538b37b181dd075bb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gade1b5efa61054ce538b37b181dd075bb">DMA_Init</a> (DMA_Type *base)</td></tr>
|
|
<tr class="memdesc:gade1b5efa61054ce538b37b181dd075bb"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the DMA peripheral. <a href="#gade1b5efa61054ce538b37b181dd075bb">More...</a><br/></td></tr>
|
|
<tr class="separator:gade1b5efa61054ce538b37b181dd075bb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga634ced9b86d7dc9543e0b4387123fcac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga634ced9b86d7dc9543e0b4387123fcac">DMA_Deinit</a> (DMA_Type *base)</td></tr>
|
|
<tr class="memdesc:ga634ced9b86d7dc9543e0b4387123fcac"><td class="mdescLeft"> </td><td class="mdescRight">Deinitializes the DMA peripheral. <a href="#ga634ced9b86d7dc9543e0b4387123fcac">More...</a><br/></td></tr>
|
|
<tr class="separator:ga634ced9b86d7dc9543e0b4387123fcac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
DMA Channel Operation</h2></td></tr>
|
|
<tr class="memitem:ga17a6d7e5f9d3f12777941447ed7659f5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga17a6d7e5f9d3f12777941447ed7659f5">DMA_ResetChannel</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga17a6d7e5f9d3f12777941447ed7659f5"><td class="mdescLeft"> </td><td class="mdescRight">Resets the DMA channel. <a href="#ga17a6d7e5f9d3f12777941447ed7659f5">More...</a><br/></td></tr>
|
|
<tr class="separator:ga17a6d7e5f9d3f12777941447ed7659f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3cc33ab27c5c0dc71cff81795522629a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga3cc33ab27c5c0dc71cff81795522629a">DMA_SetTransferConfig</a> (DMA_Type *base, uint32_t channel, const <a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> *config)</td></tr>
|
|
<tr class="memdesc:ga3cc33ab27c5c0dc71cff81795522629a"><td class="mdescLeft"> </td><td class="mdescRight">Configures the DMA transfer attribute. <a href="#ga3cc33ab27c5c0dc71cff81795522629a">More...</a><br/></td></tr>
|
|
<tr class="separator:ga3cc33ab27c5c0dc71cff81795522629a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9a0aba2d09ef438d7faf8d4c4d458c11"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga9a0aba2d09ef438d7faf8d4c4d458c11">DMA_SetChannelLinkConfig</a> (DMA_Type *base, uint32_t channel, const <a class="el" href="group__dma__driver.html#structdma__channel__link__config__t">dma_channel_link_config_t</a> *config)</td></tr>
|
|
<tr class="memdesc:ga9a0aba2d09ef438d7faf8d4c4d458c11"><td class="mdescLeft"> </td><td class="mdescRight">Configures the DMA channel link feature. <a href="#ga9a0aba2d09ef438d7faf8d4c4d458c11">More...</a><br/></td></tr>
|
|
<tr class="separator:ga9a0aba2d09ef438d7faf8d4c4d458c11"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga980caf1dc812aaab7b6113fb52b91bc2"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga980caf1dc812aaab7b6113fb52b91bc2">DMA_SetSourceAddress</a> (DMA_Type *base, uint32_t channel, uint32_t srcAddr)</td></tr>
|
|
<tr class="memdesc:ga980caf1dc812aaab7b6113fb52b91bc2"><td class="mdescLeft"> </td><td class="mdescRight">Sets the DMA source address for the DMA transfer. <a href="#ga980caf1dc812aaab7b6113fb52b91bc2">More...</a><br/></td></tr>
|
|
<tr class="separator:ga980caf1dc812aaab7b6113fb52b91bc2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaac2cf26389fdac8720edc98cd8e21aec"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaac2cf26389fdac8720edc98cd8e21aec">DMA_SetDestinationAddress</a> (DMA_Type *base, uint32_t channel, uint32_t destAddr)</td></tr>
|
|
<tr class="memdesc:gaac2cf26389fdac8720edc98cd8e21aec"><td class="mdescLeft"> </td><td class="mdescRight">Sets the DMA destination address for the DMA transfer. <a href="#gaac2cf26389fdac8720edc98cd8e21aec">More...</a><br/></td></tr>
|
|
<tr class="separator:gaac2cf26389fdac8720edc98cd8e21aec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga76430445da424d0c768399dbbfb1930d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga76430445da424d0c768399dbbfb1930d">DMA_SetTransferSize</a> (DMA_Type *base, uint32_t channel, uint32_t size)</td></tr>
|
|
<tr class="memdesc:ga76430445da424d0c768399dbbfb1930d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the DMA transfer size for the DMA transfer. <a href="#ga76430445da424d0c768399dbbfb1930d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga76430445da424d0c768399dbbfb1930d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga813a9ddafd11393d8848a946622dd80d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga813a9ddafd11393d8848a946622dd80d">DMA_SetModulo</a> (DMA_Type *base, uint32_t channel, <a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_t</a> srcModulo, <a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_t</a> destModulo)</td></tr>
|
|
<tr class="memdesc:ga813a9ddafd11393d8848a946622dd80d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the DMA modulo for the DMA transfer. <a href="#ga813a9ddafd11393d8848a946622dd80d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga813a9ddafd11393d8848a946622dd80d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7d50e7ada536a2acfc626cc477075ef4"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga7d50e7ada536a2acfc626cc477075ef4">DMA_EnableCycleSteal</a> (DMA_Type *base, uint32_t channel, bool enable)</td></tr>
|
|
<tr class="memdesc:ga7d50e7ada536a2acfc626cc477075ef4"><td class="mdescLeft"> </td><td class="mdescRight">Enables the DMA cycle steal for the DMA transfer. <a href="#ga7d50e7ada536a2acfc626cc477075ef4">More...</a><br/></td></tr>
|
|
<tr class="separator:ga7d50e7ada536a2acfc626cc477075ef4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1fd6efd06eefc766c72493ca249c06d0"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga1fd6efd06eefc766c72493ca249c06d0">DMA_EnableAutoAlign</a> (DMA_Type *base, uint32_t channel, bool enable)</td></tr>
|
|
<tr class="memdesc:ga1fd6efd06eefc766c72493ca249c06d0"><td class="mdescLeft"> </td><td class="mdescRight">Enables the DMA auto align for the DMA transfer. <a href="#ga1fd6efd06eefc766c72493ca249c06d0">More...</a><br/></td></tr>
|
|
<tr class="separator:ga1fd6efd06eefc766c72493ca249c06d0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaafbc7d79765ae6f456175e64aa6fd399"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaafbc7d79765ae6f456175e64aa6fd399">DMA_EnableAsyncRequest</a> (DMA_Type *base, uint32_t channel, bool enable)</td></tr>
|
|
<tr class="memdesc:gaafbc7d79765ae6f456175e64aa6fd399"><td class="mdescLeft"> </td><td class="mdescRight">Enables the DMA async request for the DMA transfer. <a href="#gaafbc7d79765ae6f456175e64aa6fd399">More...</a><br/></td></tr>
|
|
<tr class="separator:gaafbc7d79765ae6f456175e64aa6fd399"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaebf70b28223b77c631c3b6cfd3f2bb91"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaebf70b28223b77c631c3b6cfd3f2bb91">DMA_EnableInterrupts</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:gaebf70b28223b77c631c3b6cfd3f2bb91"><td class="mdescLeft"> </td><td class="mdescRight">Enables an interrupt for the DMA transfer. <a href="#gaebf70b28223b77c631c3b6cfd3f2bb91">More...</a><br/></td></tr>
|
|
<tr class="separator:gaebf70b28223b77c631c3b6cfd3f2bb91"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2d0b06f800cecf31b418692cb8d328ea"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga2d0b06f800cecf31b418692cb8d328ea">DMA_DisableInterrupts</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga2d0b06f800cecf31b418692cb8d328ea"><td class="mdescLeft"> </td><td class="mdescRight">Disables an interrupt for the DMA transfer. <a href="#ga2d0b06f800cecf31b418692cb8d328ea">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2d0b06f800cecf31b418692cb8d328ea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
DMA Channel Transfer Operation</h2></td></tr>
|
|
<tr class="memitem:gaf554aea248ac4941adc8a97b0549cde9"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaf554aea248ac4941adc8a97b0549cde9">DMA_EnableChannelRequest</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:gaf554aea248ac4941adc8a97b0549cde9"><td class="mdescLeft"> </td><td class="mdescRight">Enables the DMA hardware channel request. <a href="#gaf554aea248ac4941adc8a97b0549cde9">More...</a><br/></td></tr>
|
|
<tr class="separator:gaf554aea248ac4941adc8a97b0549cde9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga796491fd14d466d3a8073644ca65c524"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga796491fd14d466d3a8073644ca65c524">DMA_DisableChannelRequest</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga796491fd14d466d3a8073644ca65c524"><td class="mdescLeft"> </td><td class="mdescRight">Disables the DMA hardware channel request. <a href="#ga796491fd14d466d3a8073644ca65c524">More...</a><br/></td></tr>
|
|
<tr class="separator:ga796491fd14d466d3a8073644ca65c524"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga7c779380909187ecbec0b15cbc86a05f"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga7c779380909187ecbec0b15cbc86a05f">DMA_TriggerChannelStart</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga7c779380909187ecbec0b15cbc86a05f"><td class="mdescLeft"> </td><td class="mdescRight">Starts the DMA transfer with a software trigger. <a href="#ga7c779380909187ecbec0b15cbc86a05f">More...</a><br/></td></tr>
|
|
<tr class="separator:ga7c779380909187ecbec0b15cbc86a05f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
DMA Channel Status Operation</h2></td></tr>
|
|
<tr class="memitem:ga42aa531ad5e3664b5d71852ad2710d14"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga42aa531ad5e3664b5d71852ad2710d14">DMA_GetRemainingBytes</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga42aa531ad5e3664b5d71852ad2710d14"><td class="mdescLeft"> </td><td class="mdescRight">Gets the remaining bytes of the current DMA transfer. <a href="#ga42aa531ad5e3664b5d71852ad2710d14">More...</a><br/></td></tr>
|
|
<tr class="separator:ga42aa531ad5e3664b5d71852ad2710d14"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gab5faf6f718f3aa9b32d0a4ccd45bb0ac"><td class="memItemLeft" align="right" valign="top">static uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gab5faf6f718f3aa9b32d0a4ccd45bb0ac">DMA_GetChannelStatusFlags</a> (DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:gab5faf6f718f3aa9b32d0a4ccd45bb0ac"><td class="mdescLeft"> </td><td class="mdescRight">Gets the DMA channel status flags. <a href="#gab5faf6f718f3aa9b32d0a4ccd45bb0ac">More...</a><br/></td></tr>
|
|
<tr class="separator:gab5faf6f718f3aa9b32d0a4ccd45bb0ac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gacb769949a98ea36a24a14dc437157eb2"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gacb769949a98ea36a24a14dc437157eb2">DMA_ClearChannelStatusFlags</a> (DMA_Type *base, uint32_t channel, uint32_t mask)</td></tr>
|
|
<tr class="memdesc:gacb769949a98ea36a24a14dc437157eb2"><td class="mdescLeft"> </td><td class="mdescRight">Clears the DMA channel status flags. <a href="#gacb769949a98ea36a24a14dc437157eb2">More...</a><br/></td></tr>
|
|
<tr class="separator:gacb769949a98ea36a24a14dc437157eb2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
|
|
DMA Channel Transactional Operation</h2></td></tr>
|
|
<tr class="memitem:ga5354ff2c0c1ec53e2cbd712169fc5558"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga5354ff2c0c1ec53e2cbd712169fc5558">DMA_CreateHandle</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle, DMA_Type *base, uint32_t channel)</td></tr>
|
|
<tr class="memdesc:ga5354ff2c0c1ec53e2cbd712169fc5558"><td class="mdescLeft"> </td><td class="mdescRight">Creates the DMA handle. <a href="#ga5354ff2c0c1ec53e2cbd712169fc5558">More...</a><br/></td></tr>
|
|
<tr class="separator:ga5354ff2c0c1ec53e2cbd712169fc5558"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2eb9a831b9a84c5108097f770dbe90db"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga2eb9a831b9a84c5108097f770dbe90db">DMA_SetCallback</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle, <a class="el" href="group__dma__driver.html#ga977bec6df5a2af46f45ab22e30ea0a25">dma_callback</a> callback, void *userData)</td></tr>
|
|
<tr class="memdesc:ga2eb9a831b9a84c5108097f770dbe90db"><td class="mdescLeft"> </td><td class="mdescRight">Sets the DMA callback function. <a href="#ga2eb9a831b9a84c5108097f770dbe90db">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2eb9a831b9a84c5108097f770dbe90db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf6e0b93e92a31e0dd3398bce34decb40"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaf6e0b93e92a31e0dd3398bce34decb40">DMA_PrepareTransfer</a> (<a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> *config, void *srcAddr, uint32_t srcWidth, void *destAddr, uint32_t destWidth, uint32_t transferBytes, <a class="el" href="group__dma__driver.html#ga9cb7087af6efc80106c1033f80d60219">dma_transfer_type_t</a> type)</td></tr>
|
|
<tr class="memdesc:gaf6e0b93e92a31e0dd3398bce34decb40"><td class="mdescLeft"> </td><td class="mdescRight">Prepares the DMA transfer configuration structure. <a href="#gaf6e0b93e92a31e0dd3398bce34decb40">More...</a><br/></td></tr>
|
|
<tr class="separator:gaf6e0b93e92a31e0dd3398bce34decb40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadf9824800405f5b161bae1db1bf7d1f7"><td class="memItemLeft" align="right" valign="top">status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gadf9824800405f5b161bae1db1bf7d1f7">DMA_SubmitTransfer</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle, const <a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> *config, uint32_t options)</td></tr>
|
|
<tr class="memdesc:gadf9824800405f5b161bae1db1bf7d1f7"><td class="mdescLeft"> </td><td class="mdescRight">Submits the DMA transfer request. <a href="#gadf9824800405f5b161bae1db1bf7d1f7">More...</a><br/></td></tr>
|
|
<tr class="separator:gadf9824800405f5b161bae1db1bf7d1f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaf33bec6e25c422d61a41949c9a8283d4"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#gaf33bec6e25c422d61a41949c9a8283d4">DMA_StartTransfer</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle)</td></tr>
|
|
<tr class="memdesc:gaf33bec6e25c422d61a41949c9a8283d4"><td class="mdescLeft"> </td><td class="mdescRight">DMA starts a transfer. <a href="#gaf33bec6e25c422d61a41949c9a8283d4">More...</a><br/></td></tr>
|
|
<tr class="separator:gaf33bec6e25c422d61a41949c9a8283d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga351567089b3c6a45f85d078a42a6a0be"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga351567089b3c6a45f85d078a42a6a0be">DMA_StopTransfer</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle)</td></tr>
|
|
<tr class="memdesc:ga351567089b3c6a45f85d078a42a6a0be"><td class="mdescLeft"> </td><td class="mdescRight">DMA stops a transfer. <a href="#ga351567089b3c6a45f85d078a42a6a0be">More...</a><br/></td></tr>
|
|
<tr class="separator:ga351567089b3c6a45f85d078a42a6a0be"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3c61d6121d88d2cdf287fc1cd72912fd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga3c61d6121d88d2cdf287fc1cd72912fd">DMA_AbortTransfer</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle)</td></tr>
|
|
<tr class="memdesc:ga3c61d6121d88d2cdf287fc1cd72912fd"><td class="mdescLeft"> </td><td class="mdescRight">DMA aborts a transfer. <a href="#ga3c61d6121d88d2cdf287fc1cd72912fd">More...</a><br/></td></tr>
|
|
<tr class="separator:ga3c61d6121d88d2cdf287fc1cd72912fd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3484c491bd7943623d1d8fdc013c7e97"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ga3484c491bd7943623d1d8fdc013c7e97">DMA_HandleIRQ</a> (<a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> *handle)</td></tr>
|
|
<tr class="memdesc:ga3484c491bd7943623d1d8fdc013c7e97"><td class="mdescLeft"> </td><td class="mdescRight">DMA IRQ handler for current transfer complete. <a href="#ga3484c491bd7943623d1d8fdc013c7e97">More...</a><br/></td></tr>
|
|
<tr class="separator:ga3484c491bd7943623d1d8fdc013c7e97"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
|
|
<a name="structdma__transfer__config__t" id="structdma__transfer__config__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct dma_transfer_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:a9a8518955d5b39c2716a2c8ea9b1f4bc"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a9a8518955d5b39c2716a2c8ea9b1f4bc">srcAddr</a></td></tr>
|
|
<tr class="memdesc:a9a8518955d5b39c2716a2c8ea9b1f4bc"><td class="mdescLeft"> </td><td class="mdescRight">DMA transfer source address. <a href="#a9a8518955d5b39c2716a2c8ea9b1f4bc">More...</a><br/></td></tr>
|
|
<tr class="separator:a9a8518955d5b39c2716a2c8ea9b1f4bc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae5cbd4f566ccaf8d1ac4127372c7e476"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ae5cbd4f566ccaf8d1ac4127372c7e476">destAddr</a></td></tr>
|
|
<tr class="memdesc:ae5cbd4f566ccaf8d1ac4127372c7e476"><td class="mdescLeft"> </td><td class="mdescRight">DMA destination address. <a href="#ae5cbd4f566ccaf8d1ac4127372c7e476">More...</a><br/></td></tr>
|
|
<tr class="separator:ae5cbd4f566ccaf8d1ac4127372c7e476"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33cc4e86366a8e9a0051e404f651e793"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a33cc4e86366a8e9a0051e404f651e793">enableSrcIncrement</a></td></tr>
|
|
<tr class="memdesc:a33cc4e86366a8e9a0051e404f651e793"><td class="mdescLeft"> </td><td class="mdescRight">Source address increase after each transfer. <a href="#a33cc4e86366a8e9a0051e404f651e793">More...</a><br/></td></tr>
|
|
<tr class="separator:a33cc4e86366a8e9a0051e404f651e793"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a55b086bf0f5cb86d5f26a3ddd39860e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a55b086bf0f5cb86d5f26a3ddd39860e2">srcSize</a></td></tr>
|
|
<tr class="memdesc:a55b086bf0f5cb86d5f26a3ddd39860e2"><td class="mdescLeft"> </td><td class="mdescRight">Source transfer size unit. <a href="#a55b086bf0f5cb86d5f26a3ddd39860e2">More...</a><br/></td></tr>
|
|
<tr class="separator:a55b086bf0f5cb86d5f26a3ddd39860e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adea005db854d2deb273e17700015cbf1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#adea005db854d2deb273e17700015cbf1">enableDestIncrement</a></td></tr>
|
|
<tr class="memdesc:adea005db854d2deb273e17700015cbf1"><td class="mdescLeft"> </td><td class="mdescRight">Destination address increase after each transfer. <a href="#adea005db854d2deb273e17700015cbf1">More...</a><br/></td></tr>
|
|
<tr class="separator:adea005db854d2deb273e17700015cbf1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1cc4200fd89b96b4ed5f6a9605c5f43e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a1cc4200fd89b96b4ed5f6a9605c5f43e">destSize</a></td></tr>
|
|
<tr class="memdesc:a1cc4200fd89b96b4ed5f6a9605c5f43e"><td class="mdescLeft"> </td><td class="mdescRight">Destination transfer unit. <a href="#a1cc4200fd89b96b4ed5f6a9605c5f43e">More...</a><br/></td></tr>
|
|
<tr class="separator:a1cc4200fd89b96b4ed5f6a9605c5f43e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1a7c8942a628323e89f489a1656d5859"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a1a7c8942a628323e89f489a1656d5859">transferSize</a></td></tr>
|
|
<tr class="memdesc:a1a7c8942a628323e89f489a1656d5859"><td class="mdescLeft"> </td><td class="mdescRight">The number of bytes to be transferred. <a href="#a1a7c8942a628323e89f489a1656d5859">More...</a><br/></td></tr>
|
|
<tr class="separator:a1a7c8942a628323e89f489a1656d5859"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a9a8518955d5b39c2716a2c8ea9b1f4bc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t dma_transfer_config_t::srcAddr</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ae5cbd4f566ccaf8d1ac4127372c7e476"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t dma_transfer_config_t::destAddr</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a33cc4e86366a8e9a0051e404f651e793"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dma_transfer_config_t::enableSrcIncrement</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a55b086bf0f5cb86d5f26a3ddd39860e2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_size_t</a> dma_transfer_config_t::srcSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="adea005db854d2deb273e17700015cbf1"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool dma_transfer_config_t::enableDestIncrement</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1cc4200fd89b96b4ed5f6a9605c5f43e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_size_t</a> dma_transfer_config_t::destSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a1a7c8942a628323e89f489a1656d5859"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t dma_transfer_config_t::transferSize</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structdma__channel__link__config__t" id="structdma__channel__link__config__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct dma_channel_link_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:a377415cfa6e618ecfb2ba154e828cf8b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dma__driver.html#ga4ff91ace4e5146d14cd505235a2c618e">dma_channel_link_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a377415cfa6e618ecfb2ba154e828cf8b">linkType</a></td></tr>
|
|
<tr class="memdesc:a377415cfa6e618ecfb2ba154e828cf8b"><td class="mdescLeft"> </td><td class="mdescRight">Channel link type. <a href="#a377415cfa6e618ecfb2ba154e828cf8b">More...</a><br/></td></tr>
|
|
<tr class="separator:a377415cfa6e618ecfb2ba154e828cf8b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afc71a80292db667048cb89cf952aa04a"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#afc71a80292db667048cb89cf952aa04a">channel1</a></td></tr>
|
|
<tr class="memdesc:afc71a80292db667048cb89cf952aa04a"><td class="mdescLeft"> </td><td class="mdescRight">The index of channel 1. <a href="#afc71a80292db667048cb89cf952aa04a">More...</a><br/></td></tr>
|
|
<tr class="separator:afc71a80292db667048cb89cf952aa04a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab708f793951a1729ff8687adb8dcf696"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#ab708f793951a1729ff8687adb8dcf696">channel2</a></td></tr>
|
|
<tr class="memdesc:ab708f793951a1729ff8687adb8dcf696"><td class="mdescLeft"> </td><td class="mdescRight">The index of channel 2. <a href="#ab708f793951a1729ff8687adb8dcf696">More...</a><br/></td></tr>
|
|
<tr class="separator:ab708f793951a1729ff8687adb8dcf696"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a377415cfa6e618ecfb2ba154e828cf8b"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__dma__driver.html#ga4ff91ace4e5146d14cd505235a2c618e">dma_channel_link_type_t</a> dma_channel_link_config_t::linkType</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="afc71a80292db667048cb89cf952aa04a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t dma_channel_link_config_t::channel1</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab708f793951a1729ff8687adb8dcf696"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t dma_channel_link_config_t::channel2</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structdma__handle__t" id="structdma__handle__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct dma_handle_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:a84d667acc1301d6d56ae52573e4b6b87"><td class="memItemLeft" align="right" valign="top">DMA_Type * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a84d667acc1301d6d56ae52573e4b6b87">base</a></td></tr>
|
|
<tr class="memdesc:a84d667acc1301d6d56ae52573e4b6b87"><td class="mdescLeft"> </td><td class="mdescRight">DMA peripheral address. <a href="#a84d667acc1301d6d56ae52573e4b6b87">More...</a><br/></td></tr>
|
|
<tr class="separator:a84d667acc1301d6d56ae52573e4b6b87"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7c068d330cc60423ee3fd86821221b85"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a7c068d330cc60423ee3fd86821221b85">channel</a></td></tr>
|
|
<tr class="memdesc:a7c068d330cc60423ee3fd86821221b85"><td class="mdescLeft"> </td><td class="mdescRight">DMA channel used. <a href="#a7c068d330cc60423ee3fd86821221b85">More...</a><br/></td></tr>
|
|
<tr class="separator:a7c068d330cc60423ee3fd86821221b85"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a47a5c6af4c934cc9db355d394bb94f46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__dma__driver.html#ga977bec6df5a2af46f45ab22e30ea0a25">dma_callback</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a47a5c6af4c934cc9db355d394bb94f46">callback</a></td></tr>
|
|
<tr class="memdesc:a47a5c6af4c934cc9db355d394bb94f46"><td class="mdescLeft"> </td><td class="mdescRight">DMA callback function. <a href="#a47a5c6af4c934cc9db355d394bb94f46">More...</a><br/></td></tr>
|
|
<tr class="separator:a47a5c6af4c934cc9db355d394bb94f46"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2a10a0701fc2085ce58a0e35032e8a8e"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__dma__driver.html#a2a10a0701fc2085ce58a0e35032e8a8e">userData</a></td></tr>
|
|
<tr class="memdesc:a2a10a0701fc2085ce58a0e35032e8a8e"><td class="mdescLeft"> </td><td class="mdescRight">Callback parameter. <a href="#a2a10a0701fc2085ce58a0e35032e8a8e">More...</a><br/></td></tr>
|
|
<tr class="separator:a2a10a0701fc2085ce58a0e35032e8a8e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a84d667acc1301d6d56ae52573e4b6b87"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">DMA_Type* dma_handle_t::base</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7c068d330cc60423ee3fd86821221b85"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t dma_handle_t::channel</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a47a5c6af4c934cc9db355d394bb94f46"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__dma__driver.html#ga977bec6df5a2af46f45ab22e30ea0a25">dma_callback</a> dma_handle_t::callback</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a2a10a0701fc2085ce58a0e35032e8a8e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void* dma_handle_t::userData</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a class="anchor" id="gac68c8082b53756a7e58ec6d5f25117d2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FSL_DMA_DRIVER_VERSION   (<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">Typedef Documentation</h2>
|
|
<a class="anchor" id="ga977bec6df5a2af46f45ab22e30ea0a25"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">typedef void(* dma_callback)(struct _dma_handle *handle, void *userData)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a class="anchor" id="ga36e753dba44ae75ed949766e19cc113d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#ga36e753dba44ae75ed949766e19cc113d">_dma_channel_status_flags</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="gga36e753dba44ae75ed949766e19cc113da2d781b440cc4a6f79a1aceb6cf06cd07"></a>kDMA_TransactionsBCRFlag</em> </td><td class="fielddoc">
|
|
<p>Contains the number of bytes yet to be transferred for a given block. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113dae890ef1d8993fb00d8d95b7f3feb7d39"></a>kDMA_TransactionsDoneFlag</em> </td><td class="fielddoc">
|
|
<p>Transactions Done. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113da28dabe9487a26e3cacbce41b50752a70"></a>kDMA_TransactionsBusyFlag</em> </td><td class="fielddoc">
|
|
<p>Transactions Busy. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113da20f859fbcfa07c2a4b4a5b273910fbc6"></a>kDMA_TransactionsRequestFlag</em> </td><td class="fielddoc">
|
|
<p>Transactions Request. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113da38ba4fb9195801c5825242cdef9b582d"></a>kDMA_BusErrorOnDestinationFlag</em> </td><td class="fielddoc">
|
|
<p>Bus Error on Destination. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113da3a89390c5832154e2da5e909f7655922"></a>kDMA_BusErrorOnSourceFlag</em> </td><td class="fielddoc">
|
|
<p>Bus Error on Source. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga36e753dba44ae75ed949766e19cc113da85f087aebd042b357f46dadda6bbce83"></a>kDMA_ConfigurationErrorFlag</em> </td><td class="fielddoc">
|
|
<p>Configuration Error. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga4f754951efc1486472c14f009a02ac47"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#ga4f754951efc1486472c14f009a02ac47">dma_transfer_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="gga4f754951efc1486472c14f009a02ac47a969ae3a6429e54e8a301b26ecf3ab017"></a>kDMA_Transfersize32bits</em> </td><td class="fielddoc">
|
|
<p>32 bits are transferred for every read/write </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4f754951efc1486472c14f009a02ac47a14a03019f98a6f50dc1c4588d995f9d3"></a>kDMA_Transfersize8bits</em> </td><td class="fielddoc">
|
|
<p>8 bits are transferred for every read/write </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4f754951efc1486472c14f009a02ac47a02ab56512322e1a677b7ef2911735849"></a>kDMA_Transfersize16bits</em> </td><td class="fielddoc">
|
|
<p>16b its are transferred for every read/write </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gac76d0efebec5b4912a0156f9d7d1c3b2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_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="ggac76d0efebec5b4912a0156f9d7d1c3b2a8bd75d139becfb0a58d08a60e3682e87"></a>kDMA_ModuloDisable</em> </td><td class="fielddoc">
|
|
<p>Buffer disabled. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2abef7e8c58588f33dffdbea7876ad4a35"></a>kDMA_Modulo16Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 16 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a9989156fcb25590c9235239b657ec79f"></a>kDMA_Modulo32Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 32 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a6b3277aa7b8571ddf1cc7d2b5ee620d1"></a>kDMA_Modulo64Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 64 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a7bc2227e57ce0ff1dc41b2c71e877207"></a>kDMA_Modulo128Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 128 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a2c92174d5b350cfddb0a836661bb2625"></a>kDMA_Modulo256Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 256 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a83473cd4366829f5d23e52d8eeb8b4d5"></a>kDMA_Modulo512Bytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 512 bytes. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2af419011a303b2b12dfc9e1151ce7d64e"></a>kDMA_Modulo1KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 1 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2ac1dfc6c6ffe60f4000cdd465d931e18d"></a>kDMA_Modulo2KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 2 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a01080cdca6f101fd35b062465823bbdc"></a>kDMA_Modulo4KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 4 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a11cdc1d729d302ba4f5a198ebd597e6f"></a>kDMA_Modulo8KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 8 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a02785f9374e866f65bc069e7b3860b7c"></a>kDMA_Modulo16KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 16 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a0b6b6c652ee4630f01ce068607d5a23e"></a>kDMA_Modulo32KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 32 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2afe618f71bddf6f80dcd7e3f3169a34e0"></a>kDMA_Modulo64KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 64 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2abdb5276d85626400218399229879e050"></a>kDMA_Modulo128KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 128 KB. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggac76d0efebec5b4912a0156f9d7d1c3b2a868be515efaf346dc08b08a37a239654"></a>kDMA_Modulo256KBytes</em> </td><td class="fielddoc">
|
|
<p>Circular buffer size is 256 KB. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga4ff91ace4e5146d14cd505235a2c618e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#ga4ff91ace4e5146d14cd505235a2c618e">dma_channel_link_type_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="gga4ff91ace4e5146d14cd505235a2c618eaf31c1f53736aa000546413022b8c3280"></a>kDMA_ChannelLinkDisable</em> </td><td class="fielddoc">
|
|
<p>No channel link. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4ff91ace4e5146d14cd505235a2c618ea0d5d1186513e85268a131166d042497c"></a>kDMA_ChannelLinkChannel1AndChannel2</em> </td><td class="fielddoc">
|
|
<p>Perform a link to channel LCH1 after each cycle-steal transfer. </p>
|
|
<p>followed by a link to LCH2 after the BCR decrements to 0. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4ff91ace4e5146d14cd505235a2c618ea580b4a8b49c2d75de4171bcf0d2615b4"></a>kDMA_ChannelLinkChannel1</em> </td><td class="fielddoc">
|
|
<p>Perform a link to LCH1 after each cycle-steal transfer. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga4ff91ace4e5146d14cd505235a2c618ea10fb1aa6120440f198e6e6ccf6100bc1"></a>kDMA_ChannelLinkChannel1AfterBCR0</em> </td><td class="fielddoc">
|
|
<p>Perform a link to LCH1 after the BCR decrements. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga9cb7087af6efc80106c1033f80d60219"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#ga9cb7087af6efc80106c1033f80d60219">dma_transfer_type_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="gga9cb7087af6efc80106c1033f80d60219a24392a93deeb55e04559201839343f3c"></a>kDMA_MemoryToMemory</em> </td><td class="fielddoc">
|
|
<p>Memory to Memory transfer. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga9cb7087af6efc80106c1033f80d60219a7bf1938ae68b1f494aade7a0f4189303"></a>kDMA_PeripheralToMemory</em> </td><td class="fielddoc">
|
|
<p>Peripheral to Memory transfer. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga9cb7087af6efc80106c1033f80d60219aae1c6bab576d7a25d2fa1249f9cd4ee9"></a>kDMA_MemoryToPeripheral</em> </td><td class="fielddoc">
|
|
<p>Memory to Peripheral transfer. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga1c849fdcafc858964b6a7f2e0d75390c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__dma__driver.html#ga1c849fdcafc858964b6a7f2e0d75390c">dma_transfer_options_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="gga1c849fdcafc858964b6a7f2e0d75390caddc6103be52651841e795cccc872988b"></a>kDMA_NoOptions</em> </td><td class="fielddoc">
|
|
<p>Transfer without options. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga1c849fdcafc858964b6a7f2e0d75390cad289b8b98ee6cf2faa4788404fe809d8"></a>kDMA_EnableInterrupt</em> </td><td class="fielddoc">
|
|
<p>Enable interrupt while transfer complete. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a class="anchor" id="gade1b5efa61054ce538b37b181dd075bb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_Init </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function ungates the DMA clock.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga634ced9b86d7dc9543e0b4387123fcac"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_Deinit </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function gates the DMA clock.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga17a6d7e5f9d3f12777941447ed7659f5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_ResetChannel </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Sets all register values to reset values and enables the cycle steal and auto stop channel request features.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga3cc33ab27c5c0dc71cff81795522629a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_SetTransferConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> * </td>
|
|
<td class="paramname"><em>config</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function configures the transfer attribute including the source address, destination address, transfer size, and so on. This example shows how to set up the the <a class="el" href="group__dma__driver.html#structdma__transfer__config__t" title="DMA transfer configuration structure. ">dma_transfer_config_t</a> parameters and how to call the DMA_ConfigBasicTransfer function. </p>
|
|
<div class="fragment"><div class="line"><a class="code" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> transferConfig;</div>
|
|
<div class="line">memset(&transferConfig, 0, <span class="keyword">sizeof</span>(transferConfig));</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#a9a8518955d5b39c2716a2c8ea9b1f4bc">srcAddr</a> = (uint32_t)srcAddr;</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#ae5cbd4f566ccaf8d1ac4127372c7e476">destAddr</a> = (uint32_t)destAddr;</div>
|
|
<div class="line">transferConfig.enbaleSrcIncrement = <span class="keyword">true</span>;</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#adea005db854d2deb273e17700015cbf1">enableDestIncrement</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#a55b086bf0f5cb86d5f26a3ddd39860e2">srcSize</a> = <a class="code" href="group__dma__driver.html#gga4f754951efc1486472c14f009a02ac47a969ae3a6429e54e8a301b26ecf3ab017">kDMA_Transfersize32bits</a>;</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#a1cc4200fd89b96b4ed5f6a9605c5f43e">destSize</a> = <a class="code" href="group__dma__driver.html#gga4f754951efc1486472c14f009a02ac47a969ae3a6429e54e8a301b26ecf3ab017">kDMA_Transfersize32bits</a>;</div>
|
|
<div class="line">transferConfig.<a class="code" href="group__dma__driver.html#a1a7c8942a628323e89f489a1656d5859">transferSize</a> = <span class="keyword">sizeof</span>(uint32_t) * BUFF_LENGTH;</div>
|
|
<div class="line"><a class="code" href="group__dma__driver.html#ga3cc33ab27c5c0dc71cff81795522629a">DMA_SetTransferConfig</a>(DMA0, 0, &transferConfig);</div>
|
|
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">config</td><td>Pointer to the DMA transfer configuration structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga9a0aba2d09ef438d7faf8d4c4d458c11"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_SetChannelLinkConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__dma__driver.html#structdma__channel__link__config__t">dma_channel_link_config_t</a> * </td>
|
|
<td class="paramname"><em>config</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function allows DMA channels to have their transfers linked. The current DMA channel triggers a DMA request to the linked channels (LCH1 or LCH2) depending on the channel link type. Perform a link to channel LCH1 after each cycle-steal transfer followed by a link to LCH2 after the BCR decrements to 0 if the type is kDMA_ChannelLinkChannel1AndChannel2. Perform a link to LCH1 after each cycle-steal transfer if the type is kDMA_ChannelLinkChannel1. Perform a link to LCH1 after the BCR decrements to 0 if the type is kDMA_ChannelLinkChannel1AfterBCR0.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">config</td><td>Pointer to the channel link configuration structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga980caf1dc812aaab7b6113fb52b91bc2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_SetSourceAddress </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>srcAddr</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">srcAddr</td><td>DMA source address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaac2cf26389fdac8720edc98cd8e21aec"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_SetDestinationAddress </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>destAddr</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">destAddr</td><td>DMA destination address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga76430445da424d0c768399dbbfb1930d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_SetTransferSize </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>size</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">size</td><td>The number of bytes to be transferred. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga813a9ddafd11393d8848a946622dd80d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_SetModulo </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_t</a> </td>
|
|
<td class="paramname"><em>srcModulo</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#gac76d0efebec5b4912a0156f9d7d1c3b2">dma_modulo_t</a> </td>
|
|
<td class="paramname"><em>destModulo</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function defines a specific address range specified to be the value after (SAR + SSIZE)/(DAR + DSIZE) calculation is performed or the original register value. It provides the ability to implement a circular data queue easily.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">srcModulo</td><td>source address modulo. </td></tr>
|
|
<tr><td class="paramname">destModulo</td><td>destination address modulo. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga7d50e7ada536a2acfc626cc477075ef4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_EnableCycleSteal </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>enable</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>If the cycle steal feature is enabled (true), the DMA controller forces a single read/write transfer per request, or it continuously makes read/write transfers until the BCR decrements to 0.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>The command for enable (true) or disable (false). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga1fd6efd06eefc766c72493ca249c06d0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_EnableAutoAlign </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>enable</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>If the auto align feature is enabled (true), the appropriate address register increments, regardless of DINC or SINC.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>The command for enable (true) or disable (false). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaafbc7d79765ae6f456175e64aa6fd399"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_EnableAsyncRequest </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>enable</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>If the async request feature is enabled (true), the DMA supports asynchronous DREQs while the MCU is in stop mode.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>The command for enable (true) or disable (false). </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaebf70b28223b77c631c3b6cfd3f2bb91"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_EnableInterrupts </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2d0b06f800cecf31b418692cb8d328ea"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_DisableInterrupts </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaf554aea248ac4941adc8a97b0549cde9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_EnableChannelRequest </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>The DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga796491fd14d466d3a8073644ca65c524"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_DisableChannelRequest </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga7c779380909187ecbec0b15cbc86a05f"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_TriggerChannelStart </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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>This function starts only one read/write iteration.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>The DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga42aa531ad5e3664b5d71852ad2710d14"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static uint32_t DMA_GetRemainingBytes </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The number of bytes which have not been transferred yet. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gab5faf6f718f3aa9b32d0a4ccd45bb0ac"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static uint32_t DMA_GetChannelStatusFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The mask of the channel status. Use the _dma_channel_status_flags type to decode the return 32 bit variables. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gacb769949a98ea36a24a14dc437157eb2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_ClearChannelStatusFlags </td>
|
|
<td>(</td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>mask</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</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">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
<tr><td class="paramname">mask</td><td>The mask of the channel status to be cleared. Use the defined _dma_channel_status_flags type. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga5354ff2c0c1ec53e2cbd712169fc5558"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_CreateHandle </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">DMA_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>channel</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function is called first if using the transactional API for the DMA. This function initializes the internal state of the DMA handle.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. The DMA handle stores callback function and parameters. </td></tr>
|
|
<tr><td class="paramname">base</td><td>DMA peripheral base address. </td></tr>
|
|
<tr><td class="paramname">channel</td><td>DMA channel number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2eb9a831b9a84c5108097f770dbe90db"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_SetCallback </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#ga977bec6df5a2af46f45ab22e30ea0a25">dma_callback</a> </td>
|
|
<td class="paramname"><em>callback</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>userData</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This callback is called in the DMA IRQ handler. Use the callback to do something after the current transfer complete.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
<tr><td class="paramname">callback</td><td>DMA callback function pointer. </td></tr>
|
|
<tr><td class="paramname">userData</td><td>Parameter for callback function. If it is not needed, just set to NULL. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaf6e0b93e92a31e0dd3398bce34decb40"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_PrepareTransfer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> * </td>
|
|
<td class="paramname"><em>config</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>srcAddr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>srcWidth</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>destAddr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>destWidth</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>transferBytes</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#ga9cb7087af6efc80106c1033f80d60219">dma_transfer_type_t</a> </td>
|
|
<td class="paramname"><em>type</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function prepares the transfer configuration structure according to the user input.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">config</td><td>Pointer to the user configuration structure of type <a class="el" href="group__dma__driver.html#structdma__transfer__config__t" title="DMA transfer configuration structure. ">dma_transfer_config_t</a>. </td></tr>
|
|
<tr><td class="paramname">srcAddr</td><td>DMA transfer source address. </td></tr>
|
|
<tr><td class="paramname">srcWidth</td><td>DMA transfer source address width (byte). </td></tr>
|
|
<tr><td class="paramname">destAddr</td><td>DMA transfer destination address. </td></tr>
|
|
<tr><td class="paramname">destWidth</td><td>DMA transfer destination address width (byte). </td></tr>
|
|
<tr><td class="paramname">transferBytes</td><td>DMA transfer bytes to be transferred. </td></tr>
|
|
<tr><td class="paramname">type</td><td>DMA transfer type. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gadf9824800405f5b161bae1db1bf7d1f7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">status_t DMA_SubmitTransfer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__dma__driver.html#structdma__transfer__config__t">dma_transfer_config_t</a> * </td>
|
|
<td class="paramname"><em>config</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>options</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function submits the DMA transfer request according to the transfer configuration structure.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
<tr><td class="paramname">config</td><td>Pointer to DMA transfer configuration structure. </td></tr>
|
|
<tr><td class="paramname">options</td><td>Additional configurations for transfer. Use the defined dma_transfer_options_t type. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">kStatus_DMA_Success</td><td>It indicates that the DMA submit transfer request succeeded. </td></tr>
|
|
<tr><td class="paramname">kStatus_DMA_Busy</td><td>It indicates that the DMA is busy. Submit transfer request is not allowed. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This function can't process multi transfer request. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaf33bec6e25c422d61a41949c9a8283d4"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_StartTransfer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</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>This function enables the channel request. Call this function after submitting a transfer request.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">kStatus_DMA_Success</td><td>It indicates that the DMA start transfer succeed. </td></tr>
|
|
<tr><td class="paramname">kStatus_DMA_Busy</td><td>It indicates that the DMA has started a transfer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga351567089b3c6a45f85d078a42a6a0be"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void DMA_StopTransfer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</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>This function disables the channel request to stop a DMA transfer. The transfer can be resumed by calling the DMA_StartTransfer.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga3c61d6121d88d2cdf287fc1cd72912fd"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_AbortTransfer </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function disables the channel request and clears all status bits. Submit another transfer after calling this API.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga3484c491bd7943623d1d8fdc013c7e97"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void DMA_HandleIRQ </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="group__dma__driver.html#structdma__handle__t">dma_handle_t</a> * </td>
|
|
<td class="paramname"><em>handle</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This function clears the channel interrupt flag and calls the callback function if it is not NULL.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">handle</td><td>DMA handle pointer. </td></tr>
|
|
</table>
|
|
</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">© 2016 NXP Semiconductors. All rights reserved.
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|