]> begriffs open source - cmsis/blob - main/Core/group__mpu__functions.html
Update documentation for branch main
[cmsis] / main / Core / group__mpu__functions.html
1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
4 <head>
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Core (Cortex-M): MPU Functions for Armv6-M/v7-M</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css" />
10 <script type="text/javascript" src="jquery.js"></script>
11 <script type="text/javascript" src="dynsections.js"></script>
12 <script type="text/javascript" src="tabs.js"></script>
13 <script type="text/javascript" src="footer.js"></script>
14 <script type="text/javascript" src="navtree.js"></script>
15 <link href="navtree.css" rel="stylesheet" type="text/css"/>
16 <script type="text/javascript" src="resize.js"></script>
17 <script type="text/javascript" src="navtreedata.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="search/search.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="search/searchdata.js"></script>
21 <script type="text/javascript" src="search/search.js"></script>
22 <script type="text/javascript">
23 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
24   $(document).ready(function() { init_search(); });
25 /* @license-end */
26 </script>
27 <script type="text/javascript" src="darkmode_toggle.js"></script>
28 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
29 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
30 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
31 <link href="extra_tabs.css" rel="stylesheet" type="text/css"/>
32 <link href="version.css" rel="stylesheet" type="text/css"/>
33 <script type="text/javascript" src="../../version.js"></script>
34 </head>
35 <body>
36 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
37 <div id="titlearea">
38 <table cellspacing="0" cellpadding="0">
39  <tbody>
40  <tr style="height: 55px;">
41   <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
42   <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
43    <div id="projectname">CMSIS-Core (Cortex-M)
44    &#160;<span id="projectnumber"><script type="text/javascript">
45      <!--
46      writeHeader.call(this);
47      writeVersionDropdown.call(this, "CMSIS-Core (Cortex-M)");
48      //-->
49     </script>
50    </span>
51    </div>
52    <div id="projectbrief">CMSIS-Core support for Cortex-M processor-based devices</div>
53   </td>
54    <td>        <div id="MSearchBox" class="MSearchBoxInactive">
55         <span class="left">
56           <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
57           <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
58                onfocus="searchBox.OnSearchFieldFocus(true)" 
59                onblur="searchBox.OnSearchFieldFocus(false)" 
60                onkeyup="searchBox.OnSearchFieldChange(event)"/>
61           </span><span class="right">
62             <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
63           </span>
64         </div>
65 </td>
66   <!--END !PROJECT_NAME-->
67  </tr>
68  </tbody>
69 </table>
70 </div>
71 <!-- end header part -->
72 <div id="CMSISnav" class="tabs1">
73   <ul class="tablist">
74     <script type="text/javascript">
75       writeComponentTabs.call(this);
76     </script>
77   </ul>
78 </div>
79 <script type="text/javascript">
80   writeSubComponentTabs.call(this);
81 </script>
82 <!-- Generated by Doxygen 1.9.6 -->
83 <script type="text/javascript">
84 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
85 var searchBox = new SearchBox("searchBox", "search/",'.html');
86 /* @license-end */
87 </script>
88 </div><!-- top -->
89 <div id="side-nav" class="ui-resizable side-nav-resizable">
90   <div id="nav-tree">
91     <div id="nav-tree-contents">
92       <div id="nav-sync" class="sync"></div>
93     </div>
94   </div>
95   <div id="splitbar" style="-moz-user-select:none;" 
96        class="ui-resizable-handle">
97   </div>
98 </div>
99 <script type="text/javascript">
100 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
101 $(document).ready(function(){initNavTree('group__mpu__functions.html',''); initResizable(); });
102 /* @license-end */
103 </script>
104 <div id="doc-content">
105 <!-- window showing the filter options -->
106 <div id="MSearchSelectWindow"
107      onmouseover="return searchBox.OnSearchSelectShow()"
108      onmouseout="return searchBox.OnSearchSelectHide()"
109      onkeydown="return searchBox.OnSearchSelectKey(event)">
110 </div>
111
112 <!-- iframe showing the search results (closed by default) -->
113 <div id="MSearchResultsWindow">
114 <div id="MSearchResults">
115 <div class="SRPage">
116 <div id="SRIndex">
117 <div id="SRResults"></div>
118 <div class="SRStatus" id="Loading">Loading...</div>
119 <div class="SRStatus" id="Searching">Searching...</div>
120 <div class="SRStatus" id="NoMatches">No Matches</div>
121 </div>
122 </div>
123 </div>
124 </div>
125
126 <div class="header">
127   <div class="summary">
128 <a href="#groups">Content</a> &#124;
129 <a href="#nested-classes">Data Structures</a> &#124;
130 <a href="#define-members">Macros</a> &#124;
131 <a href="#func-members">Functions</a>  </div>
132   <div class="headertitle"><div class="title">MPU Functions for Armv6-M/v7-M</div></div>
133 </div><!--header-->
134 <div class="contents">
135
136 <p>Functions that relate to the Memory Protection Unit.  
137 <a href="#details">More...</a></p>
138 <table class="memberdecls">
139 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="groups" name="groups"></a>
140 Content</h2></td></tr>
141 <tr class="memitem:group__mpu__defines"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__defines.html">Define values</a></td></tr>
142 <tr class="memdesc:group__mpu__defines"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define values for MPU region setup. <br /></td></tr>
143 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
144 </table><table class="memberdecls">
145 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
146 Data Structures</h2></td></tr>
147 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structARM__MPU__Region__t.html">ARM_MPU_Region_t</a></td></tr>
148 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Setup information of a single MPU Region.  <a href="structARM__MPU__Region__t.html#details">More...</a><br /></td></tr>
149 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structMPU__Type.html">MPU_Type</a></td></tr>
151 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure type to access the Memory Protection Unit (MPU).  <a href="structMPU__Type.html#details">More...</a><br /></td></tr>
152 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 </table><table class="memberdecls">
154 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
155 Macros</h2></td></tr>
156 <tr class="memitem:ga96b93785c92e2dbcb3a2356c25bf2adc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(DisableExec,  AccessPermission,  TypeExtField,  IsShareable,  IsCacheable,  IsBufferable,  SubRegionDisable,  Size)</td></tr>
157 <tr class="memdesc:ga96b93785c92e2dbcb3a2356c25bf2adc"><td class="mdescLeft">&#160;</td><td class="mdescRight">MPU Region Attribute and Size Register Value.  <br /></td></tr>
158 <tr class="separator:ga96b93785c92e2dbcb3a2356c25bf2adc"><td class="memSeparator" colspan="2">&#160;</td></tr>
159 <tr class="memitem:ga332ed5f8969dd4df6b61c6ae32ec36dc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga332ed5f8969dd4df6b61c6ae32ec36dc">ARM_MPU_RASR_EX</a>(DisableExec,  AccessPermission,  AccessAttributes,  SubRegionDisable,  Size)</td></tr>
160 <tr class="memdesc:ga332ed5f8969dd4df6b61c6ae32ec36dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">MPU Region Attribute and Size Register Value.  <br /></td></tr>
161 <tr class="separator:ga332ed5f8969dd4df6b61c6ae32ec36dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
162 <tr class="memitem:ga3fead12dc24a6d00ad53f55a042486ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(Region,  BaseAddress)</td></tr>
163 <tr class="memdesc:ga3fead12dc24a6d00ad53f55a042486ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">MPU Region Base Address Register Value.  <br /></td></tr>
164 <tr class="separator:ga3fead12dc24a6d00ad53f55a042486ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
165 </table><table class="memberdecls">
166 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
167 Functions</h2></td></tr>
168 <tr class="memitem:ga9dcb0afddf4ac351f33f3c7a5169c62c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga9dcb0afddf4ac351f33f3c7a5169c62c">ARM_MPU_ClrRegion</a> (uint32_t rnr)</td></tr>
169 <tr class="separator:ga9dcb0afddf4ac351f33f3c7a5169c62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:ga7cbc0a4a066ed90e85c8176228235d57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga7cbc0a4a066ed90e85c8176228235d57">ARM_MPU_Disable</a> ()</td></tr>
171 <tr class="separator:ga7cbc0a4a066ed90e85c8176228235d57"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <tr class="memitem:ga31406efd492ec9a091a70ffa2d8a42fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga31406efd492ec9a091a70ffa2d8a42fb">ARM_MPU_Enable</a> (uint32_t MPU_CTRL)</td></tr>
173 <tr class="memdesc:ga31406efd492ec9a091a70ffa2d8a42fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable the memory protection unit (MPU) and.  <br /></td></tr>
174 <tr class="separator:ga31406efd492ec9a091a70ffa2d8a42fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
175 <tr class="memitem:gafa27b26d5847fa8e465584e376b6078a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#gafa27b26d5847fa8e465584e376b6078a">ARM_MPU_Load</a> (MPU_Region_t const *table, uint32_t cnt)</td></tr>
176 <tr class="separator:gafa27b26d5847fa8e465584e376b6078a"><td class="memSeparator" colspan="2">&#160;</td></tr>
177 <tr class="memitem:gac1a949403bf84eecaf407003fb553ae7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#gac1a949403bf84eecaf407003fb553ae7">ARM_MPU_OrderedMemcpy</a> (volatile uint32_t *dst, const uint32_t *<a class="el" href="group__compiler__conntrol__gr.html#ga378ac21329d33f561f90265eef89f564">__RESTRICT</a> src, uint32_t len)</td></tr>
178 <tr class="separator:gac1a949403bf84eecaf407003fb553ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 <tr class="memitem:ga16931f9ad84d7289e8218e169ae6db5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga16931f9ad84d7289e8218e169ae6db5d">ARM_MPU_SetRegion</a> (uint32_t rbar, uint32_t rasr)</td></tr>
180 <tr class="separator:ga16931f9ad84d7289e8218e169ae6db5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
181 <tr class="memitem:ga042ba1a6a1a58795231459ac0410b809"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mpu__functions.html#ga042ba1a6a1a58795231459ac0410b809">ARM_MPU_SetRegionEx</a> (uint32_t rnr, uint32_t rbar, uint32_t rasr)</td></tr>
182 <tr class="separator:ga042ba1a6a1a58795231459ac0410b809"><td class="memSeparator" colspan="2">&#160;</td></tr>
183 </table>
184 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
185 <p>Functions that relate to the Memory Protection Unit. </p>
186 <p>The following functions support the optional Memory Protection Unit (MPU) that is available on the Cortex-M0+, M3, M4 and M7 processor.</p>
187 <p>The MPU is used to prevent from illegal memory accesses that are typically caused by errors in an application software.</p>
188 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keywordtype">int</span> main() </div>
189 <div class="line">{</div>
190 <div class="line">  <span class="comment">// Set Region 0</span></div>
191 <div class="line">  <a class="code hl_function" href="group__mpu__functions.html#ga042ba1a6a1a58795231459ac0410b809">ARM_MPU_SetRegionEx</a>(0UL, 0x08000000UL, <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(0UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_1MB));</div>
192 <div class="line">  </div>
193 <div class="line">  <a class="code hl_function" href="group__mpu__functions.html#ga31406efd492ec9a091a70ffa2d8a42fb">ARM_MPU_Enable</a>(0);</div>
194 <div class="line">  </div>
195 <div class="line">  <span class="comment">// Execute application code that is access protected by the MPU</span></div>
196 <div class="line">  </div>
197 <div class="line">  <a class="code hl_function" href="group__mpu__functions.html#ga7cbc0a4a066ed90e85c8176228235d57">ARM_MPU_Disable</a>();</div>
198 <div class="line">}</div>
199 <div class="ttc" id="agroup__mpu__functions_html_ga042ba1a6a1a58795231459ac0410b809"><div class="ttname"><a href="group__mpu__functions.html#ga042ba1a6a1a58795231459ac0410b809">ARM_MPU_SetRegionEx</a></div><div class="ttdeci">__STATIC_INLINE void ARM_MPU_SetRegionEx(uint32_t rnr, uint32_t rbar, uint32_t rasr)</div></div>
200 <div class="ttc" id="agroup__mpu__functions_html_ga31406efd492ec9a091a70ffa2d8a42fb"><div class="ttname"><a href="group__mpu__functions.html#ga31406efd492ec9a091a70ffa2d8a42fb">ARM_MPU_Enable</a></div><div class="ttdeci">__STATIC_INLINE void ARM_MPU_Enable(uint32_t MPU_CTRL)</div><div class="ttdoc">Enable the memory protection unit (MPU) and.</div></div>
201 <div class="ttc" id="agroup__mpu__functions_html_ga7cbc0a4a066ed90e85c8176228235d57"><div class="ttname"><a href="group__mpu__functions.html#ga7cbc0a4a066ed90e85c8176228235d57">ARM_MPU_Disable</a></div><div class="ttdeci">__STATIC_INLINE void ARM_MPU_Disable()</div></div>
202 <div class="ttc" id="agroup__mpu__functions_html_ga96b93785c92e2dbcb3a2356c25bf2adc"><div class="ttname"><a href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a></div><div class="ttdeci">#define ARM_MPU_RASR(DisableExec, AccessPermission, TypeExtField, IsShareable, IsCacheable, IsBufferable, SubRegionDisable, Size)</div><div class="ttdoc">MPU Region Attribute and Size Register Value.</div><div class="ttdef"><b>Definition:</b> ref_mpu.txt:59</div></div>
203 </div><!-- fragment --> <h2 class="groupheader">Macro Definition Documentation</h2>
204 <a id="ga96b93785c92e2dbcb3a2356c25bf2adc" name="ga96b93785c92e2dbcb3a2356c25bf2adc"></a>
205 <h2 class="memtitle"><span class="permalink"><a href="#ga96b93785c92e2dbcb3a2356c25bf2adc">&#9670;&#160;</a></span>ARM_MPU_RASR</h2>
206
207 <div class="memitem">
208 <div class="memproto">
209       <table class="memname">
210         <tr>
211           <td class="memname">#define ARM_MPU_RASR</td>
212           <td>(</td>
213           <td class="paramtype">&#160;</td>
214           <td class="paramname">DisableExec, </td>
215         </tr>
216         <tr>
217           <td class="paramkey"></td>
218           <td></td>
219           <td class="paramtype">&#160;</td>
220           <td class="paramname">AccessPermission, </td>
221         </tr>
222         <tr>
223           <td class="paramkey"></td>
224           <td></td>
225           <td class="paramtype">&#160;</td>
226           <td class="paramname">TypeExtField, </td>
227         </tr>
228         <tr>
229           <td class="paramkey"></td>
230           <td></td>
231           <td class="paramtype">&#160;</td>
232           <td class="paramname">IsShareable, </td>
233         </tr>
234         <tr>
235           <td class="paramkey"></td>
236           <td></td>
237           <td class="paramtype">&#160;</td>
238           <td class="paramname">IsCacheable, </td>
239         </tr>
240         <tr>
241           <td class="paramkey"></td>
242           <td></td>
243           <td class="paramtype">&#160;</td>
244           <td class="paramname">IsBufferable, </td>
245         </tr>
246         <tr>
247           <td class="paramkey"></td>
248           <td></td>
249           <td class="paramtype">&#160;</td>
250           <td class="paramname">SubRegionDisable, </td>
251         </tr>
252         <tr>
253           <td class="paramkey"></td>
254           <td></td>
255           <td class="paramtype">&#160;</td>
256           <td class="paramname">Size&#160;</td>
257         </tr>
258         <tr>
259           <td></td>
260           <td>)</td>
261           <td></td><td></td>
262         </tr>
263       </table>
264 </div><div class="memdoc">
265
266 <p>MPU Region Attribute and Size Register Value. </p>
267 <p>This macro is used to construct a valid <a class="el" href="structMPU__Type.html#a8f00c4a5e31b0a8d103ed3b0732c17a3">RASR</a> value. The ENABLE bit of the RASR value is implicitly set to 1.</p>
268 <dl class="params"><dt>Parameters</dt><dd>
269   <table class="params">
270     <tr><td class="paramname">DisableExec</td><td>Instruction access disable bit. 1 = disable instruction fetches. </td></tr>
271     <tr><td class="paramname">AccessPermission</td><td>Data access permission configures read/write access for User and Privileged mode. Possible values see <a class="el" href="group__mpu__defines.html#gabc4788126d7798469cb862a08d3050cc">ARM_MPU_AP_xxx</a>. </td></tr>
272     <tr><td class="paramname">TypeExtField</td><td>Type extension field, allows you to configure memory access type, for example strongly ordered, peripheral. </td></tr>
273     <tr><td class="paramname">IsShareable</td><td>1 = region is shareable between multiple bus masters. </td></tr>
274     <tr><td class="paramname">IsCacheable</td><td>1 = region is cacheable (values may be kept in cache). </td></tr>
275     <tr><td class="paramname">IsBufferable</td><td>1 = region is bufferable (when using write-back caching). Cacheable but non-bufferable regions use write-through policy. </td></tr>
276     <tr><td class="paramname">SubRegionDisable</td><td>Sub-region disable field (8 bits). </td></tr>
277     <tr><td class="paramname">Size</td><td>Region size with values defined under <a class="el" href="group__mpu__defines.html#gadb0a92c0928c113120567e85ff1ba05c">ARM_MPU_REGION_SIZE_xxx</a>. </td></tr>
278   </table>
279   </dd>
280 </dl>
281
282 </div>
283 </div>
284 <a id="ga332ed5f8969dd4df6b61c6ae32ec36dc" name="ga332ed5f8969dd4df6b61c6ae32ec36dc"></a>
285 <h2 class="memtitle"><span class="permalink"><a href="#ga332ed5f8969dd4df6b61c6ae32ec36dc">&#9670;&#160;</a></span>ARM_MPU_RASR_EX</h2>
286
287 <div class="memitem">
288 <div class="memproto">
289       <table class="memname">
290         <tr>
291           <td class="memname">#define ARM_MPU_RASR_EX</td>
292           <td>(</td>
293           <td class="paramtype">&#160;</td>
294           <td class="paramname">DisableExec, </td>
295         </tr>
296         <tr>
297           <td class="paramkey"></td>
298           <td></td>
299           <td class="paramtype">&#160;</td>
300           <td class="paramname">AccessPermission, </td>
301         </tr>
302         <tr>
303           <td class="paramkey"></td>
304           <td></td>
305           <td class="paramtype">&#160;</td>
306           <td class="paramname">AccessAttributes, </td>
307         </tr>
308         <tr>
309           <td class="paramkey"></td>
310           <td></td>
311           <td class="paramtype">&#160;</td>
312           <td class="paramname">SubRegionDisable, </td>
313         </tr>
314         <tr>
315           <td class="paramkey"></td>
316           <td></td>
317           <td class="paramtype">&#160;</td>
318           <td class="paramname">Size&#160;</td>
319         </tr>
320         <tr>
321           <td></td>
322           <td>)</td>
323           <td></td><td></td>
324         </tr>
325       </table>
326 </div><div class="memdoc">
327
328 <p>MPU Region Attribute and Size Register Value. </p>
329 <p>This macro is used to construct a valid <a class="el" href="structMPU__Type.html#a8f00c4a5e31b0a8d103ed3b0732c17a3">RASR</a> value. The ENABLE bit of the RASR value is implicitly set to 1.</p>
330 <dl class="params"><dt>Parameters</dt><dd>
331   <table class="params">
332     <tr><td class="paramname">DisableExec</td><td>Instruction access disable bit, 1= disable instruction fetches. </td></tr>
333     <tr><td class="paramname">AccessPermission</td><td>Data access permission configures read/write access for User and Privileged mode. Possible values see <a class="el" href="group__mpu__defines.html#gabc4788126d7798469cb862a08d3050cc">ARM_MPU_AP_xxx</a>. </td></tr>
334     <tr><td class="paramname">AccessAttributes</td><td>Memory access attribution, see <a class="el" href="group__mpu__defines.html#ga71d41084e984be70a23cb640fd89d1e2">ARM_MPU_ACCESS_xxx</a>. </td></tr>
335     <tr><td class="paramname">SubRegionDisable</td><td>Sub-region disable field (8 bits). </td></tr>
336     <tr><td class="paramname">Size</td><td>Region size with values defined under <a class="el" href="group__mpu__defines.html#gadb0a92c0928c113120567e85ff1ba05c">ARM_MPU_REGION_SIZE_xxx</a>. </td></tr>
337   </table>
338   </dd>
339 </dl>
340
341 </div>
342 </div>
343 <a id="ga3fead12dc24a6d00ad53f55a042486ca" name="ga3fead12dc24a6d00ad53f55a042486ca"></a>
344 <h2 class="memtitle"><span class="permalink"><a href="#ga3fead12dc24a6d00ad53f55a042486ca">&#9670;&#160;</a></span>ARM_MPU_RBAR</h2>
345
346 <div class="memitem">
347 <div class="memproto">
348       <table class="memname">
349         <tr>
350           <td class="memname">#define ARM_MPU_RBAR</td>
351           <td>(</td>
352           <td class="paramtype">&#160;</td>
353           <td class="paramname">Region, </td>
354         </tr>
355         <tr>
356           <td class="paramkey"></td>
357           <td></td>
358           <td class="paramtype">&#160;</td>
359           <td class="paramname">BaseAddress&#160;</td>
360         </tr>
361         <tr>
362           <td></td>
363           <td>)</td>
364           <td></td><td></td>
365         </tr>
366       </table>
367 </div><div class="memdoc">
368
369 <p>MPU Region Base Address Register Value. </p>
370 <p>This preprocessor function can be used to construct a valid <a class="el" href="structMPU__Type.html#a990c609b26d990b8ba832b110adfd353">RBAR</a> value. The VALID bit is implicitly set to 1.</p>
371 <dl class="params"><dt>Parameters</dt><dd>
372   <table class="params">
373     <tr><td class="paramname">Region</td><td>The region to be configured, number 0 to 15. </td></tr>
374     <tr><td class="paramname">BaseAddress</td><td>The base address for the region. </td></tr>
375   </table>
376   </dd>
377 </dl>
378
379 </div>
380 </div>
381 <h2 class="groupheader">Function Documentation</h2>
382 <a id="ga9dcb0afddf4ac351f33f3c7a5169c62c" name="ga9dcb0afddf4ac351f33f3c7a5169c62c"></a>
383 <h2 class="memtitle"><span class="permalink"><a href="#ga9dcb0afddf4ac351f33f3c7a5169c62c">&#9670;&#160;</a></span>ARM_MPU_ClrRegion()</h2>
384
385 <div class="memitem">
386 <div class="memproto">
387       <table class="memname">
388         <tr>
389           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_ClrRegion </td>
390           <td>(</td>
391           <td class="paramtype">uint32_t&#160;</td>
392           <td class="paramname"><em>rnr</em></td><td>)</td>
393           <td></td>
394         </tr>
395       </table>
396 </div><div class="memdoc">
397 <p>Clear and disable the given MPU region. </p><dl class="params"><dt>Parameters</dt><dd>
398   <table class="params">
399     <tr><td class="paramname">rnr</td><td>Region number to be cleared. </td></tr>
400   </table>
401   </dd>
402 </dl>
403
404 </div>
405 </div>
406 <a id="ga7cbc0a4a066ed90e85c8176228235d57" name="ga7cbc0a4a066ed90e85c8176228235d57"></a>
407 <h2 class="memtitle"><span class="permalink"><a href="#ga7cbc0a4a066ed90e85c8176228235d57">&#9670;&#160;</a></span>ARM_MPU_Disable()</h2>
408
409 <div class="memitem">
410 <div class="memproto">
411       <table class="memname">
412         <tr>
413           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_Disable </td>
414           <td>(</td>
415           <td class="paramname"></td><td>)</td>
416           <td></td>
417         </tr>
418       </table>
419 </div><div class="memdoc">
420 <p>Disable the MPU. </p>
421
422 </div>
423 </div>
424 <a id="ga31406efd492ec9a091a70ffa2d8a42fb" name="ga31406efd492ec9a091a70ffa2d8a42fb"></a>
425 <h2 class="memtitle"><span class="permalink"><a href="#ga31406efd492ec9a091a70ffa2d8a42fb">&#9670;&#160;</a></span>ARM_MPU_Enable()</h2>
426
427 <div class="memitem">
428 <div class="memproto">
429       <table class="memname">
430         <tr>
431           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_Enable </td>
432           <td>(</td>
433           <td class="paramtype">uint32_t&#160;</td>
434           <td class="paramname"><em>MPU_CTRL</em></td><td>)</td>
435           <td></td>
436         </tr>
437       </table>
438 </div><div class="memdoc">
439
440 <p>Enable the memory protection unit (MPU) and. </p>
441 <dl class="params"><dt>Parameters</dt><dd>
442   <table class="params">
443     <tr><td class="paramname">MPU_CTRL</td><td>Additional control settings that configure MPU behaviour</td></tr>
444   </table>
445   </dd>
446 </dl>
447 <p>The function <a class="el" href="group__mpu__functions.html#ga31406efd492ec9a091a70ffa2d8a42fb">ARM_MPU_Enable</a> writes to the register <a class="el" href="structMPU__Type.html#a769178ef949f0d5d8f18ddbd9e4e926f">MPU-&gt;CTRL</a> and sets bit ENABLE. The parameter <em>MPU_CTRL</em> provides additional bit values (see table below) that configure the MPU behaviour. For processors that implement an <b>MPU Fault Handler</b> the <a class="el" href="group__NVIC__gr.html">MemoryManagement_IRQn</a> exception is enabled by setting the bit MEMFAULTACT in register SBC-&gt;SHCSR.</p>
448 <p>The following table contains possible values for the parameter <em>MPU_CTRL</em> that set specific bits in register MPU-&gt;CTRL. </p><table class="markdownTable">
449 <tr class="markdownTableHead">
450 <th class="markdownTableHeadLeft">Bit   </th><th class="markdownTableHeadLeft">MPU_CTRL value   </th><th class="markdownTableHeadLeft">When applied   </th><th class="markdownTableHeadLeft">When not applied    </th></tr>
451 <tr class="markdownTableRowOdd">
452 <td class="markdownTableBodyLeft">1   </td><td class="markdownTableBodyLeft">MPU_CTRL_HFNMIENA_Msk   </td><td class="markdownTableBodyLeft">Enable MPU during hard fault, NMI, and FAULTMASK handlers execution   </td><td class="markdownTableBodyLeft">Disable MPU during hard fault, NMI, and FAULTMASK handler execution    </td></tr>
453 <tr class="markdownTableRowEven">
454 <td class="markdownTableBodyLeft">2   </td><td class="markdownTableBodyLeft">MPU_CTRL_PRIVDEFENA_Msk   </td><td class="markdownTableBodyLeft">Enable default memory map as a background region for privileged access   </td><td class="markdownTableBodyLeft">Use only MPU region settings   </td></tr>
455 </table>
456 <p><b>Example:</b></p>
457 <div class="fragment"><div class="line"><span class="comment">// enable MPU with all region definitions. Exceptions are not protected by MPU.</span></div>
458 <div class="line">  MPU_Enable (0);</div>
459 <div class="line">  </div>
460 <div class="line"><span class="comment">// enable MPU with all region definitions and background regions for privileged access. Exceptions are protected by MPU.</span></div>
461 <div class="line">  MPU_Enable (MPU_CTRL_PRIVDEFENA_Msk | MPU_CTRL_HFNMIENA_Msk);</div>
462 </div><!-- fragment --> 
463 </div>
464 </div>
465 <a id="gafa27b26d5847fa8e465584e376b6078a" name="gafa27b26d5847fa8e465584e376b6078a"></a>
466 <h2 class="memtitle"><span class="permalink"><a href="#gafa27b26d5847fa8e465584e376b6078a">&#9670;&#160;</a></span>ARM_MPU_Load()</h2>
467
468 <div class="memitem">
469 <div class="memproto">
470       <table class="memname">
471         <tr>
472           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_Load </td>
473           <td>(</td>
474           <td class="paramtype">MPU_Region_t const *&#160;</td>
475           <td class="paramname"><em>table</em>, </td>
476         </tr>
477         <tr>
478           <td class="paramkey"></td>
479           <td></td>
480           <td class="paramtype">uint32_t&#160;</td>
481           <td class="paramname"><em>cnt</em>&#160;</td>
482         </tr>
483         <tr>
484           <td></td>
485           <td>)</td>
486           <td></td><td></td>
487         </tr>
488       </table>
489 </div><div class="memdoc">
490 <p>Load the given number of MPU regions from a table. </p><dl class="params"><dt>Parameters</dt><dd>
491   <table class="params">
492     <tr><td class="paramname">table</td><td>Pointer to the MPU configuration table. </td></tr>
493     <tr><td class="paramname">cnt</td><td>Number of regions to be configured.</td></tr>
494   </table>
495   </dd>
496 </dl>
497 <dl class="section note"><dt>Note</dt><dd>only up to 16 regions can be handled as the function <a class="el" href="group__mpu__functions.html#gafa27b26d5847fa8e465584e376b6078a">ARM_MPU_Load</a> uses the REGION field in <a class="el" href="structMPU__Type.html#a990c609b26d990b8ba832b110adfd353">MPU-&gt;RBAR</a>.</dd></dl>
498 <p><b>Example:</b> </p><div class="fragment"><div class="line"><span class="keyword">const</span> <a class="code hl_struct" href="structARM__MPU__Region__t.html">ARM_MPU_Region_t</a> mpuTable[3][4] = {</div>
499 <div class="line">  {</div>
500 <div class="line">    { .<a class="code hl_variable" href="structARM__MPU__Region__t.html#afe7a7721aa08988d915670efa432cdd2">RBAR</a> = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(0UL, 0x08000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(0UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_1MB)  },</div>
501 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(1UL, 0x20000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_32KB) },</div>
502 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(2UL, 0x40020000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0x00UL, ARM_MPU_REGION_SIZE_8KB)  }, </div>
503 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(3UL, 0x40022000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0xC0UL, ARM_MPU_REGION_SIZE_4KB)  }</div>
504 <div class="line">  },</div>
505 <div class="line">  {</div>
506 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(4UL, 0x08000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(0UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_1MB)  },</div>
507 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(5UL, 0x20000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_32KB) },</div>
508 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(6UL, 0x40020000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0x00UL, ARM_MPU_REGION_SIZE_8KB)  }, </div>
509 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(7UL, 0x40022000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0xC0UL, ARM_MPU_REGION_SIZE_4KB)  }</div>
510 <div class="line">  },</div>
511 <div class="line">  {</div>
512 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(4UL, 0x18000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(0UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_1MB)  },</div>
513 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(5UL, 0x30000000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 0UL, 0UL, 1UL, 1UL, 0x00UL, ARM_MPU_REGION_SIZE_32KB) },</div>
514 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(6UL, 0x50020000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0x00UL, ARM_MPU_REGION_SIZE_8KB)  }, </div>
515 <div class="line">    { .RBAR = <a class="code hl_define" href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a>(7UL, 0x50022000UL), .RASR = <a class="code hl_define" href="group__mpu__functions.html#ga96b93785c92e2dbcb3a2356c25bf2adc">ARM_MPU_RASR</a>(1UL, ARM_MPU_AP_FULL, 2UL, 0UL, 0UL, 0UL, 0xC0UL, ARM_MPU_REGION_SIZE_4KB)  }</div>
516 <div class="line">  }</div>
517 <div class="line">};</div>
518 <div class="line"> </div>
519 <div class="line"><span class="keywordtype">void</span> UpdateMpu(uint32_t idx)</div>
520 <div class="line">{</div>
521 <div class="line">   <a class="code hl_function" href="group__mpu__functions.html#gafa27b26d5847fa8e465584e376b6078a">ARM_MPU_Load</a>(mpuTable[idx], 4);</div>
522 <div class="line">}</div>
523 <div class="ttc" id="agroup__mpu__functions_html_ga3fead12dc24a6d00ad53f55a042486ca"><div class="ttname"><a href="group__mpu__functions.html#ga3fead12dc24a6d00ad53f55a042486ca">ARM_MPU_RBAR</a></div><div class="ttdeci">#define ARM_MPU_RBAR(Region, BaseAddress)</div><div class="ttdoc">MPU Region Base Address Register Value.</div><div class="ttdef"><b>Definition:</b> ref_mpu.txt:41</div></div>
524 <div class="ttc" id="agroup__mpu__functions_html_gafa27b26d5847fa8e465584e376b6078a"><div class="ttname"><a href="group__mpu__functions.html#gafa27b26d5847fa8e465584e376b6078a">ARM_MPU_Load</a></div><div class="ttdeci">__STATIC_INLINE void ARM_MPU_Load(MPU_Region_t const *table, uint32_t cnt)</div></div>
525 <div class="ttc" id="astructARM__MPU__Region__t_html"><div class="ttname"><a href="structARM__MPU__Region__t.html">ARM_MPU_Region_t</a></div><div class="ttdoc">Setup information of a single MPU Region.</div><div class="ttdef"><b>Definition:</b> ref_mpu.txt:84</div></div>
526 <div class="ttc" id="astructARM__MPU__Region__t_html_afe7a7721aa08988d915670efa432cdd2"><div class="ttname"><a href="structARM__MPU__Region__t.html#afe7a7721aa08988d915670efa432cdd2">ARM_MPU_Region_t::RBAR</a></div><div class="ttdeci">uint32_t RBAR</div><div class="ttdoc">The region base address register value (RBAR)</div><div class="ttdef"><b>Definition:</b> ref_mpu.txt:85</div></div>
527 </div><!-- fragment --> 
528 </div>
529 </div>
530 <a id="gac1a949403bf84eecaf407003fb553ae7" name="gac1a949403bf84eecaf407003fb553ae7"></a>
531 <h2 class="memtitle"><span class="permalink"><a href="#gac1a949403bf84eecaf407003fb553ae7">&#9670;&#160;</a></span>ARM_MPU_OrderedMemcpy()</h2>
532
533 <div class="memitem">
534 <div class="memproto">
535       <table class="memname">
536         <tr>
537           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_OrderedMemcpy </td>
538           <td>(</td>
539           <td class="paramtype">volatile uint32_t *&#160;</td>
540           <td class="paramname"><em>dst</em>, </td>
541         </tr>
542         <tr>
543           <td class="paramkey"></td>
544           <td></td>
545           <td class="paramtype">const uint32_t *<a class="el" href="group__compiler__conntrol__gr.html#ga378ac21329d33f561f90265eef89f564">__RESTRICT</a>&#160;</td>
546           <td class="paramname"><em>src</em>, </td>
547         </tr>
548         <tr>
549           <td class="paramkey"></td>
550           <td></td>
551           <td class="paramtype">uint32_t&#160;</td>
552           <td class="paramname"><em>len</em>&#160;</td>
553         </tr>
554         <tr>
555           <td></td>
556           <td>)</td>
557           <td></td><td></td>
558         </tr>
559       </table>
560 </div><div class="memdoc">
561 <p>Memcpy with strictly ordered memory access, e.g. used by code in <a class="el" href="group__mpu__functions.html#gafa27b26d5847fa8e465584e376b6078a">ARM_MPU_Load</a>. </p><dl class="params"><dt>Parameters</dt><dd>
562   <table class="params">
563     <tr><td class="paramname">dst</td><td>Destination data is copied to. </td></tr>
564     <tr><td class="paramname">src</td><td>Source data is copied from. </td></tr>
565     <tr><td class="paramname">len</td><td>Amount of data words to be copied. </td></tr>
566   </table>
567   </dd>
568 </dl>
569
570 </div>
571 </div>
572 <a id="ga16931f9ad84d7289e8218e169ae6db5d" name="ga16931f9ad84d7289e8218e169ae6db5d"></a>
573 <h2 class="memtitle"><span class="permalink"><a href="#ga16931f9ad84d7289e8218e169ae6db5d">&#9670;&#160;</a></span>ARM_MPU_SetRegion()</h2>
574
575 <div class="memitem">
576 <div class="memproto">
577       <table class="memname">
578         <tr>
579           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_SetRegion </td>
580           <td>(</td>
581           <td class="paramtype">uint32_t&#160;</td>
582           <td class="paramname"><em>rbar</em>, </td>
583         </tr>
584         <tr>
585           <td class="paramkey"></td>
586           <td></td>
587           <td class="paramtype">uint32_t&#160;</td>
588           <td class="paramname"><em>rasr</em>&#160;</td>
589         </tr>
590         <tr>
591           <td></td>
592           <td>)</td>
593           <td></td><td></td>
594         </tr>
595       </table>
596 </div><div class="memdoc">
597 <p>Configure an MPU region.</p>
598 <p>The region number should be contained in the rbar value.</p>
599 <dl class="params"><dt>Parameters</dt><dd>
600   <table class="params">
601     <tr><td class="paramname">rbar</td><td>Value for <a class="el" href="structMPU__Type.html#a990c609b26d990b8ba832b110adfd353">RBAR</a> register. </td></tr>
602     <tr><td class="paramname">rasr</td><td>Value for <a class="el" href="structMPU__Type.html#a8f00c4a5e31b0a8d103ed3b0732c17a3">RASR</a> register. </td></tr>
603   </table>
604   </dd>
605 </dl>
606
607 </div>
608 </div>
609 <a id="ga042ba1a6a1a58795231459ac0410b809" name="ga042ba1a6a1a58795231459ac0410b809"></a>
610 <h2 class="memtitle"><span class="permalink"><a href="#ga042ba1a6a1a58795231459ac0410b809">&#9670;&#160;</a></span>ARM_MPU_SetRegionEx()</h2>
611
612 <div class="memitem">
613 <div class="memproto">
614       <table class="memname">
615         <tr>
616           <td class="memname"><a class="el" href="group__compiler__conntrol__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void ARM_MPU_SetRegionEx </td>
617           <td>(</td>
618           <td class="paramtype">uint32_t&#160;</td>
619           <td class="paramname"><em>rnr</em>, </td>
620         </tr>
621         <tr>
622           <td class="paramkey"></td>
623           <td></td>
624           <td class="paramtype">uint32_t&#160;</td>
625           <td class="paramname"><em>rbar</em>, </td>
626         </tr>
627         <tr>
628           <td class="paramkey"></td>
629           <td></td>
630           <td class="paramtype">uint32_t&#160;</td>
631           <td class="paramname"><em>rasr</em>&#160;</td>
632         </tr>
633         <tr>
634           <td></td>
635           <td>)</td>
636           <td></td><td></td>
637         </tr>
638       </table>
639 </div><div class="memdoc">
640 <p>Configure the given MPU region. </p><dl class="params"><dt>Parameters</dt><dd>
641   <table class="params">
642     <tr><td class="paramname">rnr</td><td>Region number to be configured. </td></tr>
643     <tr><td class="paramname">rbar</td><td>Value for <a class="el" href="structMPU__Type.html#a990c609b26d990b8ba832b110adfd353">RBAR</a> register. </td></tr>
644     <tr><td class="paramname">rasr</td><td>Value for <a class="el" href="structMPU__Type.html#a8f00c4a5e31b0a8d103ed3b0732c17a3">RASR</a> register. </td></tr>
645   </table>
646   </dd>
647 </dl>
648
649 </div>
650 </div>
651 </div><!-- contents -->
652 </div><!-- doc-content -->
653 <!-- start footer part -->
654 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
655   <ul>
656     <li class="footer">
657       <script type="text/javascript">
658         <!--
659         writeFooter.call(this);
660         //-->
661       </script> 
662     </li>
663   </ul>
664 </div>
665 </body>
666 </html>