MCUXpresso_LPC55S69/docs/MCUXpresso SDK API Referenc.../a00037.html

808 lines
44 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.5"/>
<title>MCUXpresso SDK API Reference Manual: MemManager</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">MCUXpresso SDK API Reference Manual
&#160;<span id="projectnumber">Rev 2.15.000</span>
</div>
<div id="projectbrief">NXP Semiconductors</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a00037.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">MemManager</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<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:a00363"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#a00363">_mem_config</a></td></tr>
<tr class="memdesc:a00363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory user config. <a href="a00037.html#a00363">More...</a><br/></td></tr>
<tr class="separator:a00363"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga16978454e4bca80c0f64f77d1bf6355c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga16978454e4bca80c0f64f77d1bf6355c">MinimalHeapSize_c</a>&#160;&#160;&#160;(uint32_t)4</td></tr>
<tr class="memdesc:ga16978454e4bca80c0f64f77d1bf6355c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide Minimal heap size for application to execute correctly. <a href="#ga16978454e4bca80c0f64f77d1bf6355c">More...</a><br/></td></tr>
<tr class="separator:ga16978454e4bca80c0f64f77d1bf6355c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf40e9002dfea2d45f2b96dbbb4a1a784"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf40e9002dfea2d45f2b96dbbb4a1a784"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gaf40e9002dfea2d45f2b96dbbb4a1a784">gMemManagerLight</a>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:gaf40e9002dfea2d45f2b96dbbb4a1a784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the memory manager light enable. <br/></td></tr>
<tr class="separator:gaf40e9002dfea2d45f2b96dbbb4a1a784"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06e252990b787b21620cab5be8710372"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga06e252990b787b21620cab5be8710372"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga06e252990b787b21620cab5be8710372">MEM_MANAGER_ENABLE_TRACE</a>&#160;&#160;&#160;(0)</td></tr>
<tr class="memdesc:ga06e252990b787b21620cab5be8710372"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the memory manager trace debug enable. <br/></td></tr>
<tr class="separator:ga06e252990b787b21620cab5be8710372"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58784c31750deb2f8d3cafa6e4cfa2f4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga58784c31750deb2f8d3cafa6e4cfa2f4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga58784c31750deb2f8d3cafa6e4cfa2f4">MEM_MANAGER_PRE_CONFIGURE</a>&#160;&#160;&#160;(1)</td></tr>
<tr class="memdesc:ga58784c31750deb2f8d3cafa6e4cfa2f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the memory manager pre configure. <br/></td></tr>
<tr class="separator:ga58784c31750deb2f8d3cafa6e4cfa2f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga928348fb48efae642137bb8e3e25e2a3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga928348fb48efae642137bb8e3e25e2a3">MEM_BLOCK_DATA_BUFFER_DEFINE</a>(name, numberOfBlocks, blockSize, id)</td></tr>
<tr class="memdesc:ga928348fb48efae642137bb8e3e25e2a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the memory buffer. <a href="#ga928348fb48efae642137bb8e3e25e2a3">More...</a><br/></td></tr>
<tr class="separator:ga928348fb48efae642137bb8e3e25e2a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga475f7fc6d9a6aed46df3de6132f6008b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga475f7fc6d9a6aed46df3de6132f6008b">MEM_BLOCK_BUFFER</a>(name)&#160;&#160;&#160;(uint8_t *)&amp;g_poolHeadBuffer##name</td></tr>
<tr class="memdesc:ga475f7fc6d9a6aed46df3de6132f6008b"><td class="mdescLeft">&#160;</td><td class="mdescRight">\ <a href="#ga475f7fc6d9a6aed46df3de6132f6008b">More...</a><br/></td></tr>
<tr class="separator:ga475f7fc6d9a6aed46df3de6132f6008b"><td class="memSeparator" colspan="2">&#160;</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:ga9a300d0ff6259775691ab2b096ea55b9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9a300d0ff6259775691ab2b096ea55b9"></a>
typedef enum <a class="el" href="a00037.html#ga045af81b3f565b681c5cf77fcb4aae7b">_mem_status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a></td></tr>
<tr class="memdesc:ga9a300d0ff6259775691ab2b096ea55b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory status. <br/></td></tr>
<tr class="separator:ga9a300d0ff6259775691ab2b096ea55b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga87e471e7111708469459bcd2ef97537e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga87e471e7111708469459bcd2ef97537e"></a>
typedef struct <a class="el" href="a00037.html#a00363">_mem_config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga87e471e7111708469459bcd2ef97537e">mem_config_t</a></td></tr>
<tr class="memdesc:ga87e471e7111708469459bcd2ef97537e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory user config. <br/></td></tr>
<tr class="separator:ga87e471e7111708469459bcd2ef97537e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe600dbd3afdd104ecba12efe737d22e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe600dbd3afdd104ecba12efe737d22e"></a>
typedef struct _mem_area_cfg_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gabe600dbd3afdd104ecba12efe737d22e">memAreaCfg_t</a></td></tr>
<tr class="memdesc:gabe600dbd3afdd104ecba12efe737d22e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory user config. <br/></td></tr>
<tr class="separator:gabe600dbd3afdd104ecba12efe737d22e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga045af81b3f565b681c5cf77fcb4aae7b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga045af81b3f565b681c5cf77fcb4aae7b">_mem_status</a> </td></tr>
<tr class="memdesc:ga045af81b3f565b681c5cf77fcb4aae7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory status. <br/></td></tr>
<tr class="separator:ga045af81b3f565b681c5cf77fcb4aae7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga774c0d300b19f83bf97a128a62b29a41"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga774c0d300b19f83bf97a128a62b29a41"></a>
<a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga774c0d300b19f83bf97a128a62b29a41">MEM_Init</a> (void)</td></tr>
<tr class="memdesc:ga774c0d300b19f83bf97a128a62b29a41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialises the Memory Manager. <br/></td></tr>
<tr class="separator:ga774c0d300b19f83bf97a128a62b29a41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcff3206627290b0aa07177b202499c7"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gafcff3206627290b0aa07177b202499c7">MEM_BufferAllocWithId</a> (uint32_t numBytes, uint8_t poolId)</td></tr>
<tr class="memdesc:gafcff3206627290b0aa07177b202499c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a block from the memory pools. <a href="#gafcff3206627290b0aa07177b202499c7">More...</a><br/></td></tr>
<tr class="separator:gafcff3206627290b0aa07177b202499c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab03704e4f06151ab3b74fb4724e42e61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gab03704e4f06151ab3b74fb4724e42e61">MEM_BufferFree</a> (void *buffer)</td></tr>
<tr class="memdesc:gab03704e4f06151ab3b74fb4724e42e61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory buffer free . <a href="#gab03704e4f06151ab3b74fb4724e42e61">More...</a><br/></td></tr>
<tr class="separator:gab03704e4f06151ab3b74fb4724e42e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad158f3f85718f7bf0554f13abbb49f3"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gaad158f3f85718f7bf0554f13abbb49f3">MEM_BufferGetSize</a> (void *buffer)</td></tr>
<tr class="memdesc:gaad158f3f85718f7bf0554f13abbb49f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of a given buffer. <a href="#gaad158f3f85718f7bf0554f13abbb49f3">More...</a><br/></td></tr>
<tr class="separator:gaad158f3f85718f7bf0554f13abbb49f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacefbb7014fb7ae473c71bf037363581a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gacefbb7014fb7ae473c71bf037363581a">MEM_BufferFreeAllWithId</a> (uint8_t poolId)</td></tr>
<tr class="memdesc:gacefbb7014fb7ae473c71bf037363581a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees all allocated blocks by selected source and in selected pool. <a href="#gacefbb7014fb7ae473c71bf037363581a">More...</a><br/></td></tr>
<tr class="separator:gacefbb7014fb7ae473c71bf037363581a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59178a6e9d993615b4fe1ce5f1800329"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga59178a6e9d993615b4fe1ce5f1800329">MEM_BufferRealloc</a> (void *buffer, uint32_t new_size)</td></tr>
<tr class="memdesc:ga59178a6e9d993615b4fe1ce5f1800329"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory buffer realloc. <a href="#ga59178a6e9d993615b4fe1ce5f1800329">More...</a><br/></td></tr>
<tr class="separator:ga59178a6e9d993615b4fe1ce5f1800329"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0b3c73ddc44a47578dbce6877a7afaa"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gaf0b3c73ddc44a47578dbce6877a7afaa">MEM_GetHeapUpperLimit</a> (void)</td></tr>
<tr class="memdesc:gaf0b3c73ddc44a47578dbce6877a7afaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the address after the last allocated block if MemManagerLight is used. <a href="#gaf0b3c73ddc44a47578dbce6877a7afaa">More...</a><br/></td></tr>
<tr class="separator:gaf0b3c73ddc44a47578dbce6877a7afaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab959a08ab58d470402f15fef3f265386"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gab959a08ab58d470402f15fef3f265386">MEM_GetHeapUpperLimitByAreaId</a> (uint8_t id)</td></tr>
<tr class="memdesc:gab959a08ab58d470402f15fef3f265386"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the address after the last allocated block in area defined by id. <a href="#gab959a08ab58d470402f15fef3f265386">More...</a><br/></td></tr>
<tr class="separator:gab959a08ab58d470402f15fef3f265386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad988214b22ea0a6deb3cd31b33df6137"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gad988214b22ea0a6deb3cd31b33df6137">MEM_GetFreeHeapSizeLowWaterMark</a> (void)</td></tr>
<tr class="memdesc:gad988214b22ea0a6deb3cd31b33df6137"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the free space low watermark. <a href="#gad988214b22ea0a6deb3cd31b33df6137">More...</a><br/></td></tr>
<tr class="separator:gad988214b22ea0a6deb3cd31b33df6137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga405addb3035a02ba86c8182898e98eef"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga405addb3035a02ba86c8182898e98eef">MEM_GetFreeHeapSizeLowWaterMarkByAreaId</a> (uint8_t area_id)</td></tr>
<tr class="memdesc:ga405addb3035a02ba86c8182898e98eef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the free space low watermark. <a href="#ga405addb3035a02ba86c8182898e98eef">More...</a><br/></td></tr>
<tr class="separator:ga405addb3035a02ba86c8182898e98eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga00b3ac5a78644d57be23f416c3ae66d2"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga00b3ac5a78644d57be23f416c3ae66d2">MEM_ResetFreeHeapSizeLowWaterMark</a> (void)</td></tr>
<tr class="memdesc:ga00b3ac5a78644d57be23f416c3ae66d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the free space low watermark. <a href="#ga00b3ac5a78644d57be23f416c3ae66d2">More...</a><br/></td></tr>
<tr class="separator:ga00b3ac5a78644d57be23f416c3ae66d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec23dea24086f8ecf45265a503a933f3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gaec23dea24086f8ecf45265a503a933f3">MEM_ResetFreeHeapSizeLowWaterMarkByAreaId</a> (uint8_t area_id)</td></tr>
<tr class="memdesc:gaec23dea24086f8ecf45265a503a933f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the free space low watermark. <a href="#gaec23dea24086f8ecf45265a503a933f3">More...</a><br/></td></tr>
<tr class="separator:gaec23dea24086f8ecf45265a503a933f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56427de12ce38cf77c7623a666de248a"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga56427de12ce38cf77c7623a666de248a">MEM_GetFreeHeapSizeByAreaId</a> (uint8_t area_id)</td></tr>
<tr class="memdesc:ga56427de12ce38cf77c7623a666de248a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the free space in the heap for a area id. <a href="#ga56427de12ce38cf77c7623a666de248a">More...</a><br/></td></tr>
<tr class="separator:ga56427de12ce38cf77c7623a666de248a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac381264fd9c1aaec541808e579bb1e6e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gac381264fd9c1aaec541808e579bb1e6e">MEM_GetFreeHeapSize</a> (void)</td></tr>
<tr class="memdesc:gac381264fd9c1aaec541808e579bb1e6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the free space in the heap. <a href="#gac381264fd9c1aaec541808e579bb1e6e">More...</a><br/></td></tr>
<tr class="separator:gac381264fd9c1aaec541808e579bb1e6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bf2ba119ac79377c8cb0e7ee095fb01"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga7bf2ba119ac79377c8cb0e7ee095fb01">MEM_ReinitRamBank</a> (uint32_t startAddress, uint32_t endAddress)</td></tr>
<tr class="memdesc:ga7bf2ba119ac79377c8cb0e7ee095fb01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selective RAM bank reinit after low power, based on a requested address range Useful for ECC RAM banks Defined as weak and empty in fsl_component_mem_manager_light.c to be overloaded by user. <a href="#ga7bf2ba119ac79377c8cb0e7ee095fb01">More...</a><br/></td></tr>
<tr class="separator:ga7bf2ba119ac79377c8cb0e7ee095fb01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade1e84330f51e7205fb882642e549039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#gade1e84330f51e7205fb882642e549039">MEM_RegisterExtendedArea</a> (<a class="el" href="a00037.html#gabe600dbd3afdd104ecba12efe737d22e">memAreaCfg_t</a> *area_desc, uint8_t *area_id, uint16_t flags)</td></tr>
<tr class="memdesc:gade1e84330f51e7205fb882642e549039"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to register additional areas to allocate memory from. <a href="#gade1e84330f51e7205fb882642e549039">More...</a><br/></td></tr>
<tr class="separator:gade1e84330f51e7205fb882642e549039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65bad0c14158662b3a77de57317019f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00037.html#ga65bad0c14158662b3a77de57317019f7">MEM_UnRegisterExtendedArea</a> (uint8_t area_id)</td></tr>
<tr class="memdesc:ga65bad0c14158662b3a77de57317019f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to unregister an extended area. <a href="#ga65bad0c14158662b3a77de57317019f7">More...</a><br/></td></tr>
<tr class="separator:ga65bad0c14158662b3a77de57317019f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="a00363" id="a00363"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _mem_config</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga16978454e4bca80c0f64f77d1bf6355c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MinimalHeapSize_c&#160;&#160;&#160;(uint32_t)4</td>
</tr>
</table>
</div><div class="memdoc">
<p>The application can define a minimal heap size for proper code exection at run time, This will issue a link error if the minimal heap size requirement is not fullfilled (not enough space in RAM) By Default, Minimal heap size is set to 4 bytes (unlikely enough to have application work correctly) </p>
</div>
</div>
<a class="anchor" id="ga928348fb48efae642137bb8e3e25e2a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MEM_BLOCK_DATA_BUFFER_DEFINE</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">numberOfBlocks, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">blockSize, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">id&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">uint32_t \</div>
<div class="line"> g_poolBuffer##name[(MEM_POOL_SIZE + numberOfBlocks * MEM_BLOCK_SIZE + numberOfBlocks * blockSize + 3U) &gt;&gt; 2U];</div>
</div><!-- fragment --><p>This macro is used to define the shell memory buffer for memory manager. And then uses the macro MEM_BLOCK_BUFFER to get the memory buffer pointer. The macro should not be used in any function.</p>
<p>This is a example, </p>
<div class="fragment"><div class="line">* MEM_BLOCK_BUFFER_DEFINE(app64, 5, 64,0);</div>
<div class="line">* MEM_BLOCK_BUFFER_DEFINE(app128, 6, 128,0);</div>
<div class="line">* MEM_BLOCK_BUFFER_DEFINE(app256, 7, 256,0);</div>
<div class="line">* </div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The name string of the memory buffer. </td></tr>
<tr><td class="paramname">numberOfBlocks</td><td>The number Of Blocks. </td></tr>
<tr><td class="paramname">blockSize</td><td>The memory block size. </td></tr>
<tr><td class="paramname">id</td><td>The id Of memory buffer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga475f7fc6d9a6aed46df3de6132f6008b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MEM_BLOCK_BUFFER</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">name</td><td>)</td>
<td>&#160;&#160;&#160;(uint8_t *)&amp;g_poolHeadBuffer##name</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the memory buffer pointer \ \ This macro is used to get the memory buffer pointer. The macro should \ not be used before the macro MEM_BLOCK_BUFFER_DEFINE is used. \ \ </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>The memory name string of the buffer. \ </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gafcff3206627290b0aa07177b202499c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* MEM_BufferAllocWithId </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>numBytes</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>poolId</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The function uses the numBytes argument to look up a pool with adequate block sizes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">numBytes</td><td>The number of bytes will be allocated. </td></tr>
<tr><td class="paramname">poolId</td><td>The ID of the pool where to search for a free buffer. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">Memory</td><td>buffer address when allocate success, NULL when allocate fail. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab03704e4f06151ab3b74fb4724e42e61"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a> MEM_BufferFree </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buffer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buffer</td><td>The memory buffer address will be free. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_MemSuccess</td><td>Memory free succeed. </td></tr>
<tr><td class="paramname">kStatus_MemFreeError</td><td>Memory free error occurred. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaad158f3f85718f7bf0554f13abbb49f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t MEM_BufferGetSize </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buffer</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buffer</td><td>The memory buffer address will be get size. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">The</td><td>size of a given buffer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gacefbb7014fb7ae473c71bf037363581a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a> MEM_BufferFreeAllWithId </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>poolId</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">poolId</td><td>Selected pool Id (4 LSBs of poolId parameter) and selected source Id (4 MSBs of poolId parameter). </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_MemSuccess</td><td>Memory free succeed. </td></tr>
<tr><td class="paramname">kStatus_MemFreeError</td><td>Memory free error occurred. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga59178a6e9d993615b4fe1ce5f1800329"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* MEM_BufferRealloc </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>new_size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buffer</td><td>The memory buffer address will be reallocated. </td></tr>
<tr><td class="paramname">new_size</td><td>The number of bytes will be reallocated </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_MemSuccess</td><td>Memory free succeed. </td></tr>
<tr><td class="paramname">kStatus_MemFreeError</td><td>Memory free error occurred. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf0b3c73ddc44a47578dbce6877a7afaa"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetHeapUpperLimit </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">UpperLimit</td><td>Return the address after the last allocated block if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab959a08ab58d470402f15fef3f265386"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetHeapUpperLimitByAreaId </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>0 means memHeap, other values depend on number of registered areas</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">UpperLimit</td><td>Return the address after the last allocated block if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gad988214b22ea0a6deb3cd31b33df6137"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetFreeHeapSizeLowWaterMark </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FreeHeapSize</td><td>Return the heap space low water mark free if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga405addb3035a02ba86c8182898e98eef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetFreeHeapSizeLowWaterMarkByAreaId </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>area_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">area_id</td><td>Selected area Id</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">Return</td><td>the heap space low water mark free if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga00b3ac5a78644d57be23f416c3ae66d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_ResetFreeHeapSizeLowWaterMark </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FreeHeapSize</td><td>Return the heap space low water mark free at the time it was reset if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaec23dea24086f8ecf45265a503a933f3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_ResetFreeHeapSizeLowWaterMarkByAreaId </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>area_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">area_id</td><td>Selected area Id</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FreeHeapSize</td><td>Return the heap space low water mark free at the time it was reset if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga56427de12ce38cf77c7623a666de248a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetFreeHeapSizeByAreaId </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>area_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">area_id</td><td>area_id whose available size is requested (0 means generic pool)</td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FreeHeapSize</td><td>Return the free space in the heap if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac381264fd9c1aaec541808e579bb1e6e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t MEM_GetFreeHeapSize </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">FreeHeapSize</td><td>Return the free space in the heap if MemManagerLight is used. </td></tr>
<tr><td class="paramname">0</td><td>Return 0 in case of the legacy MemManager. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7bf2ba119ac79377c8cb0e7ee095fb01"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MEM_ReinitRamBank </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>startAddress</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>endAddress</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">startAddress</td><td>Start address of the requested range </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">endAddress</td><td>End address of the requested range </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gade1e84330f51e7205fb882642e549039"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a> MEM_RegisterExtendedArea </td>
<td>(</td>
<td class="paramtype"><a class="el" href="a00037.html#gabe600dbd3afdd104ecba12efe737d22e">memAreaCfg_t</a> *&#160;</td>
<td class="paramname"><em>area_desc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>area_id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>flags</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">area_desc</td><td>memAreaCfg_t structure defining start address and end address of area. This atructure may not be in rodata becasue the next field and internal private context are reserved in this structure. If NULL defines the default memHeap area. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">area_id</td><td>pointer to return id of area. Required if allocation from specific pool is required. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>BIT(0) means that allocations can be performed in pool only explicitly and it is not a member of the default pool (id 0). Invalid for initial registration call. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_MemSuccess if success, kStatus_MemInitError otherwise. </dd></dl>
</div>
</div>
<a class="anchor" id="ga65bad0c14158662b3a77de57317019f7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="a00037.html#ga9a300d0ff6259775691ab2b096ea55b9">mem_status_t</a> MEM_UnRegisterExtendedArea </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>area_id</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">area_id</td><td>must be different from 0 (main heap).</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>kStatus_MemSuccess if success, kStatus_MemFreeError if area_id is 0 or area not found or still has buffers in use. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 NXP Semiconductors. All rights reserved.
</li>
</ul>
</div>
</body>
</html>