1642 lines
100 KiB
HTML
1642 lines
100 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: MPU: Memory Protection Unit</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__mpu.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="#define-members">Macros</a> |
|
|
<a href="#enum-members">Enumerations</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">MPU: Memory Protection Unit</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
|
|
<p>The MPU driver provides hardware access control for all memory references generated in the device. Use the MPU driver to program the region descriptors that define memory spaces and their access rights. After initialization, the MPU concurrently monitors the system bus transactions and evaluates the appropriateness.</p>
|
|
<h1><a class="anchor" id="MPUInit"></a>
|
|
Initialization and Deinitialize</h1>
|
|
<p>To initialize the MPU module, call the <a class="el" href="group__mpu.html#ga65263dc5500d98c4a505c9e828cc8abc" title="Initializes the MPU with the user configuration structure. ">MPU_Init()</a> function and provide the user configuration data structure. This function sets the configuration of the MPU module automatically and enables the MPU module. <br/>
|
|
Note that the configuration start address, end address, the region valid value, and the debugger's access permission for the MPU region 0 cannot be changed.</p>
|
|
<p>This is example code to configure the MPU driver:</p>
|
|
<div class="fragment"><div class="line"> <span class="comment">// Defines the MPU memory access permission configuration structure . //</span></div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a> mpuLowAccessRights =</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751a53875d9221ed801dc21fb1d82a214a19">kMPU_SupervisorReadWriteExecute</a>, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995">kMPU_UserNoAccessRights</a>, </div>
|
|
<div class="line"> kMPU_IdentifierDisable, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751ab2d6f97e6384959cddc969ed0caddf6e">kMPU_SupervisorEqualToUsermode</a>, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995">kMPU_UserNoAccessRights</a>, </div>
|
|
<div class="line"> kMPU_IdentifierDisable, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751ab2d6f97e6384959cddc969ed0caddf6e">kMPU_SupervisorEqualToUsermode</a>, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995">kMPU_UserNoAccessRights</a>, </div>
|
|
<div class="line"> kMPU_IdentifierDisable, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751ab2d6f97e6384959cddc969ed0caddf6e">kMPU_SupervisorEqualToUsermode</a>, </div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995">kMPU_UserNoAccessRights</a>, </div>
|
|
<div class="line"> kMPU_IdentifierDisable </div>
|
|
<div class="line"> }</div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a> mpuHighAccessRights =</div>
|
|
<div class="line"></div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span>, </div>
|
|
<div class="line"> <span class="keyword">false</span> </div>
|
|
<div class="line">};</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Defines the MPU region configuration structure. //</span></div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a> mpuRegionConfig =</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> kMPU_RegionNum00, </div>
|
|
<div class="line"> 0x0, </div>
|
|
<div class="line"> 0xffffffff, </div>
|
|
<div class="line"> mpuLowAccessRights, </div>
|
|
<div class="line"> mpuHighAccessRights, </div>
|
|
<div class="line"> 0,</div>
|
|
<div class="line"> 0</div>
|
|
<div class="line">};</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Defines the MPU user configuration structure. //</span></div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#structmpu__config__t">mpu_config_t</a> mpuUserConfig =</div>
|
|
<div class="line"> {</div>
|
|
<div class="line"> mpuRegionConfig, </div>
|
|
<div class="line"> NULL </div>
|
|
<div class="line"> };</div>
|
|
<div class="line"></div>
|
|
<div class="line"> <span class="comment">// Initializes the MPU region 0. //</span></div>
|
|
<div class="line"> <a class="code" href="group__mpu.html#ga65263dc5500d98c4a505c9e828cc8abc">MPU_Init</a>(MPU, &mpuUserConfig);</div>
|
|
</div><!-- fragment --><h1><a class="anchor" id="MPUBasicOp"></a>
|
|
Basic Control Operations</h1>
|
|
<p>MPU can be enabled/disabled for the entire memory protection region by calling the <a class="el" href="group__mpu.html#ga986f9d3d06f4ed56212aaf3525c699a5" title="Enables/disables the MPU globally. ">MPU_Enable()</a>. To save the power for any unused special regions when the entire memory protection region is disabled, call the <a class="el" href="group__mpu.html#ga6336553aee5c9086c07da287fd0a57a9" title="Enables/disables the MPU for a special region. ">MPU_RegionEnable()</a>.</p>
|
|
<p>After MPU initialization, the <a class="el" href="group__mpu.html#gaeb285d6ff5da5704a2dd20d2fcdbb1af" title="Sets the MPU region access rights for low master port 0 ~ port 3. ">MPU_SetRegionLowMasterAccessRights()</a> and <a class="el" href="group__mpu.html#gaa21e31902d97b8041ff51358e4934831" title="Sets the MPU region access rights for high master port 4 ~ port 7. ">MPU_SetRegionHighMasterAccessRights()</a> can be used to change the access rights for special master ports and for special region numbers. The MPU_SetRegionConfig can be used to set the whole region with the start/end address with access rights.</p>
|
|
<p>The <a class="el" href="group__mpu.html#ga769e4d49b69bfadc6c575c30b49ca164" title="Gets the MPU basic hardware information. ">MPU_GetHardwareInfo()</a> API is provided to get the hardware information for the device. The <a class="el" href="group__mpu.html#gad36649693bde12744ac6aeb317a57e88" title="Gets the numbers of slave ports where errors occur. ">MPU_GetSlavePortErrorStatus()</a> API is provided to get the error status of a special slave port. When an error happens in this port, the <a class="el" href="group__mpu.html#gaca61af7eb9e6f2358049826c2a9058a0" title="Gets the MPU detailed error access information. ">MPU_GetDetailErrorAccessInfo()</a> API is provided to get the detailed error information. </p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
|
|
Files</h2></td></tr>
|
|
<tr class="memitem:fsl__mpu_8h"><td class="memItemLeft" align="right" valign="top">file  </td><td class="memItemRight" valign="bottom"><a class="el" href="fsl__mpu_8h.html">fsl_mpu.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:structmpu__hardware__info__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__hardware__info__t">mpu_hardware_info_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__hardware__info__t"><td class="mdescLeft"> </td><td class="mdescRight">MPU hardware basic information. <a href="group__mpu.html#structmpu__hardware__info__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__hardware__info__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structmpu__access__err__info__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__access__err__info__t">mpu_access_err_info_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__access__err__info__t"><td class="mdescLeft"> </td><td class="mdescRight">MPU detail error access information. <a href="group__mpu.html#structmpu__access__err__info__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__access__err__info__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structmpu__low__masters__access__rights__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__low__masters__access__rights__t"><td class="mdescLeft"> </td><td class="mdescRight">MPU access rights for low master master port 0 ~ port 3. <a href="group__mpu.html#structmpu__low__masters__access__rights__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__low__masters__access__rights__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structmpu__high__masters__access__rights__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__high__masters__access__rights__t"><td class="mdescLeft"> </td><td class="mdescRight">MPU access rights mode for high master port 4 ~ port 7. <a href="group__mpu.html#structmpu__high__masters__access__rights__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__high__masters__access__rights__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structmpu__region__config__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__region__config__t"><td class="mdescLeft"> </td><td class="mdescRight">MPU region configuration structure. <a href="group__mpu.html#structmpu__region__config__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__region__config__t"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:structmpu__config__t"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#structmpu__config__t">mpu_config_t</a></td></tr>
|
|
<tr class="memdesc:structmpu__config__t"><td class="mdescLeft"> </td><td class="mdescRight">The configuration structure for the MPU initialization. <a href="group__mpu.html#structmpu__config__t">More...</a><br/></td></tr>
|
|
<tr class="separator:structmpu__config__t"><td class="memSeparator" colspan="2"> </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:gafd73c17dcf624a1fff128d0b816dcdea"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gafd73c17dcf624a1fff128d0b816dcdea">MPU_WORD_LOW_MASTER_SHIFT</a>(n)   (n * 6)</td></tr>
|
|
<tr class="memdesc:gafd73c17dcf624a1fff128d0b816dcdea"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master bit shift. <a href="#gafd73c17dcf624a1fff128d0b816dcdea">More...</a><br/></td></tr>
|
|
<tr class="separator:gafd73c17dcf624a1fff128d0b816dcdea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gadc0029631372c18b2dfb310b5d053a16"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gadc0029631372c18b2dfb310b5d053a16">MPU_WORD_LOW_MASTER_MASK</a>(n)   (0x1Fu << MPU_WORD_LOW_MASTER_SHIFT(n))</td></tr>
|
|
<tr class="memdesc:gadc0029631372c18b2dfb310b5d053a16"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master bit mask. <a href="#gadc0029631372c18b2dfb310b5d053a16">More...</a><br/></td></tr>
|
|
<tr class="separator:gadc0029631372c18b2dfb310b5d053a16"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga2d2b77a219ae30f05caebe15db7928f7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga2d2b77a219ae30f05caebe15db7928f7">MPU_WORD_LOW_MASTER_WIDTH</a>   5</td></tr>
|
|
<tr class="memdesc:ga2d2b77a219ae30f05caebe15db7928f7"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master bit width. <a href="#ga2d2b77a219ae30f05caebe15db7928f7">More...</a><br/></td></tr>
|
|
<tr class="separator:ga2d2b77a219ae30f05caebe15db7928f7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga3900dea119ac16e55719a363078773da"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga3900dea119ac16e55719a363078773da">MPU_WORD_LOW_MASTER</a>(n, x)   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#gafd73c17dcf624a1fff128d0b816dcdea">MPU_WORD_LOW_MASTER_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#gadc0029631372c18b2dfb310b5d053a16">MPU_WORD_LOW_MASTER_MASK</a>(n))</td></tr>
|
|
<tr class="memdesc:ga3900dea119ac16e55719a363078773da"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master priority setting. <a href="#ga3900dea119ac16e55719a363078773da">More...</a><br/></td></tr>
|
|
<tr class="separator:ga3900dea119ac16e55719a363078773da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga08712adcb26c8b0eace2e6722bc0281e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga08712adcb26c8b0eace2e6722bc0281e">MPU_LOW_MASTER_PE_SHIFT</a>(n)   (n * 6 + 5)</td></tr>
|
|
<tr class="memdesc:ga08712adcb26c8b0eace2e6722bc0281e"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master process enable bit shift. <a href="#ga08712adcb26c8b0eace2e6722bc0281e">More...</a><br/></td></tr>
|
|
<tr class="separator:ga08712adcb26c8b0eace2e6722bc0281e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga32f42a5a940978b1b3fb910a95bf8b5e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga32f42a5a940978b1b3fb910a95bf8b5e">MPU_LOW_MASTER_PE_MASK</a>(n)   (0x1u << MPU_LOW_MASTER_PE_SHIFT(n))</td></tr>
|
|
<tr class="memdesc:ga32f42a5a940978b1b3fb910a95bf8b5e"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master process enable bit mask. <a href="#ga32f42a5a940978b1b3fb910a95bf8b5e">More...</a><br/></td></tr>
|
|
<tr class="separator:ga32f42a5a940978b1b3fb910a95bf8b5e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga9a184c8ef8b98af84c111ffd0c5b95b6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga9a184c8ef8b98af84c111ffd0c5b95b6">MPU_WORD_MASTER_PE_WIDTH</a>   1</td></tr>
|
|
<tr class="memdesc:ga9a184c8ef8b98af84c111ffd0c5b95b6"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master process enable width. <a href="#ga9a184c8ef8b98af84c111ffd0c5b95b6">More...</a><br/></td></tr>
|
|
<tr class="separator:ga9a184c8ef8b98af84c111ffd0c5b95b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa9469f144dc0e808b5fac3bd57408e94"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaa9469f144dc0e808b5fac3bd57408e94">MPU_WORD_MASTER_PE</a>(n, x)   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#ga08712adcb26c8b0eace2e6722bc0281e">MPU_LOW_MASTER_PE_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#ga32f42a5a940978b1b3fb910a95bf8b5e">MPU_LOW_MASTER_PE_MASK</a>(n))</td></tr>
|
|
<tr class="memdesc:gaa9469f144dc0e808b5fac3bd57408e94"><td class="mdescLeft"> </td><td class="mdescRight">MPU low master process enable setting. <a href="#gaa9469f144dc0e808b5fac3bd57408e94">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa9469f144dc0e808b5fac3bd57408e94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga39e0887f9dff2b8d6bb51fbaf699d102"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga39e0887f9dff2b8d6bb51fbaf699d102">MPU_WORD_HIGH_MASTER_SHIFT</a>(n)   (n * 2 + 24)</td></tr>
|
|
<tr class="memdesc:ga39e0887f9dff2b8d6bb51fbaf699d102"><td class="mdescLeft"> </td><td class="mdescRight">MPU high master bit shift. <a href="#ga39e0887f9dff2b8d6bb51fbaf699d102">More...</a><br/></td></tr>
|
|
<tr class="separator:ga39e0887f9dff2b8d6bb51fbaf699d102"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga799aa4b474ef391d64d501294a7ac978"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga799aa4b474ef391d64d501294a7ac978">MPU_WORD_HIGH_MASTER_MASK</a>(n)   (0x03u << MPU_WORD_HIGH_MASTER_SHIFT(n))</td></tr>
|
|
<tr class="memdesc:ga799aa4b474ef391d64d501294a7ac978"><td class="mdescLeft"> </td><td class="mdescRight">MPU high master bit mask. <a href="#ga799aa4b474ef391d64d501294a7ac978">More...</a><br/></td></tr>
|
|
<tr class="separator:ga799aa4b474ef391d64d501294a7ac978"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaadb786c8a7d9e3e3cdf28e94bce8b948"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaadb786c8a7d9e3e3cdf28e94bce8b948">MPU_WORD_HIGH_MASTER_WIDTH</a>   2</td></tr>
|
|
<tr class="memdesc:gaadb786c8a7d9e3e3cdf28e94bce8b948"><td class="mdescLeft"> </td><td class="mdescRight">MPU high master bit width. <a href="#gaadb786c8a7d9e3e3cdf28e94bce8b948">More...</a><br/></td></tr>
|
|
<tr class="separator:gaadb786c8a7d9e3e3cdf28e94bce8b948"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gae8d51553b7918cbd8ee233d20dc960f8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gae8d51553b7918cbd8ee233d20dc960f8">MPU_WORD_HIGH_MASTER</a>(n, x)   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#ga39e0887f9dff2b8d6bb51fbaf699d102">MPU_WORD_HIGH_MASTER_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#ga799aa4b474ef391d64d501294a7ac978">MPU_WORD_HIGH_MASTER_MASK</a>(n))</td></tr>
|
|
<tr class="memdesc:gae8d51553b7918cbd8ee233d20dc960f8"><td class="mdescLeft"> </td><td class="mdescRight">MPU high master priority setting. <a href="#gae8d51553b7918cbd8ee233d20dc960f8">More...</a><br/></td></tr>
|
|
<tr class="separator:gae8d51553b7918cbd8ee233d20dc960f8"><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:ga79c9fc12716568a2aa818f3b7f1ae1d2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td></tr>
|
|
<tr class="memdesc:ga79c9fc12716568a2aa818f3b7f1ae1d2"><td class="mdescLeft"> </td><td class="mdescRight">MPU region number. <a href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">More...</a><br/></td></tr>
|
|
<tr class="separator:ga79c9fc12716568a2aa818f3b7f1ae1d2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga56305e68140c25fbc03bc6dd240b650d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> </td></tr>
|
|
<tr class="memdesc:ga56305e68140c25fbc03bc6dd240b650d"><td class="mdescLeft"> </td><td class="mdescRight">MPU master number. <a href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga56305e68140c25fbc03bc6dd240b650d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga22906b087e45d639905ecb796af01bb7"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga22906b087e45d639905ecb796af01bb7">mpu_region_total_num_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga22906b087e45d639905ecb796af01bb7ae6854272f7f31b1ad5b8d3300f14a24a">kMPU_8Regions</a> = 0x0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga22906b087e45d639905ecb796af01bb7ae37ef4d6add90ca862be928b5f033ad4">kMPU_12Regions</a> = 0x1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga22906b087e45d639905ecb796af01bb7a4145bdad95839fc4506fee285ef8ad81">kMPU_16Regions</a> = 0x2U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga22906b087e45d639905ecb796af01bb7"><td class="mdescLeft"> </td><td class="mdescRight">Describes the number of MPU regions. <a href="group__mpu.html#ga22906b087e45d639905ecb796af01bb7">More...</a><br/></td></tr>
|
|
<tr class="separator:ga22906b087e45d639905ecb796af01bb7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga1fe07463657cc0882a88ab9c02a989aa"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga1fe07463657cc0882a88ab9c02a989aaaf496eb7d8701cc2e9c5099d3c0a33085">kMPU_Slave0</a> = 4U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga1fe07463657cc0882a88ab9c02a989aaa242909166988d8133b610fc9dc673a08">kMPU_Slave1</a> = 3U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga1fe07463657cc0882a88ab9c02a989aaa8500d6b41cada6f00bf46f19210f062a">kMPU_Slave2</a> = 2U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga1fe07463657cc0882a88ab9c02a989aaabd052a781b0d639f29a1e6bc9a1af359">kMPU_Slave3</a> = 1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga1fe07463657cc0882a88ab9c02a989aaaeacc91dc2d68cc87fb08858f706e7c6c">kMPU_Slave4</a> = 0U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga1fe07463657cc0882a88ab9c02a989aa"><td class="mdescLeft"> </td><td class="mdescRight">MPU slave port number. <a href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">More...</a><br/></td></tr>
|
|
<tr class="separator:ga1fe07463657cc0882a88ab9c02a989aa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga68a5f43a3a05a8a80f61db308e2d7a37"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga68a5f43a3a05a8a80f61db308e2d7a37">mpu_err_access_control_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga68a5f43a3a05a8a80f61db308e2d7a37a74e15a7d0dbe525d0a3321409b748e76">kMPU_NoRegionHit</a> = 0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga68a5f43a3a05a8a80f61db308e2d7a37acbf14cd65cfedf4d9b3f4cc23db2d2ee">kMPU_NoneOverlappRegion</a> = 1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga68a5f43a3a05a8a80f61db308e2d7a37a478d3db549b6e14ddcffb725faab1649">kMPU_OverlappRegion</a> = 2U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga68a5f43a3a05a8a80f61db308e2d7a37"><td class="mdescLeft"> </td><td class="mdescRight">MPU error access control detail. <a href="group__mpu.html#ga68a5f43a3a05a8a80f61db308e2d7a37">More...</a><br/></td></tr>
|
|
<tr class="separator:ga68a5f43a3a05a8a80f61db308e2d7a37"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga688f512b6643c1861646c5e3fb944fb5"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga688f512b6643c1861646c5e3fb944fb5">mpu_err_access_type_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga688f512b6643c1861646c5e3fb944fb5ad1137740dfd53f93a311799e0cc30567">kMPU_ErrTypeRead</a> = 0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga688f512b6643c1861646c5e3fb944fb5a806728b032863e650715be3db2940c8b">kMPU_ErrTypeWrite</a> = 1U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga688f512b6643c1861646c5e3fb944fb5"><td class="mdescLeft"> </td><td class="mdescRight">MPU error access type. <a href="group__mpu.html#ga688f512b6643c1861646c5e3fb944fb5">More...</a><br/></td></tr>
|
|
<tr class="separator:ga688f512b6643c1861646c5e3fb944fb5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga8643ef655a2714210f68b1b7b183fdbb"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga8643ef655a2714210f68b1b7b183fdbb">mpu_err_attributes_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga8643ef655a2714210f68b1b7b183fdbbad55b006b1f0a45e37e08c75c66f113b5">kMPU_InstructionAccessInUserMode</a> = 0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga8643ef655a2714210f68b1b7b183fdbbaf0dd3c8e53bf446c0812a7faf46ebafb">kMPU_DataAccessInUserMode</a> = 1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga8643ef655a2714210f68b1b7b183fdbba468fc5454ccd964bc57f5b54231b5b7a">kMPU_InstructionAccessInSupervisorMode</a> = 2U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga8643ef655a2714210f68b1b7b183fdbba4ca85c46fb13dc782e44499d7487c2e8">kMPU_DataAccessInSupervisorMode</a> = 3U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga8643ef655a2714210f68b1b7b183fdbb"><td class="mdescLeft"> </td><td class="mdescRight">MPU access error attributes. <a href="group__mpu.html#ga8643ef655a2714210f68b1b7b183fdbb">More...</a><br/></td></tr>
|
|
<tr class="separator:ga8643ef655a2714210f68b1b7b183fdbb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga55d1dc350059dad9011157b7ca807751"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga55d1dc350059dad9011157b7ca807751">mpu_supervisor_access_rights_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751a53875d9221ed801dc21fb1d82a214a19">kMPU_SupervisorReadWriteExecute</a> = 0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751aa1560f5c356ff583ebd4f474a3c6aa45">kMPU_SupervisorReadExecute</a> = 1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751a056152cddabc1d0adc58e7c90cf928bf">kMPU_SupervisorReadWrite</a> = 2U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#gga55d1dc350059dad9011157b7ca807751ab2d6f97e6384959cddc969ed0caddf6e">kMPU_SupervisorEqualToUsermode</a> = 3U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:ga55d1dc350059dad9011157b7ca807751"><td class="mdescLeft"> </td><td class="mdescRight">MPU access rights in supervisor mode for master port 0 ~ port 3. <a href="group__mpu.html#ga55d1dc350059dad9011157b7ca807751">More...</a><br/></td></tr>
|
|
<tr class="separator:ga55d1dc350059dad9011157b7ca807751"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa0dbe6632c1bf7e38ac7b77337192161"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaa0dbe6632c1bf7e38ac7b77337192161">mpu_user_access_rights_t</a> { <br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995">kMPU_UserNoAccessRights</a> = 0U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161af3918eb4b24270b99b93d322b3cbdcbd">kMPU_UserExecute</a> = 1U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161a0ab4da6522e492c023f13288832fa1d0">kMPU_UserWrite</a> = 2U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161af1be142c0d368184a4e14d58f78e0823">kMPU_UserWriteExecute</a> = 3U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161ac3bf01311a494883741f20a7601357b3">kMPU_UserRead</a> = 4U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161ad886815a8418d632a11580241cec12ab">kMPU_UserReadExecute</a> = 5U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161af73525f8a94509fc8e4307d536c1f72d">kMPU_UserReadWrite</a> = 6U,
|
|
<br/>
|
|
  <a class="el" href="group__mpu.html#ggaa0dbe6632c1bf7e38ac7b77337192161a9d640b8cf940124f0dee9ad511c09ef2">kMPU_UserReadWriteExecute</a> = 7U
|
|
<br/>
|
|
}</td></tr>
|
|
<tr class="memdesc:gaa0dbe6632c1bf7e38ac7b77337192161"><td class="mdescLeft"> </td><td class="mdescRight">MPU access rights in user mode for master port 0 ~ port 3. <a href="group__mpu.html#gaa0dbe6632c1bf7e38ac7b77337192161">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa0dbe6632c1bf7e38ac7b77337192161"><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:ga4c460ce03eda34f01b0f9f0ac5565a96"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga4c460ce03eda34f01b0f9f0ac5565a96">FSL_MPU_DRIVER_VERSION</a>   (<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 0, 0))</td></tr>
|
|
<tr class="memdesc:ga4c460ce03eda34f01b0f9f0ac5565a96"><td class="mdescLeft"> </td><td class="mdescRight">MPU driver version 2.0.0. <a href="#ga4c460ce03eda34f01b0f9f0ac5565a96">More...</a><br/></td></tr>
|
|
<tr class="separator:ga4c460ce03eda34f01b0f9f0ac5565a96"><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>
|
|
Initialization and deinitialization</h2></td></tr>
|
|
<tr class="memitem:ga65263dc5500d98c4a505c9e828cc8abc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga65263dc5500d98c4a505c9e828cc8abc">MPU_Init</a> (MPU_Type *base, const <a class="el" href="group__mpu.html#structmpu__config__t">mpu_config_t</a> *config)</td></tr>
|
|
<tr class="memdesc:ga65263dc5500d98c4a505c9e828cc8abc"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the MPU with the user configuration structure. <a href="#ga65263dc5500d98c4a505c9e828cc8abc">More...</a><br/></td></tr>
|
|
<tr class="separator:ga65263dc5500d98c4a505c9e828cc8abc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gac592c73f8bbc7daf72c2ebaf7d3424cf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gac592c73f8bbc7daf72c2ebaf7d3424cf">MPU_Deinit</a> (MPU_Type *base)</td></tr>
|
|
<tr class="memdesc:gac592c73f8bbc7daf72c2ebaf7d3424cf"><td class="mdescLeft"> </td><td class="mdescRight">Deinitializes the MPU regions. <a href="#gac592c73f8bbc7daf72c2ebaf7d3424cf">More...</a><br/></td></tr>
|
|
<tr class="separator:gac592c73f8bbc7daf72c2ebaf7d3424cf"><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>
|
|
Basic Control Operations</h2></td></tr>
|
|
<tr class="memitem:ga986f9d3d06f4ed56212aaf3525c699a5"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga986f9d3d06f4ed56212aaf3525c699a5">MPU_Enable</a> (MPU_Type *base, bool enable)</td></tr>
|
|
<tr class="memdesc:ga986f9d3d06f4ed56212aaf3525c699a5"><td class="mdescLeft"> </td><td class="mdescRight">Enables/disables the MPU globally. <a href="#ga986f9d3d06f4ed56212aaf3525c699a5">More...</a><br/></td></tr>
|
|
<tr class="separator:ga986f9d3d06f4ed56212aaf3525c699a5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6336553aee5c9086c07da287fd0a57a9"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga6336553aee5c9086c07da287fd0a57a9">MPU_RegionEnable</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> number, bool enable)</td></tr>
|
|
<tr class="memdesc:ga6336553aee5c9086c07da287fd0a57a9"><td class="mdescLeft"> </td><td class="mdescRight">Enables/disables the MPU for a special region. <a href="#ga6336553aee5c9086c07da287fd0a57a9">More...</a><br/></td></tr>
|
|
<tr class="separator:ga6336553aee5c9086c07da287fd0a57a9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga769e4d49b69bfadc6c575c30b49ca164"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga769e4d49b69bfadc6c575c30b49ca164">MPU_GetHardwareInfo</a> (MPU_Type *base, <a class="el" href="group__mpu.html#structmpu__hardware__info__t">mpu_hardware_info_t</a> *hardwareInform)</td></tr>
|
|
<tr class="memdesc:ga769e4d49b69bfadc6c575c30b49ca164"><td class="mdescLeft"> </td><td class="mdescRight">Gets the MPU basic hardware information. <a href="#ga769e4d49b69bfadc6c575c30b49ca164">More...</a><br/></td></tr>
|
|
<tr class="separator:ga769e4d49b69bfadc6c575c30b49ca164"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga97a9ec7eee3fc0f8ed19214fe437676b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga97a9ec7eee3fc0f8ed19214fe437676b">MPU_SetRegionConfig</a> (MPU_Type *base, const <a class="el" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a> *regionConfig)</td></tr>
|
|
<tr class="memdesc:ga97a9ec7eee3fc0f8ed19214fe437676b"><td class="mdescLeft"> </td><td class="mdescRight">Sets the MPU region. <a href="#ga97a9ec7eee3fc0f8ed19214fe437676b">More...</a><br/></td></tr>
|
|
<tr class="separator:ga97a9ec7eee3fc0f8ed19214fe437676b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6919c024e4cdc33ea05d156e4d34d78d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ga6919c024e4cdc33ea05d156e4d34d78d">MPU_SetRegionAddr</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> regionNum, uint32_t startAddr, uint32_t endAddr)</td></tr>
|
|
<tr class="memdesc:ga6919c024e4cdc33ea05d156e4d34d78d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the region start and end address. <a href="#ga6919c024e4cdc33ea05d156e4d34d78d">More...</a><br/></td></tr>
|
|
<tr class="separator:ga6919c024e4cdc33ea05d156e4d34d78d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaeb285d6ff5da5704a2dd20d2fcdbb1af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaeb285d6ff5da5704a2dd20d2fcdbb1af">MPU_SetRegionLowMasterAccessRights</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> regionNum, <a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> masterNum, const <a class="el" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a> *accessRights)</td></tr>
|
|
<tr class="memdesc:gaeb285d6ff5da5704a2dd20d2fcdbb1af"><td class="mdescLeft"> </td><td class="mdescRight">Sets the MPU region access rights for low master port 0 ~ port 3. <a href="#gaeb285d6ff5da5704a2dd20d2fcdbb1af">More...</a><br/></td></tr>
|
|
<tr class="separator:gaeb285d6ff5da5704a2dd20d2fcdbb1af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaa21e31902d97b8041ff51358e4934831"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaa21e31902d97b8041ff51358e4934831">MPU_SetRegionHighMasterAccessRights</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> regionNum, <a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> masterNum, const <a class="el" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a> *accessRights)</td></tr>
|
|
<tr class="memdesc:gaa21e31902d97b8041ff51358e4934831"><td class="mdescLeft"> </td><td class="mdescRight">Sets the MPU region access rights for high master port 4 ~ port 7. <a href="#gaa21e31902d97b8041ff51358e4934831">More...</a><br/></td></tr>
|
|
<tr class="separator:gaa21e31902d97b8041ff51358e4934831"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gad36649693bde12744ac6aeb317a57e88"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gad36649693bde12744ac6aeb317a57e88">MPU_GetSlavePortErrorStatus</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_t</a> slaveNum)</td></tr>
|
|
<tr class="memdesc:gad36649693bde12744ac6aeb317a57e88"><td class="mdescLeft"> </td><td class="mdescRight">Gets the numbers of slave ports where errors occur. <a href="#gad36649693bde12744ac6aeb317a57e88">More...</a><br/></td></tr>
|
|
<tr class="separator:gad36649693bde12744ac6aeb317a57e88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gaca61af7eb9e6f2358049826c2a9058a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#gaca61af7eb9e6f2358049826c2a9058a0">MPU_GetDetailErrorAccessInfo</a> (MPU_Type *base, <a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_t</a> slaveNum, <a class="el" href="group__mpu.html#structmpu__access__err__info__t">mpu_access_err_info_t</a> *errInform)</td></tr>
|
|
<tr class="memdesc:gaca61af7eb9e6f2358049826c2a9058a0"><td class="mdescLeft"> </td><td class="mdescRight">Gets the MPU detailed error access information. <a href="#gaca61af7eb9e6f2358049826c2a9058a0">More...</a><br/></td></tr>
|
|
<tr class="separator:gaca61af7eb9e6f2358049826c2a9058a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
|
|
<a name="structmpu__hardware__info__t" id="structmpu__hardware__info__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_hardware_info_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:a9151d94a0f729f0a81141799f835a0b7"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a9151d94a0f729f0a81141799f835a0b7">hardwareRevisionLevel</a></td></tr>
|
|
<tr class="memdesc:a9151d94a0f729f0a81141799f835a0b7"><td class="mdescLeft"> </td><td class="mdescRight">Specifies the MPU's hardware and definition reversion level. <a href="#a9151d94a0f729f0a81141799f835a0b7">More...</a><br/></td></tr>
|
|
<tr class="separator:a9151d94a0f729f0a81141799f835a0b7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a32c5de85469bce1845c9d3f5ae099f61"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a32c5de85469bce1845c9d3f5ae099f61">slavePortsNumbers</a></td></tr>
|
|
<tr class="memdesc:a32c5de85469bce1845c9d3f5ae099f61"><td class="mdescLeft"> </td><td class="mdescRight">Specifies the number of slave ports connected to MPU. <a href="#a32c5de85469bce1845c9d3f5ae099f61">More...</a><br/></td></tr>
|
|
<tr class="separator:a32c5de85469bce1845c9d3f5ae099f61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aada15bb7a3c8da54850ce36b38205193"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga22906b087e45d639905ecb796af01bb7">mpu_region_total_num_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#aada15bb7a3c8da54850ce36b38205193">regionsNumbers</a></td></tr>
|
|
<tr class="memdesc:aada15bb7a3c8da54850ce36b38205193"><td class="mdescLeft"> </td><td class="mdescRight">Indicates the number of region descriptors implemented. <a href="#aada15bb7a3c8da54850ce36b38205193">More...</a><br/></td></tr>
|
|
<tr class="separator:aada15bb7a3c8da54850ce36b38205193"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a9151d94a0f729f0a81141799f835a0b7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t mpu_hardware_info_t::hardwareRevisionLevel</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a32c5de85469bce1845c9d3f5ae099f61"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint8_t mpu_hardware_info_t::slavePortsNumbers</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="aada15bb7a3c8da54850ce36b38205193"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga22906b087e45d639905ecb796af01bb7">mpu_region_total_num_t</a> mpu_hardware_info_t::regionsNumbers</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structmpu__access__err__info__t" id="structmpu__access__err__info__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_access_err_info_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:a3258336ea58b3ffd9954544080bfc153"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a3258336ea58b3ffd9954544080bfc153">master</a></td></tr>
|
|
<tr class="memdesc:a3258336ea58b3ffd9954544080bfc153"><td class="mdescLeft"> </td><td class="mdescRight">Access error master. <a href="#a3258336ea58b3ffd9954544080bfc153">More...</a><br/></td></tr>
|
|
<tr class="separator:a3258336ea58b3ffd9954544080bfc153"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab3ed10ced06d1599aa69d1a36961888a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga8643ef655a2714210f68b1b7b183fdbb">mpu_err_attributes_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ab3ed10ced06d1599aa69d1a36961888a">attributes</a></td></tr>
|
|
<tr class="memdesc:ab3ed10ced06d1599aa69d1a36961888a"><td class="mdescLeft"> </td><td class="mdescRight">Access error attributes. <a href="#ab3ed10ced06d1599aa69d1a36961888a">More...</a><br/></td></tr>
|
|
<tr class="separator:ab3ed10ced06d1599aa69d1a36961888a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3924a882672ce6f2395d56e71511b809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga688f512b6643c1861646c5e3fb944fb5">mpu_err_access_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a3924a882672ce6f2395d56e71511b809">accessType</a></td></tr>
|
|
<tr class="memdesc:a3924a882672ce6f2395d56e71511b809"><td class="mdescLeft"> </td><td class="mdescRight">Access error type. <a href="#a3924a882672ce6f2395d56e71511b809">More...</a><br/></td></tr>
|
|
<tr class="separator:a3924a882672ce6f2395d56e71511b809"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a43eb5bf276b4403136983951b0d970e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga68a5f43a3a05a8a80f61db308e2d7a37">mpu_err_access_control_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a43eb5bf276b4403136983951b0d970e6">accessControl</a></td></tr>
|
|
<tr class="memdesc:a43eb5bf276b4403136983951b0d970e6"><td class="mdescLeft"> </td><td class="mdescRight">Access error control. <a href="#a43eb5bf276b4403136983951b0d970e6">More...</a><br/></td></tr>
|
|
<tr class="separator:a43eb5bf276b4403136983951b0d970e6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7dcb9e77f50805cbe5de0aa1d92370cc"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a7dcb9e77f50805cbe5de0aa1d92370cc">address</a></td></tr>
|
|
<tr class="memdesc:a7dcb9e77f50805cbe5de0aa1d92370cc"><td class="mdescLeft"> </td><td class="mdescRight">Access error address. <a href="#a7dcb9e77f50805cbe5de0aa1d92370cc">More...</a><br/></td></tr>
|
|
<tr class="separator:a7dcb9e77f50805cbe5de0aa1d92370cc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a3258336ea58b3ffd9954544080bfc153"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> mpu_access_err_info_t::master</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab3ed10ced06d1599aa69d1a36961888a"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga8643ef655a2714210f68b1b7b183fdbb">mpu_err_attributes_t</a> mpu_access_err_info_t::attributes</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a3924a882672ce6f2395d56e71511b809"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga688f512b6643c1861646c5e3fb944fb5">mpu_err_access_type_t</a> mpu_access_err_info_t::accessType</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a43eb5bf276b4403136983951b0d970e6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga68a5f43a3a05a8a80f61db308e2d7a37">mpu_err_access_control_t</a> mpu_access_err_info_t::accessControl</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a7dcb9e77f50805cbe5de0aa1d92370cc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t mpu_access_err_info_t::address</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structmpu__low__masters__access__rights__t" id="structmpu__low__masters__access__rights__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_low_masters_access_rights_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:acc063832a1b685fbb0b4c3f2078a1635"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga55d1dc350059dad9011157b7ca807751">mpu_supervisor_access_rights_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#acc063832a1b685fbb0b4c3f2078a1635">superAccessRights</a></td></tr>
|
|
<tr class="memdesc:acc063832a1b685fbb0b4c3f2078a1635"><td class="mdescLeft"> </td><td class="mdescRight">Master access rights in supervisor mode. <a href="#acc063832a1b685fbb0b4c3f2078a1635">More...</a><br/></td></tr>
|
|
<tr class="separator:acc063832a1b685fbb0b4c3f2078a1635"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a157d968fa12be1922bdc1034030a8e55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#gaa0dbe6632c1bf7e38ac7b77337192161">mpu_user_access_rights_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a157d968fa12be1922bdc1034030a8e55">userAccessRights</a></td></tr>
|
|
<tr class="memdesc:a157d968fa12be1922bdc1034030a8e55"><td class="mdescLeft"> </td><td class="mdescRight">Master access rights in user mode. <a href="#a157d968fa12be1922bdc1034030a8e55">More...</a><br/></td></tr>
|
|
<tr class="separator:a157d968fa12be1922bdc1034030a8e55"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="acc063832a1b685fbb0b4c3f2078a1635"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga55d1dc350059dad9011157b7ca807751">mpu_supervisor_access_rights_t</a> mpu_low_masters_access_rights_t::superAccessRights</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a157d968fa12be1922bdc1034030a8e55"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#gaa0dbe6632c1bf7e38ac7b77337192161">mpu_user_access_rights_t</a> mpu_low_masters_access_rights_t::userAccessRights</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structmpu__high__masters__access__rights__t" id="structmpu__high__masters__access__rights__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_high_masters_access_rights_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:ac973a853fd297c0708c3fc50806fb3e7"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ac973a853fd297c0708c3fc50806fb3e7">writeEnable</a></td></tr>
|
|
<tr class="memdesc:ac973a853fd297c0708c3fc50806fb3e7"><td class="mdescLeft"> </td><td class="mdescRight">Enables or disables write permission. <a href="#ac973a853fd297c0708c3fc50806fb3e7">More...</a><br/></td></tr>
|
|
<tr class="separator:ac973a853fd297c0708c3fc50806fb3e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9f165180ba2d8667682191c93f054351"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a9f165180ba2d8667682191c93f054351">readEnable</a></td></tr>
|
|
<tr class="memdesc:a9f165180ba2d8667682191c93f054351"><td class="mdescLeft"> </td><td class="mdescRight">Enables or disables read permission. <a href="#a9f165180ba2d8667682191c93f054351">More...</a><br/></td></tr>
|
|
<tr class="separator:a9f165180ba2d8667682191c93f054351"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="ac973a853fd297c0708c3fc50806fb3e7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool mpu_high_masters_access_rights_t::writeEnable</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a9f165180ba2d8667682191c93f054351"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool mpu_high_masters_access_rights_t::readEnable</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structmpu__region__config__t" id="structmpu__region__config__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_region_config_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<div class="textblock"><p>This structure is used to configure the regionNum region. The accessRights1[0] ~ accessRights1[3] are used to configure the four low master numbers: master 0 ~ master 3. The accessRights2[0] ~ accessRights2[3] are used to configure the four high master numbers: master 4 ~ master 7. The master port assignment is the chip configuration. Normally, the core is the master 0, debugger is the master 1. Note: MPU assigns a priority scheme where the debugger is treated as the highest priority master followed by the core and then all the remaining masters. MPU protection does not allow writes from the core to affect the "regionNum 0" start and end address nor the permissions associated with the debugger. It can only write the permission fields associated with the other masters. This protection guarantee the debugger always has access to the entire address space and those rights can't be changed by the core or any other bus master. Prepare the region configuration when regionNum is kMPU_RegionNum00. </p>
|
|
</div><table class="memberdecls">
|
|
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
|
|
<tr class="memitem:a88fa583a682f8b35c3a4b4a339ec3869"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a88fa583a682f8b35c3a4b4a339ec3869">regionNum</a></td></tr>
|
|
<tr class="memdesc:a88fa583a682f8b35c3a4b4a339ec3869"><td class="mdescLeft"> </td><td class="mdescRight">MPU region number. <a href="#a88fa583a682f8b35c3a4b4a339ec3869">More...</a><br/></td></tr>
|
|
<tr class="separator:a88fa583a682f8b35c3a4b4a339ec3869"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a164cc4080c21cd692476167478306e75"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a164cc4080c21cd692476167478306e75">startAddress</a></td></tr>
|
|
<tr class="memdesc:a164cc4080c21cd692476167478306e75"><td class="mdescLeft"> </td><td class="mdescRight">Memory region start address. <a href="#a164cc4080c21cd692476167478306e75">More...</a><br/></td></tr>
|
|
<tr class="separator:a164cc4080c21cd692476167478306e75"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6c5a67a1d96b35c14bc62104a4e33307"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a6c5a67a1d96b35c14bc62104a4e33307">endAddress</a></td></tr>
|
|
<tr class="memdesc:a6c5a67a1d96b35c14bc62104a4e33307"><td class="mdescLeft"> </td><td class="mdescRight">Memory region end address. <a href="#a6c5a67a1d96b35c14bc62104a4e33307">More...</a><br/></td></tr>
|
|
<tr class="separator:a6c5a67a1d96b35c14bc62104a4e33307"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4d7cbafdf7fd410f4daae42eff326e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#ab4d7cbafdf7fd410f4daae42eff326e5">accessRights1</a> [4]</td></tr>
|
|
<tr class="memdesc:ab4d7cbafdf7fd410f4daae42eff326e5"><td class="mdescLeft"> </td><td class="mdescRight">Low masters access permission. <a href="#ab4d7cbafdf7fd410f4daae42eff326e5">More...</a><br/></td></tr>
|
|
<tr class="separator:ab4d7cbafdf7fd410f4daae42eff326e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abcbd17475e907234fef5de73717be3eb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#abcbd17475e907234fef5de73717be3eb">accessRights2</a> [4]</td></tr>
|
|
<tr class="memdesc:abcbd17475e907234fef5de73717be3eb"><td class="mdescLeft"> </td><td class="mdescRight">High masters access permission. <a href="#abcbd17475e907234fef5de73717be3eb">More...</a><br/></td></tr>
|
|
<tr class="separator:abcbd17475e907234fef5de73717be3eb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a88fa583a682f8b35c3a4b4a339ec3869"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> mpu_region_config_t::regionNum</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a164cc4080c21cd692476167478306e75"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t mpu_region_config_t::startAddress</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Note: bit0 ~ bit4 always be marked as 0 by MPU. The actual start address is 0-modulo-32 byte address. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a6c5a67a1d96b35c14bc62104a4e33307"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uint32_t mpu_region_config_t::endAddress</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Note: bit0 ~ bit4 always be marked as 1 by MPU. The actual end address is 31-modulo-32 byte address. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ab4d7cbafdf7fd410f4daae42eff326e5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a> mpu_region_config_t::accessRights1[4]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="abcbd17475e907234fef5de73717be3eb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a> mpu_region_config_t::accessRights2[4]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a name="structmpu__config__t" id="structmpu__config__t"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct mpu_config_t</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<div class="textblock"><p>This structure is used when calling the MPU_Init function. </p>
|
|
</div><table class="memberdecls">
|
|
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
|
|
<tr class="memitem:a4ab6118addd1c60c568c37216841e9de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a4ab6118addd1c60c568c37216841e9de">regionConfig</a></td></tr>
|
|
<tr class="memdesc:a4ab6118addd1c60c568c37216841e9de"><td class="mdescLeft"> </td><td class="mdescRight">region access permission. <a href="#a4ab6118addd1c60c568c37216841e9de">More...</a><br/></td></tr>
|
|
<tr class="separator:a4ab6118addd1c60c568c37216841e9de"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a00d6c4fbccadbe15301fce8fd1b1749c"><td class="memItemLeft" align="right" valign="top">struct _mpu_config * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu.html#a00d6c4fbccadbe15301fce8fd1b1749c">next</a></td></tr>
|
|
<tr class="memdesc:a00d6c4fbccadbe15301fce8fd1b1749c"><td class="mdescLeft"> </td><td class="mdescRight">pointer to the next structure. <a href="#a00d6c4fbccadbe15301fce8fd1b1749c">More...</a><br/></td></tr>
|
|
<tr class="separator:a00d6c4fbccadbe15301fce8fd1b1749c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h4 class="groupheader">Field Documentation</h4>
|
|
<a class="anchor" id="a4ab6118addd1c60c568c37216841e9de"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a> mpu_config_t::regionConfig</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="a00d6c4fbccadbe15301fce8fd1b1749c"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">struct _mpu_config* mpu_config_t::next</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a class="anchor" id="ga4c460ce03eda34f01b0f9f0ac5565a96"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FSL_MPU_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>
|
|
<a class="anchor" id="gafd73c17dcf624a1fff128d0b816dcdea"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_LOW_MASTER_SHIFT</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (n * 6)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gadc0029631372c18b2dfb310b5d053a16"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_LOW_MASTER_MASK</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (0x1Fu << MPU_WORD_LOW_MASTER_SHIFT(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga2d2b77a219ae30f05caebe15db7928f7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_LOW_MASTER_WIDTH   5</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga3900dea119ac16e55719a363078773da"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_LOW_MASTER</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">x </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#gafd73c17dcf624a1fff128d0b816dcdea">MPU_WORD_LOW_MASTER_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#gadc0029631372c18b2dfb310b5d053a16">MPU_WORD_LOW_MASTER_MASK</a>(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga08712adcb26c8b0eace2e6722bc0281e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_LOW_MASTER_PE_SHIFT</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (n * 6 + 5)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga32f42a5a940978b1b3fb910a95bf8b5e"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_LOW_MASTER_PE_MASK</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (0x1u << MPU_LOW_MASTER_PE_SHIFT(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga9a184c8ef8b98af84c111ffd0c5b95b6"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_MASTER_PE_WIDTH   1</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaa9469f144dc0e808b5fac3bd57408e94"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_MASTER_PE</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">x </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#ga08712adcb26c8b0eace2e6722bc0281e">MPU_LOW_MASTER_PE_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#ga32f42a5a940978b1b3fb910a95bf8b5e">MPU_LOW_MASTER_PE_MASK</a>(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga39e0887f9dff2b8d6bb51fbaf699d102"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_HIGH_MASTER_SHIFT</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (n * 2 + 24)</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga799aa4b474ef391d64d501294a7ac978"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_HIGH_MASTER_MASK</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n</td><td>)</td>
|
|
<td>   (0x03u << MPU_WORD_HIGH_MASTER_SHIFT(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaadb786c8a7d9e3e3cdf28e94bce8b948"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_HIGH_MASTER_WIDTH   2</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gae8d51553b7918cbd8ee233d20dc960f8"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define MPU_WORD_HIGH_MASTER</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">n, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">x </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td>   (((uint32_t)(((uint32_t)(x)) << <a class="el" href="group__mpu.html#ga39e0887f9dff2b8d6bb51fbaf699d102">MPU_WORD_HIGH_MASTER_SHIFT</a>(n))) & <a class="el" href="group__mpu.html#ga799aa4b474ef391d64d501294a7ac978">MPU_WORD_HIGH_MASTER_MASK</a>(n))</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Enumeration Type Documentation</h2>
|
|
<a class="anchor" id="ga79c9fc12716568a2aa818f3b7f1ae1d2"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga56305e68140c25fbc03bc6dd240b650d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga22906b087e45d639905ecb796af01bb7"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga22906b087e45d639905ecb796af01bb7">mpu_region_total_num_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="gga22906b087e45d639905ecb796af01bb7ae6854272f7f31b1ad5b8d3300f14a24a"></a>kMPU_8Regions</em> </td><td class="fielddoc">
|
|
<p>MPU supports 8 regions. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga22906b087e45d639905ecb796af01bb7ae37ef4d6add90ca862be928b5f033ad4"></a>kMPU_12Regions</em> </td><td class="fielddoc">
|
|
<p>MPU supports 12 regions. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga22906b087e45d639905ecb796af01bb7a4145bdad95839fc4506fee285ef8ad81"></a>kMPU_16Regions</em> </td><td class="fielddoc">
|
|
<p>MPU supports 16 regions. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga1fe07463657cc0882a88ab9c02a989aa"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_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="gga1fe07463657cc0882a88ab9c02a989aaaf496eb7d8701cc2e9c5099d3c0a33085"></a>kMPU_Slave0</em> </td><td class="fielddoc">
|
|
<p>MPU slave port 0. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga1fe07463657cc0882a88ab9c02a989aaa242909166988d8133b610fc9dc673a08"></a>kMPU_Slave1</em> </td><td class="fielddoc">
|
|
<p>MPU slave port 1. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga1fe07463657cc0882a88ab9c02a989aaa8500d6b41cada6f00bf46f19210f062a"></a>kMPU_Slave2</em> </td><td class="fielddoc">
|
|
<p>MPU slave port 2. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga1fe07463657cc0882a88ab9c02a989aaabd052a781b0d639f29a1e6bc9a1af359"></a>kMPU_Slave3</em> </td><td class="fielddoc">
|
|
<p>MPU slave port 3. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga1fe07463657cc0882a88ab9c02a989aaaeacc91dc2d68cc87fb08858f706e7c6c"></a>kMPU_Slave4</em> </td><td class="fielddoc">
|
|
<p>MPU slave port 4. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga68a5f43a3a05a8a80f61db308e2d7a37"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga68a5f43a3a05a8a80f61db308e2d7a37">mpu_err_access_control_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="gga68a5f43a3a05a8a80f61db308e2d7a37a74e15a7d0dbe525d0a3321409b748e76"></a>kMPU_NoRegionHit</em> </td><td class="fielddoc">
|
|
<p>No region hit error. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga68a5f43a3a05a8a80f61db308e2d7a37acbf14cd65cfedf4d9b3f4cc23db2d2ee"></a>kMPU_NoneOverlappRegion</em> </td><td class="fielddoc">
|
|
<p>Access single region error. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga68a5f43a3a05a8a80f61db308e2d7a37a478d3db549b6e14ddcffb725faab1649"></a>kMPU_OverlappRegion</em> </td><td class="fielddoc">
|
|
<p>Access overlapping region error. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga688f512b6643c1861646c5e3fb944fb5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga688f512b6643c1861646c5e3fb944fb5">mpu_err_access_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="gga688f512b6643c1861646c5e3fb944fb5ad1137740dfd53f93a311799e0cc30567"></a>kMPU_ErrTypeRead</em> </td><td class="fielddoc">
|
|
<p>MPU error access type — read. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga688f512b6643c1861646c5e3fb944fb5a806728b032863e650715be3db2940c8b"></a>kMPU_ErrTypeWrite</em> </td><td class="fielddoc">
|
|
<p>MPU error access type — write. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga8643ef655a2714210f68b1b7b183fdbb"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga8643ef655a2714210f68b1b7b183fdbb">mpu_err_attributes_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="gga8643ef655a2714210f68b1b7b183fdbbad55b006b1f0a45e37e08c75c66f113b5"></a>kMPU_InstructionAccessInUserMode</em> </td><td class="fielddoc">
|
|
<p>Access instruction error in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga8643ef655a2714210f68b1b7b183fdbbaf0dd3c8e53bf446c0812a7faf46ebafb"></a>kMPU_DataAccessInUserMode</em> </td><td class="fielddoc">
|
|
<p>Access data error in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga8643ef655a2714210f68b1b7b183fdbba468fc5454ccd964bc57f5b54231b5b7a"></a>kMPU_InstructionAccessInSupervisorMode</em> </td><td class="fielddoc">
|
|
<p>Access instruction error in supervisor mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga8643ef655a2714210f68b1b7b183fdbba4ca85c46fb13dc782e44499d7487c2e8"></a>kMPU_DataAccessInSupervisorMode</em> </td><td class="fielddoc">
|
|
<p>Access data error in supervisor mode. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga55d1dc350059dad9011157b7ca807751"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#ga55d1dc350059dad9011157b7ca807751">mpu_supervisor_access_rights_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="gga55d1dc350059dad9011157b7ca807751a53875d9221ed801dc21fb1d82a214a19"></a>kMPU_SupervisorReadWriteExecute</em> </td><td class="fielddoc">
|
|
<p>Read write and execute operations are allowed in supervisor mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga55d1dc350059dad9011157b7ca807751aa1560f5c356ff583ebd4f474a3c6aa45"></a>kMPU_SupervisorReadExecute</em> </td><td class="fielddoc">
|
|
<p>Read and execute operations are allowed in supervisor mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga55d1dc350059dad9011157b7ca807751a056152cddabc1d0adc58e7c90cf928bf"></a>kMPU_SupervisorReadWrite</em> </td><td class="fielddoc">
|
|
<p>Read write operations are allowed in supervisor mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="gga55d1dc350059dad9011157b7ca807751ab2d6f97e6384959cddc969ed0caddf6e"></a>kMPU_SupervisorEqualToUsermode</em> </td><td class="fielddoc">
|
|
<p>Access permission equal to user mode. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaa0dbe6632c1bf7e38ac7b77337192161"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="group__mpu.html#gaa0dbe6632c1bf7e38ac7b77337192161">mpu_user_access_rights_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="ggaa0dbe6632c1bf7e38ac7b77337192161afa3ebc7d527613a7fd56abee1cfcc995"></a>kMPU_UserNoAccessRights</em> </td><td class="fielddoc">
|
|
<p>No access allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161af3918eb4b24270b99b93d322b3cbdcbd"></a>kMPU_UserExecute</em> </td><td class="fielddoc">
|
|
<p>Execute operation is allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161a0ab4da6522e492c023f13288832fa1d0"></a>kMPU_UserWrite</em> </td><td class="fielddoc">
|
|
<p>Write operation is allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161af1be142c0d368184a4e14d58f78e0823"></a>kMPU_UserWriteExecute</em> </td><td class="fielddoc">
|
|
<p>Write and execute operations are allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161ac3bf01311a494883741f20a7601357b3"></a>kMPU_UserRead</em> </td><td class="fielddoc">
|
|
<p>Read is allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161ad886815a8418d632a11580241cec12ab"></a>kMPU_UserReadExecute</em> </td><td class="fielddoc">
|
|
<p>Read and execute operations are allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161af73525f8a94509fc8e4307d536c1f72d"></a>kMPU_UserReadWrite</em> </td><td class="fielddoc">
|
|
<p>Read and write operations are allowed in user mode. </p>
|
|
</td></tr>
|
|
<tr><td class="fieldname"><em><a class="anchor" id="ggaa0dbe6632c1bf7e38ac7b77337192161a9d640b8cf940124f0dee9ad511c09ef2"></a>kMPU_UserReadWriteExecute</em> </td><td class="fielddoc">
|
|
<p>Read write and execute operations are allowed in user mode. </p>
|
|
</td></tr>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Function Documentation</h2>
|
|
<a class="anchor" id="ga65263dc5500d98c4a505c9e828cc8abc"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_Init </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__mpu.html#structmpu__config__t">mpu_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 MPU module with the user-defined configuration.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">config</td><td>The pointer to the configuration structure. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gac592c73f8bbc7daf72c2ebaf7d3424cf"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_Deinit </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</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">base</td><td>MPU peripheral base address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga986f9d3d06f4ed56212aaf3525c699a5"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void MPU_Enable </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</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>Call this API to enable or disable the MPU module.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>True enable MPU, false disable MPU. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga6336553aee5c9086c07da287fd0a57a9"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static void MPU_RegionEnable </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td>
|
|
<td class="paramname"><em>number</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>When MPU is enabled, call this API to disable an unused region of an enabled MPU. Call this API to minimize the power dissipation.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">number</td><td>MPU region number. </td></tr>
|
|
<tr><td class="paramname">enable</td><td>True enable the special region MPU, false disable the special region MPU. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga769e4d49b69bfadc6c575c30b49ca164"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_GetHardwareInfo </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#structmpu__hardware__info__t">mpu_hardware_info_t</a> * </td>
|
|
<td class="paramname"><em>hardwareInform</em> </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">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">hardwareInform</td><td>The pointer to the MPU hardware information structure. See "mpu_hardware_info_t". </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga97a9ec7eee3fc0f8ed19214fe437676b"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_SetRegionConfig </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__mpu.html#structmpu__region__config__t">mpu_region_config_t</a> * </td>
|
|
<td class="paramname"><em>regionConfig</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Note: Due to the MPU protection, the kMPU_RegionNum00 does not allow writes from the core to affect the start and end address nor the permissions associated with the debugger. It can only write the permission fields associated with the other masters.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">regionConfig</td><td>The pointer to the MPU user configuration structure. See "mpu_region_config_t". </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="ga6919c024e4cdc33ea05d156e4d34d78d"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_SetRegionAddr </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td>
|
|
<td class="paramname"><em>regionNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>startAddr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">uint32_t </td>
|
|
<td class="paramname"><em>endAddr</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>Memory region start address. Note: bit0 ~ bit4 is always marked as 0 by MPU. The actual start address by MPU is 0-modulo-32 byte address. Memory region end address. Note: bit0 ~ bit4 always be marked as 1 by MPU. The actual end address used by MPU is 31-modulo-32 byte address. Note: Due to the MPU protection, the startAddr and endAddr can't be changed by the core when regionNum is "kMPU_RegionNum00".</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">regionNum</td><td>MPU region number. </td></tr>
|
|
<tr><td class="paramname">startAddr</td><td>Region start address. </td></tr>
|
|
<tr><td class="paramname">endAddr</td><td>Region end address. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaeb285d6ff5da5704a2dd20d2fcdbb1af"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_SetRegionLowMasterAccessRights </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td>
|
|
<td class="paramname"><em>regionNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> </td>
|
|
<td class="paramname"><em>masterNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__mpu.html#structmpu__low__masters__access__rights__t">mpu_low_masters_access_rights_t</a> * </td>
|
|
<td class="paramname"><em>accessRights</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This can be used to change the region access rights for any master port for any region.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">regionNum</td><td>MPU region number. </td></tr>
|
|
<tr><td class="paramname">masterNum</td><td>MPU master number. Should range from kMPU_Master0 ~ kMPU_Master3. </td></tr>
|
|
<tr><td class="paramname">accessRights</td><td>The pointer to the MPU access rights configuration. See "mpu_low_masters_access_rights_t". </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaa21e31902d97b8041ff51358e4934831"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_SetRegionHighMasterAccessRights </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga79c9fc12716568a2aa818f3b7f1ae1d2">mpu_region_num_t</a> </td>
|
|
<td class="paramname"><em>regionNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga56305e68140c25fbc03bc6dd240b650d">mpu_master_t</a> </td>
|
|
<td class="paramname"><em>masterNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="group__mpu.html#structmpu__high__masters__access__rights__t">mpu_high_masters_access_rights_t</a> * </td>
|
|
<td class="paramname"><em>accessRights</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<p>This can be used to change the region access rights for any master port for any region.</p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">regionNum</td><td>MPU region number. </td></tr>
|
|
<tr><td class="paramname">masterNum</td><td>MPU master number. Should range from kMPU_Master4 ~ kMPU_Master7. </td></tr>
|
|
<tr><td class="paramname">accessRights</td><td>The pointer to the MPU access rights configuration. See "mpu_high_masters_access_rights_t". </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gad36649693bde12744ac6aeb317a57e88"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool MPU_GetSlavePortErrorStatus </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_t</a> </td>
|
|
<td class="paramname"><em>slaveNum</em> </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">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">slaveNum</td><td>MPU slave port number. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The slave ports error status. true - error happens in this slave port. false - error didn't happen in this slave port. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a class="anchor" id="gaca61af7eb9e6f2358049826c2a9058a0"></a>
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MPU_GetDetailErrorAccessInfo </td>
|
|
<td>(</td>
|
|
<td class="paramtype">MPU_Type * </td>
|
|
<td class="paramname"><em>base</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#ga1fe07463657cc0882a88ab9c02a989aa">mpu_slave_t</a> </td>
|
|
<td class="paramname"><em>slaveNum</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="group__mpu.html#structmpu__access__err__info__t">mpu_access_err_info_t</a> * </td>
|
|
<td class="paramname"><em>errInform</em> </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">base</td><td>MPU peripheral base address. </td></tr>
|
|
<tr><td class="paramname">slaveNum</td><td>MPU slave port number. </td></tr>
|
|
<tr><td class="paramname">errInform</td><td>The pointer to the MPU access error information. See "mpu_access_err_info_t". </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>
|