]> begriffs open source - cmsis/blob - dev/v6.0.0-dev84/Core_A/cmsis__armclang__a_8h.html
Update documentation for branch main
[cmsis] / dev / v6.0.0-dev84 / Core_A / cmsis__armclang__a_8h.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-A): cmsis_armclang_a.h File Reference</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-A)
44    &#160;<span id="projectnumber"><script type="text/javascript">
45      <!--
46      writeHeader.call(this);
47      writeVersionDropdown.call(this, "CMSIS-Core (Cortex-A)");
48      //-->
49     </script>
50    </span>
51    </div>
52    <div id="projectbrief">CMSIS-Core support for Cortex-A 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('cmsis__armclang__a_8h.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="#define-members">Macros</a> &#124;
129 <a href="#func-members">Functions</a> &#124;
130 <a href="#var-members">Variables</a>  </div>
131   <div class="headertitle"><div class="title">cmsis_armclang_a.h File Reference</div></div>
132 </div><!--header-->
133 <div class="contents">
134 <table class="memberdecls">
135 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
136 Macros</h2></td></tr>
137 <tr class="memitem:ga1378040bcf22428955c6e3ce9c2053cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>&#160;&#160;&#160;__asm</td></tr>
138 <tr class="memdesc:ga1378040bcf22428955c6e3ce9c2053cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass information from the compiler to the assembler.  <br /></td></tr>
139 <tr class="separator:ga1378040bcf22428955c6e3ce9c2053cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
140 <tr class="memitem:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gade2d8d7118f8ff49547f60aa0c3382bb">__INLINE</a>&#160;&#160;&#160;__inline</td></tr>
141 <tr class="memdesc:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recommend that function should be inlined by the compiler.  <br /></td></tr>
142 <tr class="separator:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
143 <tr class="memitem:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a2ecb43ce8e7aa73d32f50afa67b42c76">__FORCEINLINE</a>&#160;&#160;&#160;__attribute__((always_inline))</td></tr>
144 <tr class="separator:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <tr class="memitem:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a>&#160;&#160;&#160;static __inline</td></tr>
146 <tr class="memdesc:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define a static function should be inlined by the compiler.  <br /></td></tr>
147 <tr class="separator:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <tr class="memitem:ab904513442afdf77d4f8c74f23cbb040"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a>&#160;&#160;&#160;__attribute__((always_inline)) static __inline</td></tr>
149 <tr class="separator:ab904513442afdf77d4f8c74f23cbb040"><td class="memSeparator" colspan="2">&#160;</td></tr>
150 <tr class="memitem:ga153a4a31b276a9758959580538720a51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga153a4a31b276a9758959580538720a51">__NO_RETURN</a>&#160;&#160;&#160;__attribute__((__noreturn__))</td></tr>
151 <tr class="memdesc:ga153a4a31b276a9758959580538720a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inform the compiler that a function does not return.  <br /></td></tr>
152 <tr class="separator:ga153a4a31b276a9758959580538720a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <tr class="memitem:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#acdc36c1b3d3e16c17a73889b7d06d0d2">CMSIS_DEPRECATED</a>&#160;&#160;&#160;__attribute__((deprecated))</td></tr>
154 <tr class="separator:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
155 <tr class="memitem:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga3e40e4c553fc11588f7a4c2a19e789e0">__USED</a>&#160;&#160;&#160;__attribute__((used))</td></tr>
156 <tr class="memdesc:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inform that a variable shall be retained in executable image.  <br /></td></tr>
157 <tr class="separator:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <tr class="memitem:gac607bf387b29162be6a9b77fc7999539"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gac607bf387b29162be6a9b77fc7999539">__WEAK</a>&#160;&#160;&#160;__attribute__((weak))</td></tr>
159 <tr class="memdesc:gac607bf387b29162be6a9b77fc7999539"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export a function or variable weakly to allow overwrites.  <br /></td></tr>
160 <tr class="separator:gac607bf387b29162be6a9b77fc7999539"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:gabe8996d3d985ee1529475443cc635bf1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gabe8996d3d985ee1529475443cc635bf1">__PACKED</a>&#160;&#160;&#160;__attribute__((packed, aligned(1)))</td></tr>
162 <tr class="memdesc:gabe8996d3d985ee1529475443cc635bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request smallest possible alignment.  <br /></td></tr>
163 <tr class="separator:gabe8996d3d985ee1529475443cc635bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
164 <tr class="memitem:a4dbb70fab85207c27b581ecb6532b314"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;&#160;&#160;struct __attribute__((packed, aligned(1)))</td></tr>
165 <tr class="separator:a4dbb70fab85207c27b581ecb6532b314"><td class="memSeparator" colspan="2">&#160;</td></tr>
166 <tr class="memitem:a5103fb373cae9837cc4a384be55dc87f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a5103fb373cae9837cc4a384be55dc87f">__UNALIGNED_UINT16_WRITE</a>(addr,  val)&#160;&#160;&#160;(void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#ac962a9aa89cef6e5cde0fe6b067f7de3">T_UINT16_WRITE</a> *)(void *)(addr))-&gt;v) = (val))</td></tr>
167 <tr class="separator:a5103fb373cae9837cc4a384be55dc87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
168 <tr class="memitem:ab71b66e5ce403158d3dee62a59f9175f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab71b66e5ce403158d3dee62a59f9175f">__UNALIGNED_UINT16_READ</a>(addr)&#160;&#160;&#160;(((const struct <a class="el" href="cmsis__armclang__a_8h.html#a86899dc41c5b3b9ce6b8014ee0e852b9">T_UINT16_READ</a> *)(const void *)(addr))-&gt;v)</td></tr>
169 <tr class="separator:ab71b66e5ce403158d3dee62a59f9175f"><td class="memSeparator" colspan="2">&#160;</td></tr>
170 <tr class="memitem:a203f593d140ed88b81bc189edc861110"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a203f593d140ed88b81bc189edc861110">__UNALIGNED_UINT32_WRITE</a>(addr,  val)&#160;&#160;&#160;(void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#abbd193dec7cb45f1fbd05ff7e366ffe2">T_UINT32_WRITE</a> *)(void *)(addr))-&gt;v) = (val))</td></tr>
171 <tr class="separator:a203f593d140ed88b81bc189edc861110"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <tr class="memitem:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3b931f0b051b8c1a6377a3dcc7559b5e">__UNALIGNED_UINT32_READ</a>(addr)&#160;&#160;&#160;(((const struct <a class="el" href="cmsis__armclang__a_8h.html#a9653a1cbf01ec418e8e940ee3996b8ca">T_UINT32_READ</a> *)(const void *)(addr))-&gt;v)</td></tr>
173 <tr class="separator:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <tr class="memitem:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55">__ALIGNED</a>(x)&#160;&#160;&#160;__attribute__((aligned(x)))</td></tr>
175 <tr class="memdesc:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum alignment for a variable.  <br /></td></tr>
176 <tr class="separator:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
177 <tr class="memitem:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a6516fb12ab0dd45c734f8cef7d921af6">__COMPILER_BARRIER</a>()&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;&quot;:::&quot;memory&quot;)</td></tr>
178 <tr class="separator:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
179 <tr class="memitem:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gabd585ddc865fb9b7f2493af1eee1a572">__NOP</a>&#160;&#160;&#160;__builtin_arm_nop</td></tr>
180 <tr class="memdesc:gabd585ddc865fb9b7f2493af1eee1a572"><td class="mdescLeft">&#160;</td><td class="mdescRight">No Operation.  <br /></td></tr>
181 <tr class="separator:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memSeparator" colspan="2">&#160;</td></tr>
182 <tr class="memitem:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gad23bf2b78a9a4524157c9de0d30b7448">__WFI</a>&#160;&#160;&#160;__builtin_arm_wfi</td></tr>
183 <tr class="memdesc:gad23bf2b78a9a4524157c9de0d30b7448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Interrupt.  <br /></td></tr>
184 <tr class="separator:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memSeparator" colspan="2">&#160;</td></tr>
185 <tr class="memitem:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaac6cc7dd4325d9cb40d3290fa5244b3d">__WFE</a>&#160;&#160;&#160;__builtin_arm_wfe</td></tr>
186 <tr class="memdesc:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Event.  <br /></td></tr>
187 <tr class="separator:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
188 <tr class="memitem:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaab4f296d0022b4b10dc0976eb22052f9">__SEV</a>&#160;&#160;&#160;__builtin_arm_sev</td></tr>
189 <tr class="memdesc:gaab4f296d0022b4b10dc0976eb22052f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send Event.  <br /></td></tr>
190 <tr class="separator:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
191 <tr class="memitem:gaad233022e850a009fc6f7602be1182f6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaad233022e850a009fc6f7602be1182f6">__ISB</a>()&#160;&#160;&#160;__builtin_arm_isb(0xF)</td></tr>
192 <tr class="memdesc:gaad233022e850a009fc6f7602be1182f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instruction Synchronization Barrier.  <br /></td></tr>
193 <tr class="separator:gaad233022e850a009fc6f7602be1182f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
194 <tr class="memitem:ga067d257a2b34565410acefb5afef2203"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga067d257a2b34565410acefb5afef2203">__DSB</a>()&#160;&#160;&#160;__builtin_arm_dsb(0xF)</td></tr>
195 <tr class="memdesc:ga067d257a2b34565410acefb5afef2203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Synchronization Barrier.  <br /></td></tr>
196 <tr class="separator:ga067d257a2b34565410acefb5afef2203"><td class="memSeparator" colspan="2">&#160;</td></tr>
197 <tr class="memitem:ga671101179b5943990785f36f8c1e2269"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga671101179b5943990785f36f8c1e2269">__DMB</a>()&#160;&#160;&#160;__builtin_arm_dmb(0xF)</td></tr>
198 <tr class="memdesc:ga671101179b5943990785f36f8c1e2269"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Memory Barrier.  <br /></td></tr>
199 <tr class="separator:ga671101179b5943990785f36f8c1e2269"><td class="memSeparator" colspan="2">&#160;</td></tr>
200 <tr class="memitem:aca25a02e09983da5558f5242f2f635bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aca25a02e09983da5558f5242f2f635bc">__REV</a>(value)&#160;&#160;&#160;__builtin_bswap32(value)</td></tr>
201 <tr class="memdesc:aca25a02e09983da5558f5242f2f635bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (32 bit)  <br /></td></tr>
202 <tr class="separator:aca25a02e09983da5558f5242f2f635bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
203 <tr class="memitem:ad35497777af37e7809271b5e6f9510ba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ad35497777af37e7809271b5e6f9510ba">__REV16</a>(value)&#160;&#160;&#160;<a class="el" href="group__CMSIS__Core__InstructionInterface.html#gae05c1a2dac5bb7a399420c804c3048ca">__ROR</a>(<a class="el" href="cmsis__armclang__a_8h.html#aca25a02e09983da5558f5242f2f635bc">__REV</a>(value), 16)</td></tr>
204 <tr class="memdesc:ad35497777af37e7809271b5e6f9510ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (16 bit)  <br /></td></tr>
205 <tr class="separator:ad35497777af37e7809271b5e6f9510ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
206 <tr class="memitem:ae580812686119c9c5cf3c11a7519a404"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ae580812686119c9c5cf3c11a7519a404">__REVSH</a>(value)&#160;&#160;&#160;(int16_t)__builtin_bswap16(value)</td></tr>
207 <tr class="memdesc:ae580812686119c9c5cf3c11a7519a404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (16 bit)  <br /></td></tr>
208 <tr class="separator:ae580812686119c9c5cf3c11a7519a404"><td class="memSeparator" colspan="2">&#160;</td></tr>
209 <tr class="memitem:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga15ea6bd3c507d3e81c3b3a1258e46397">__BKPT</a>(value)&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile (&quot;bkpt &quot;#value)</td></tr>
210 <tr class="memdesc:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breakpoint.  <br /></td></tr>
211 <tr class="separator:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memSeparator" colspan="2">&#160;</td></tr>
212 <tr class="memitem:ab83768933a612816fad669db5488366f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab83768933a612816fad669db5488366f">__RBIT</a>&#160;&#160;&#160;__builtin_arm_rbit</td></tr>
213 <tr class="memdesc:ab83768933a612816fad669db5488366f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse bit order of value.  <br /></td></tr>
214 <tr class="separator:ab83768933a612816fad669db5488366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
215 <tr class="memitem:a7d50fe10ca4fb48c076c45e607361ada"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7d50fe10ca4fb48c076c45e607361ada">__LDREXB</a>&#160;&#160;&#160;(uint8_t)__builtin_arm_ldrex</td></tr>
216 <tr class="memdesc:a7d50fe10ca4fb48c076c45e607361ada"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (8 bit)  <br /></td></tr>
217 <tr class="separator:a7d50fe10ca4fb48c076c45e607361ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
218 <tr class="memitem:a85552e9948b86c6530e1baa8f5dd2eda"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a85552e9948b86c6530e1baa8f5dd2eda">__LDREXH</a>&#160;&#160;&#160;(uint16_t)__builtin_arm_ldrex</td></tr>
219 <tr class="memdesc:a85552e9948b86c6530e1baa8f5dd2eda"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (16 bit)  <br /></td></tr>
220 <tr class="separator:a85552e9948b86c6530e1baa8f5dd2eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
221 <tr class="memitem:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab9ddf318a40b0dbbd6c40c10f5e7fa54">__LDREXW</a>&#160;&#160;&#160;(uint32_t)__builtin_arm_ldrex</td></tr>
222 <tr class="memdesc:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (32 bit)  <br /></td></tr>
223 <tr class="separator:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="memSeparator" colspan="2">&#160;</td></tr>
224 <tr class="memitem:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab27db62b79d57e8cbe47512adcc3cd7b">__STREXB</a>&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td></tr>
225 <tr class="memdesc:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (8 bit)  <br /></td></tr>
226 <tr class="separator:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
227 <tr class="memitem:ac877950e5474daa1448b017cd1d8275b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ac877950e5474daa1448b017cd1d8275b">__STREXH</a>&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td></tr>
228 <tr class="memdesc:ac877950e5474daa1448b017cd1d8275b"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (16 bit)  <br /></td></tr>
229 <tr class="separator:ac877950e5474daa1448b017cd1d8275b"><td class="memSeparator" colspan="2">&#160;</td></tr>
230 <tr class="memitem:a43a683772a3fcca5d36b97c4bd1943ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a43a683772a3fcca5d36b97c4bd1943ff">__STREXW</a>&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td></tr>
231 <tr class="memdesc:a43a683772a3fcca5d36b97c4bd1943ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (32 bit)  <br /></td></tr>
232 <tr class="separator:a43a683772a3fcca5d36b97c4bd1943ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
233 <tr class="memitem:a7f7b66103530fadcce226375af3c2c03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7f7b66103530fadcce226375af3c2c03">__CLREX</a>&#160;&#160;&#160;__builtin_arm_clrex</td></tr>
234 <tr class="memdesc:a7f7b66103530fadcce226375af3c2c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the exclusive lock.  <br /></td></tr>
235 <tr class="separator:a7f7b66103530fadcce226375af3c2c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
236 <tr class="memitem:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3c013c2ed76ebc48c283c8bae17b9ab8">__SSAT</a>&#160;&#160;&#160;__builtin_arm_ssat</td></tr>
237 <tr class="memdesc:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signed Saturate.  <br /></td></tr>
238 <tr class="separator:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
239 <tr class="memitem:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ad0e4fa951d563740462d837bb6ddd7bb">__USAT</a>&#160;&#160;&#160;__builtin_arm_usat</td></tr>
240 <tr class="memdesc:ad0e4fa951d563740462d837bb6ddd7bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned Saturate.  <br /></td></tr>
241 <tr class="separator:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
242 <tr class="memitem:ad2a4e5d85d92189d574854b2fbfff057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ad2a4e5d85d92189d574854b2fbfff057">__get_CP</a>(cp,  op1,  Rt,  CRn,  CRm,  op2)&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MRC p&quot; # cp &quot;, &quot; # op1 &quot;, %0, c&quot; # CRn &quot;, c&quot; # CRm &quot;, &quot; # op2 : &quot;=r&quot; (Rt) : : &quot;memory&quot; )</td></tr>
243 <tr class="separator:ad2a4e5d85d92189d574854b2fbfff057"><td class="memSeparator" colspan="2">&#160;</td></tr>
244 <tr class="memitem:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a5e4710ddc910c7feee1de7f118b84ad1">__set_CP</a>(cp,  op1,  Rt,  CRn,  CRm,  op2)&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MCR p&quot; # cp &quot;, &quot; # op1 &quot;, %0, c&quot; # CRn &quot;, c&quot; # CRm &quot;, &quot; # op2 : : &quot;r&quot; (Rt) : &quot;memory&quot; )</td></tr>
245 <tr class="separator:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
246 <tr class="memitem:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a96a3cccabb5bcaf41115a5dfb3fc6723">__get_CP64</a>(cp,  op1,  Rt,  CRm)&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MRRC p&quot; # cp &quot;, &quot; # op1 &quot;, %Q0, %R0, c&quot; # CRm  : &quot;=r&quot; (Rt) : : &quot;memory&quot; )</td></tr>
247 <tr class="separator:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memSeparator" colspan="2">&#160;</td></tr>
248 <tr class="memitem:af23b5ae27930ef8d9f62a2cf19338003"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#af23b5ae27930ef8d9f62a2cf19338003">__set_CP64</a>(cp,  op1,  Rt,  CRm)&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MCRR p&quot; # cp &quot;, &quot; # op1 &quot;, %Q0, %R0, c&quot; # CRm  : : &quot;r&quot; (Rt) : &quot;memory&quot; )</td></tr>
249 <tr class="separator:af23b5ae27930ef8d9f62a2cf19338003"><td class="memSeparator" colspan="2">&#160;</td></tr>
250 </table><table class="memberdecls">
251 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
252 Functions</h2></td></tr>
253 <tr class="memitem:gae05c1a2dac5bb7a399420c804c3048ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gae05c1a2dac5bb7a399420c804c3048ca">__ROR</a> (uint32_t op1, uint32_t op2)</td></tr>
254 <tr class="memdesc:gae05c1a2dac5bb7a399420c804c3048ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate Right in unsigned value (32 bit)  <br /></td></tr>
255 <tr class="separator:gae05c1a2dac5bb7a399420c804c3048ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
256 <tr class="memitem:ga90884c591ac5d73d6069334eba9d6c02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga90884c591ac5d73d6069334eba9d6c02">__CLZ</a> (uint32_t value)</td></tr>
257 <tr class="memdesc:ga90884c591ac5d73d6069334eba9d6c02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count leading zeros.  <br /></td></tr>
258 <tr class="separator:ga90884c591ac5d73d6069334eba9d6c02"><td class="memSeparator" colspan="2">&#160;</td></tr>
259 <tr class="memitem:a87e96ac34a5d8dd9083b687dc3664215"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a87e96ac34a5d8dd9083b687dc3664215">__RRX</a> (uint32_t value)</td></tr>
260 <tr class="memdesc:a87e96ac34a5d8dd9083b687dc3664215"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rotate Right with Extend (32 bit)  <br /></td></tr>
261 <tr class="separator:a87e96ac34a5d8dd9083b687dc3664215"><td class="memSeparator" colspan="2">&#160;</td></tr>
262 <tr class="memitem:a3504b9468d4f1cad2fbaea9aba65a0fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3504b9468d4f1cad2fbaea9aba65a0fa">__LDRBT</a> (volatile uint8_t *ptr)</td></tr>
263 <tr class="memdesc:a3504b9468d4f1cad2fbaea9aba65a0fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDRT Unprivileged (8 bit)  <br /></td></tr>
264 <tr class="separator:a3504b9468d4f1cad2fbaea9aba65a0fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
265 <tr class="memitem:aad7090d4dc9abc8446f021d38e2706a1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aad7090d4dc9abc8446f021d38e2706a1">__LDRHT</a> (volatile uint16_t *ptr)</td></tr>
266 <tr class="memdesc:aad7090d4dc9abc8446f021d38e2706a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDRT Unprivileged (16 bit)  <br /></td></tr>
267 <tr class="separator:aad7090d4dc9abc8446f021d38e2706a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
268 <tr class="memitem:a63c311279e8a0d47b52e67e978b7f0cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a63c311279e8a0d47b52e67e978b7f0cd">__LDRT</a> (volatile uint32_t *ptr)</td></tr>
269 <tr class="memdesc:a63c311279e8a0d47b52e67e978b7f0cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDRT Unprivileged (32 bit)  <br /></td></tr>
270 <tr class="separator:a63c311279e8a0d47b52e67e978b7f0cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
271 <tr class="memitem:a3d8a768c00b348d526b941a7f51ce2d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3d8a768c00b348d526b941a7f51ce2d3">__STRBT</a> (uint8_t value, volatile uint8_t *ptr)</td></tr>
272 <tr class="memdesc:a3d8a768c00b348d526b941a7f51ce2d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">STRT Unprivileged (8 bit)  <br /></td></tr>
273 <tr class="separator:a3d8a768c00b348d526b941a7f51ce2d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
274 <tr class="memitem:aca61d1e42169f57b1d0be2ab873aae51"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aca61d1e42169f57b1d0be2ab873aae51">__STRHT</a> (uint16_t value, volatile uint16_t *ptr)</td></tr>
275 <tr class="memdesc:aca61d1e42169f57b1d0be2ab873aae51"><td class="mdescLeft">&#160;</td><td class="mdescRight">STRT Unprivileged (16 bit)  <br /></td></tr>
276 <tr class="separator:aca61d1e42169f57b1d0be2ab873aae51"><td class="memSeparator" colspan="2">&#160;</td></tr>
277 <tr class="memitem:a2e578cf2f48002f7a76e42d6d4e1c743"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a2e578cf2f48002f7a76e42d6d4e1c743">__STRT</a> (uint32_t value, volatile uint32_t *ptr)</td></tr>
278 <tr class="memdesc:a2e578cf2f48002f7a76e42d6d4e1c743"><td class="mdescLeft">&#160;</td><td class="mdescRight">STRT Unprivileged (32 bit)  <br /></td></tr>
279 <tr class="separator:a2e578cf2f48002f7a76e42d6d4e1c743"><td class="memSeparator" colspan="2">&#160;</td></tr>
280 <tr class="memitem:ae84bf4e95944e61937f4ed2453e5ef23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ae84bf4e95944e61937f4ed2453e5ef23">__enable_irq</a> (void)</td></tr>
281 <tr class="memdesc:ae84bf4e95944e61937f4ed2453e5ef23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable IRQ Interrupts.  <br /></td></tr>
282 <tr class="separator:ae84bf4e95944e61937f4ed2453e5ef23"><td class="memSeparator" colspan="2">&#160;</td></tr>
283 <tr class="memitem:a2299877e4ba3e162ca9dbabd6e0abef6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a2299877e4ba3e162ca9dbabd6e0abef6">__disable_irq</a> (void)</td></tr>
284 <tr class="memdesc:a2299877e4ba3e162ca9dbabd6e0abef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable IRQ Interrupts.  <br /></td></tr>
285 <tr class="separator:a2299877e4ba3e162ca9dbabd6e0abef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
286 <tr class="memitem:adccd32ddc2337a9a944c2da9c485a81d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#adccd32ddc2337a9a944c2da9c485a81d">__enable_fault_irq</a> (void)</td></tr>
287 <tr class="memdesc:adccd32ddc2337a9a944c2da9c485a81d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable FIQ.  <br /></td></tr>
288 <tr class="separator:adccd32ddc2337a9a944c2da9c485a81d"><td class="memSeparator" colspan="2">&#160;</td></tr>
289 <tr class="memitem:a6f1d7bf2b8b84502e8de12f0c288e117"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a6f1d7bf2b8b84502e8de12f0c288e117">__disable_fault_irq</a> (void)</td></tr>
290 <tr class="memdesc:a6f1d7bf2b8b84502e8de12f0c288e117"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable FIQ.  <br /></td></tr>
291 <tr class="separator:a6f1d7bf2b8b84502e8de12f0c288e117"><td class="memSeparator" colspan="2">&#160;</td></tr>
292 <tr class="memitem:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPSCR.html#ga6a275172e274ea7ce6c22030d07c6c64">__get_FPSCR</a> (void)</td></tr>
293 <tr class="memdesc:ga6a275172e274ea7ce6c22030d07c6c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPSCR.  <br /></td></tr>
294 <tr class="separator:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
295 <tr class="memitem:ga17c6ff443c52c74125fefef7de5fee1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPSCR.html#ga17c6ff443c52c74125fefef7de5fee1d">__set_FPSCR</a> (uint32_t fpscr)</td></tr>
296 <tr class="memdesc:ga17c6ff443c52c74125fefef7de5fee1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPSCR.  <br /></td></tr>
297 <tr class="separator:ga17c6ff443c52c74125fefef7de5fee1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
298 <tr class="memitem:gaa4bddbd2091b8fb234ae43d290e69e78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#gaa4bddbd2091b8fb234ae43d290e69e78">__get_CPSR</a> (void)</td></tr>
299 <tr class="memdesc:gaa4bddbd2091b8fb234ae43d290e69e78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CPSR Register.  <br /></td></tr>
300 <tr class="separator:gaa4bddbd2091b8fb234ae43d290e69e78"><td class="memSeparator" colspan="2">&#160;</td></tr>
301 <tr class="memitem:ga48f0cfea7413b74bd90986762383c1cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#ga48f0cfea7413b74bd90986762383c1cd">__set_CPSR</a> (uint32_t cpsr)</td></tr>
302 <tr class="memdesc:ga48f0cfea7413b74bd90986762383c1cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set CPSR Register.  <br /></td></tr>
303 <tr class="separator:ga48f0cfea7413b74bd90986762383c1cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
304 <tr class="memitem:a4cf62691d82a3f3a0d844ae94718a5a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a4cf62691d82a3f3a0d844ae94718a5a9">__get_mode</a> (void)</td></tr>
305 <tr class="memdesc:a4cf62691d82a3f3a0d844ae94718a5a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Mode.  <br /></td></tr>
306 <tr class="separator:a4cf62691d82a3f3a0d844ae94718a5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
307 <tr class="memitem:a7ad5710bc622794ffed1d31740f6be55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7ad5710bc622794ffed1d31740f6be55">__set_mode</a> (uint32_t mode)</td></tr>
308 <tr class="memdesc:a7ad5710bc622794ffed1d31740f6be55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Mode.  <br /></td></tr>
309 <tr class="separator:a7ad5710bc622794ffed1d31740f6be55"><td class="memSeparator" colspan="2">&#160;</td></tr>
310 <tr class="memitem:aebea89632181454327b3dc0cf29ec358"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aebea89632181454327b3dc0cf29ec358">__get_SP</a> (void)</td></tr>
311 <tr class="memdesc:aebea89632181454327b3dc0cf29ec358"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Stack Pointer.  <br /></td></tr>
312 <tr class="separator:aebea89632181454327b3dc0cf29ec358"><td class="memSeparator" colspan="2">&#160;</td></tr>
313 <tr class="memitem:ga6d25d5770874bf1c824f892739bfdf41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#ga6d25d5770874bf1c824f892739bfdf41">__set_SP</a> (uint32_t stack)</td></tr>
314 <tr class="memdesc:ga6d25d5770874bf1c824f892739bfdf41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Stack Pointer.  <br /></td></tr>
315 <tr class="separator:ga6d25d5770874bf1c824f892739bfdf41"><td class="memSeparator" colspan="2">&#160;</td></tr>
316 <tr class="memitem:a7009688fca7a35b5e3ba6cf11cc74869"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7009688fca7a35b5e3ba6cf11cc74869">__get_SP_usr</a> (void)</td></tr>
317 <tr class="memdesc:a7009688fca7a35b5e3ba6cf11cc74869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get USR/SYS Stack Pointer.  <br /></td></tr>
318 <tr class="separator:a7009688fca7a35b5e3ba6cf11cc74869"><td class="memSeparator" colspan="2">&#160;</td></tr>
319 <tr class="memitem:gaabb67304694380b52a86cdc77efdfbf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#gaabb67304694380b52a86cdc77efdfbf9">__set_SP_usr</a> (uint32_t topOfProcStack)</td></tr>
320 <tr class="memdesc:gaabb67304694380b52a86cdc77efdfbf9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set USR/SYS Stack Pointer.  <br /></td></tr>
321 <tr class="separator:gaabb67304694380b52a86cdc77efdfbf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
322 <tr class="memitem:gadde57667b9f81c468a49268513624b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#gadde57667b9f81c468a49268513624b90">__get_FPEXC</a> (void)</td></tr>
323 <tr class="memdesc:gadde57667b9f81c468a49268513624b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPEXC.  <br /></td></tr>
324 <tr class="separator:gadde57667b9f81c468a49268513624b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
325 <tr class="memitem:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#ga14ba90beb9b4712454f35ac453c45f5d">__set_FPEXC</a> (uint32_t fpexc)</td></tr>
326 <tr class="memdesc:ga14ba90beb9b4712454f35ac453c45f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPEXC.  <br /></td></tr>
327 <tr class="separator:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
328 <tr class="memitem:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__FPU__functions.html#ga1e4728985ee8b4fa89cc01c032f69565">__FPU_Enable</a> (void)</td></tr>
329 <tr class="memdesc:ga1e4728985ee8b4fa89cc01c032f69565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Floating Point Unit.  <br /></td></tr>
330 <tr class="separator:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memSeparator" colspan="2">&#160;</td></tr>
331 </table><table class="memberdecls">
332 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
333 Variables</h2></td></tr>
334 <tr class="memitem:ac962a9aa89cef6e5cde0fe6b067f7de3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ac962a9aa89cef6e5cde0fe6b067f7de3">T_UINT16_WRITE</a> { uint16_t v</td></tr>
335 <tr class="separator:ac962a9aa89cef6e5cde0fe6b067f7de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
336 <tr class="memitem:a86899dc41c5b3b9ce6b8014ee0e852b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a86899dc41c5b3b9ce6b8014ee0e852b9">T_UINT16_READ</a> { uint16_t v</td></tr>
337 <tr class="separator:a86899dc41c5b3b9ce6b8014ee0e852b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
338 <tr class="memitem:abbd193dec7cb45f1fbd05ff7e366ffe2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#abbd193dec7cb45f1fbd05ff7e366ffe2">T_UINT32_WRITE</a> { uint32_t v</td></tr>
339 <tr class="separator:abbd193dec7cb45f1fbd05ff7e366ffe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
340 <tr class="memitem:a9653a1cbf01ec418e8e940ee3996b8ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a9653a1cbf01ec418e8e940ee3996b8ca">T_UINT32_READ</a> { uint32_t v</td></tr>
341 <tr class="separator:a9653a1cbf01ec418e8e940ee3996b8ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
342 </table>
343 <h2 class="groupheader">Macro Definition Documentation</h2>
344 <a id="a7f7b66103530fadcce226375af3c2c03" name="a7f7b66103530fadcce226375af3c2c03"></a>
345 <h2 class="memtitle"><span class="permalink"><a href="#a7f7b66103530fadcce226375af3c2c03">&#9670;&#160;</a></span>__CLREX</h2>
346
347 <div class="memitem">
348 <div class="memproto">
349       <table class="memname">
350         <tr>
351           <td class="memname">#define __CLREX&#160;&#160;&#160;__builtin_arm_clrex</td>
352         </tr>
353       </table>
354 </div><div class="memdoc">
355
356 <p>Remove the exclusive lock. </p>
357 <p>Removes the exclusive lock which is created by LDREX. </p>
358
359 </div>
360 </div>
361 <a id="a6516fb12ab0dd45c734f8cef7d921af6" name="a6516fb12ab0dd45c734f8cef7d921af6"></a>
362 <h2 class="memtitle"><span class="permalink"><a href="#a6516fb12ab0dd45c734f8cef7d921af6">&#9670;&#160;</a></span>__COMPILER_BARRIER</h2>
363
364 <div class="memitem">
365 <div class="memproto">
366       <table class="memname">
367         <tr>
368           <td class="memname">#define __COMPILER_BARRIER</td>
369           <td>(</td>
370           <td class="paramname"></td><td>)</td>
371           <td>&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;&quot;:::&quot;memory&quot;)</td>
372         </tr>
373       </table>
374 </div><div class="memdoc">
375
376 </div>
377 </div>
378 <a id="a2ecb43ce8e7aa73d32f50afa67b42c76" name="a2ecb43ce8e7aa73d32f50afa67b42c76"></a>
379 <h2 class="memtitle"><span class="permalink"><a href="#a2ecb43ce8e7aa73d32f50afa67b42c76">&#9670;&#160;</a></span>__FORCEINLINE</h2>
380
381 <div class="memitem">
382 <div class="memproto">
383       <table class="memname">
384         <tr>
385           <td class="memname">#define __FORCEINLINE&#160;&#160;&#160;__attribute__((always_inline))</td>
386         </tr>
387       </table>
388 </div><div class="memdoc">
389
390 </div>
391 </div>
392 <a id="ad2a4e5d85d92189d574854b2fbfff057" name="ad2a4e5d85d92189d574854b2fbfff057"></a>
393 <h2 class="memtitle"><span class="permalink"><a href="#ad2a4e5d85d92189d574854b2fbfff057">&#9670;&#160;</a></span>__get_CP</h2>
394
395 <div class="memitem">
396 <div class="memproto">
397       <table class="memname">
398         <tr>
399           <td class="memname">#define __get_CP</td>
400           <td>(</td>
401           <td class="paramtype">&#160;</td>
402           <td class="paramname">cp, </td>
403         </tr>
404         <tr>
405           <td class="paramkey"></td>
406           <td></td>
407           <td class="paramtype">&#160;</td>
408           <td class="paramname">op1, </td>
409         </tr>
410         <tr>
411           <td class="paramkey"></td>
412           <td></td>
413           <td class="paramtype">&#160;</td>
414           <td class="paramname">Rt, </td>
415         </tr>
416         <tr>
417           <td class="paramkey"></td>
418           <td></td>
419           <td class="paramtype">&#160;</td>
420           <td class="paramname">CRn, </td>
421         </tr>
422         <tr>
423           <td class="paramkey"></td>
424           <td></td>
425           <td class="paramtype">&#160;</td>
426           <td class="paramname">CRm, </td>
427         </tr>
428         <tr>
429           <td class="paramkey"></td>
430           <td></td>
431           <td class="paramtype">&#160;</td>
432           <td class="paramname">op2&#160;</td>
433         </tr>
434         <tr>
435           <td></td>
436           <td>)</td>
437           <td></td><td>&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MRC p&quot; # cp &quot;, &quot; # op1 &quot;, %0, c&quot; # CRn &quot;, c&quot; # CRm &quot;, &quot; # op2 : &quot;=r&quot; (Rt) : : &quot;memory&quot; )</td>
438         </tr>
439       </table>
440 </div><div class="memdoc">
441
442 </div>
443 </div>
444 <a id="a96a3cccabb5bcaf41115a5dfb3fc6723" name="a96a3cccabb5bcaf41115a5dfb3fc6723"></a>
445 <h2 class="memtitle"><span class="permalink"><a href="#a96a3cccabb5bcaf41115a5dfb3fc6723">&#9670;&#160;</a></span>__get_CP64</h2>
446
447 <div class="memitem">
448 <div class="memproto">
449       <table class="memname">
450         <tr>
451           <td class="memname">#define __get_CP64</td>
452           <td>(</td>
453           <td class="paramtype">&#160;</td>
454           <td class="paramname">cp, </td>
455         </tr>
456         <tr>
457           <td class="paramkey"></td>
458           <td></td>
459           <td class="paramtype">&#160;</td>
460           <td class="paramname">op1, </td>
461         </tr>
462         <tr>
463           <td class="paramkey"></td>
464           <td></td>
465           <td class="paramtype">&#160;</td>
466           <td class="paramname">Rt, </td>
467         </tr>
468         <tr>
469           <td class="paramkey"></td>
470           <td></td>
471           <td class="paramtype">&#160;</td>
472           <td class="paramname">CRm&#160;</td>
473         </tr>
474         <tr>
475           <td></td>
476           <td>)</td>
477           <td></td><td>&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MRRC p&quot; # cp &quot;, &quot; # op1 &quot;, %Q0, %R0, c&quot; # CRm  : &quot;=r&quot; (Rt) : : &quot;memory&quot; )</td>
478         </tr>
479       </table>
480 </div><div class="memdoc">
481
482 </div>
483 </div>
484 <a id="a7d50fe10ca4fb48c076c45e607361ada" name="a7d50fe10ca4fb48c076c45e607361ada"></a>
485 <h2 class="memtitle"><span class="permalink"><a href="#a7d50fe10ca4fb48c076c45e607361ada">&#9670;&#160;</a></span>__LDREXB</h2>
486
487 <div class="memitem">
488 <div class="memproto">
489       <table class="memname">
490         <tr>
491           <td class="memname">#define __LDREXB&#160;&#160;&#160;(uint8_t)__builtin_arm_ldrex</td>
492         </tr>
493       </table>
494 </div><div class="memdoc">
495
496 <p>LDR Exclusive (8 bit) </p>
497 <p>Executes a exclusive LDR instruction for 8 bit value. </p><dl class="params"><dt>Parameters</dt><dd>
498   <table class="params">
499     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
500   </table>
501   </dd>
502 </dl>
503 <dl class="section return"><dt>Returns</dt><dd>value of type uint8_t at (*ptr) </dd></dl>
504
505 </div>
506 </div>
507 <a id="a85552e9948b86c6530e1baa8f5dd2eda" name="a85552e9948b86c6530e1baa8f5dd2eda"></a>
508 <h2 class="memtitle"><span class="permalink"><a href="#a85552e9948b86c6530e1baa8f5dd2eda">&#9670;&#160;</a></span>__LDREXH</h2>
509
510 <div class="memitem">
511 <div class="memproto">
512       <table class="memname">
513         <tr>
514           <td class="memname">#define __LDREXH&#160;&#160;&#160;(uint16_t)__builtin_arm_ldrex</td>
515         </tr>
516       </table>
517 </div><div class="memdoc">
518
519 <p>LDR Exclusive (16 bit) </p>
520 <p>Executes a exclusive LDR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
521   <table class="params">
522     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
523   </table>
524   </dd>
525 </dl>
526 <dl class="section return"><dt>Returns</dt><dd>value of type uint16_t at (*ptr) </dd></dl>
527
528 </div>
529 </div>
530 <a id="ab9ddf318a40b0dbbd6c40c10f5e7fa54" name="ab9ddf318a40b0dbbd6c40c10f5e7fa54"></a>
531 <h2 class="memtitle"><span class="permalink"><a href="#ab9ddf318a40b0dbbd6c40c10f5e7fa54">&#9670;&#160;</a></span>__LDREXW</h2>
532
533 <div class="memitem">
534 <div class="memproto">
535       <table class="memname">
536         <tr>
537           <td class="memname">#define __LDREXW&#160;&#160;&#160;(uint32_t)__builtin_arm_ldrex</td>
538         </tr>
539       </table>
540 </div><div class="memdoc">
541
542 <p>LDR Exclusive (32 bit) </p>
543 <p>Executes a exclusive LDR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
544   <table class="params">
545     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
546   </table>
547   </dd>
548 </dl>
549 <dl class="section return"><dt>Returns</dt><dd>value of type uint32_t at (*ptr) </dd></dl>
550
551 </div>
552 </div>
553 <a id="a4dbb70fab85207c27b581ecb6532b314" name="a4dbb70fab85207c27b581ecb6532b314"></a>
554 <h2 class="memtitle"><span class="permalink"><a href="#a4dbb70fab85207c27b581ecb6532b314">&#9670;&#160;</a></span>__PACKED_STRUCT</h2>
555
556 <div class="memitem">
557 <div class="memproto">
558       <table class="memname">
559         <tr>
560           <td class="memname">#define __PACKED_STRUCT&#160;&#160;&#160;struct __attribute__((packed, aligned(1)))</td>
561         </tr>
562       </table>
563 </div><div class="memdoc">
564
565 </div>
566 </div>
567 <a id="ab83768933a612816fad669db5488366f" name="ab83768933a612816fad669db5488366f"></a>
568 <h2 class="memtitle"><span class="permalink"><a href="#ab83768933a612816fad669db5488366f">&#9670;&#160;</a></span>__RBIT</h2>
569
570 <div class="memitem">
571 <div class="memproto">
572       <table class="memname">
573         <tr>
574           <td class="memname">#define __RBIT&#160;&#160;&#160;__builtin_arm_rbit</td>
575         </tr>
576       </table>
577 </div><div class="memdoc">
578
579 <p>Reverse bit order of value. </p>
580 <p>Reverses the bit order of the given value. </p><dl class="params"><dt>Parameters</dt><dd>
581   <table class="params">
582     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
583   </table>
584   </dd>
585 </dl>
586 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
587
588 </div>
589 </div>
590 <a id="aca25a02e09983da5558f5242f2f635bc" name="aca25a02e09983da5558f5242f2f635bc"></a>
591 <h2 class="memtitle"><span class="permalink"><a href="#aca25a02e09983da5558f5242f2f635bc">&#9670;&#160;</a></span>__REV</h2>
592
593 <div class="memitem">
594 <div class="memproto">
595       <table class="memname">
596         <tr>
597           <td class="memname">#define __REV</td>
598           <td>(</td>
599           <td class="paramtype">&#160;</td>
600           <td class="paramname">value</td><td>)</td>
601           <td>&#160;&#160;&#160;__builtin_bswap32(value)</td>
602         </tr>
603       </table>
604 </div><div class="memdoc">
605
606 <p>Reverse byte order (32 bit) </p>
607 <p>Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. </p><dl class="params"><dt>Parameters</dt><dd>
608   <table class="params">
609     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
610   </table>
611   </dd>
612 </dl>
613 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
614
615 </div>
616 </div>
617 <a id="ad35497777af37e7809271b5e6f9510ba" name="ad35497777af37e7809271b5e6f9510ba"></a>
618 <h2 class="memtitle"><span class="permalink"><a href="#ad35497777af37e7809271b5e6f9510ba">&#9670;&#160;</a></span>__REV16</h2>
619
620 <div class="memitem">
621 <div class="memproto">
622       <table class="memname">
623         <tr>
624           <td class="memname">#define __REV16</td>
625           <td>(</td>
626           <td class="paramtype">&#160;</td>
627           <td class="paramname">value</td><td>)</td>
628           <td>&#160;&#160;&#160;<a class="el" href="group__CMSIS__Core__InstructionInterface.html#gae05c1a2dac5bb7a399420c804c3048ca">__ROR</a>(<a class="el" href="cmsis__armclang__a_8h.html#aca25a02e09983da5558f5242f2f635bc">__REV</a>(value), 16)</td>
629         </tr>
630       </table>
631 </div><div class="memdoc">
632
633 <p>Reverse byte order (16 bit) </p>
634 <p>Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. </p><dl class="params"><dt>Parameters</dt><dd>
635   <table class="params">
636     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
637   </table>
638   </dd>
639 </dl>
640 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
641
642 </div>
643 </div>
644 <a id="ae580812686119c9c5cf3c11a7519a404" name="ae580812686119c9c5cf3c11a7519a404"></a>
645 <h2 class="memtitle"><span class="permalink"><a href="#ae580812686119c9c5cf3c11a7519a404">&#9670;&#160;</a></span>__REVSH</h2>
646
647 <div class="memitem">
648 <div class="memproto">
649       <table class="memname">
650         <tr>
651           <td class="memname">#define __REVSH</td>
652           <td>(</td>
653           <td class="paramtype">&#160;</td>
654           <td class="paramname">value</td><td>)</td>
655           <td>&#160;&#160;&#160;(int16_t)__builtin_bswap16(value)</td>
656         </tr>
657       </table>
658 </div><div class="memdoc">
659
660 <p>Reverse byte order (16 bit) </p>
661 <p>Reverses the byte order in a 16-bit value and returns the signed 16-bit result. For example, 0x0080 becomes 0x8000. </p><dl class="params"><dt>Parameters</dt><dd>
662   <table class="params">
663     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
664   </table>
665   </dd>
666 </dl>
667 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
668
669 </div>
670 </div>
671 <a id="a5e4710ddc910c7feee1de7f118b84ad1" name="a5e4710ddc910c7feee1de7f118b84ad1"></a>
672 <h2 class="memtitle"><span class="permalink"><a href="#a5e4710ddc910c7feee1de7f118b84ad1">&#9670;&#160;</a></span>__set_CP</h2>
673
674 <div class="memitem">
675 <div class="memproto">
676       <table class="memname">
677         <tr>
678           <td class="memname">#define __set_CP</td>
679           <td>(</td>
680           <td class="paramtype">&#160;</td>
681           <td class="paramname">cp, </td>
682         </tr>
683         <tr>
684           <td class="paramkey"></td>
685           <td></td>
686           <td class="paramtype">&#160;</td>
687           <td class="paramname">op1, </td>
688         </tr>
689         <tr>
690           <td class="paramkey"></td>
691           <td></td>
692           <td class="paramtype">&#160;</td>
693           <td class="paramname">Rt, </td>
694         </tr>
695         <tr>
696           <td class="paramkey"></td>
697           <td></td>
698           <td class="paramtype">&#160;</td>
699           <td class="paramname">CRn, </td>
700         </tr>
701         <tr>
702           <td class="paramkey"></td>
703           <td></td>
704           <td class="paramtype">&#160;</td>
705           <td class="paramname">CRm, </td>
706         </tr>
707         <tr>
708           <td class="paramkey"></td>
709           <td></td>
710           <td class="paramtype">&#160;</td>
711           <td class="paramname">op2&#160;</td>
712         </tr>
713         <tr>
714           <td></td>
715           <td>)</td>
716           <td></td><td>&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MCR p&quot; # cp &quot;, &quot; # op1 &quot;, %0, c&quot; # CRn &quot;, c&quot; # CRm &quot;, &quot; # op2 : : &quot;r&quot; (Rt) : &quot;memory&quot; )</td>
717         </tr>
718       </table>
719 </div><div class="memdoc">
720
721 </div>
722 </div>
723 <a id="af23b5ae27930ef8d9f62a2cf19338003" name="af23b5ae27930ef8d9f62a2cf19338003"></a>
724 <h2 class="memtitle"><span class="permalink"><a href="#af23b5ae27930ef8d9f62a2cf19338003">&#9670;&#160;</a></span>__set_CP64</h2>
725
726 <div class="memitem">
727 <div class="memproto">
728       <table class="memname">
729         <tr>
730           <td class="memname">#define __set_CP64</td>
731           <td>(</td>
732           <td class="paramtype">&#160;</td>
733           <td class="paramname">cp, </td>
734         </tr>
735         <tr>
736           <td class="paramkey"></td>
737           <td></td>
738           <td class="paramtype">&#160;</td>
739           <td class="paramname">op1, </td>
740         </tr>
741         <tr>
742           <td class="paramkey"></td>
743           <td></td>
744           <td class="paramtype">&#160;</td>
745           <td class="paramname">Rt, </td>
746         </tr>
747         <tr>
748           <td class="paramkey"></td>
749           <td></td>
750           <td class="paramtype">&#160;</td>
751           <td class="paramname">CRm&#160;</td>
752         </tr>
753         <tr>
754           <td></td>
755           <td>)</td>
756           <td></td><td>&#160;&#160;&#160;<a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile(&quot;MCRR p&quot; # cp &quot;, &quot; # op1 &quot;, %Q0, %R0, c&quot; # CRm  : : &quot;r&quot; (Rt) : &quot;memory&quot; )</td>
757         </tr>
758       </table>
759 </div><div class="memdoc">
760
761 </div>
762 </div>
763 <a id="a3c013c2ed76ebc48c283c8bae17b9ab8" name="a3c013c2ed76ebc48c283c8bae17b9ab8"></a>
764 <h2 class="memtitle"><span class="permalink"><a href="#a3c013c2ed76ebc48c283c8bae17b9ab8">&#9670;&#160;</a></span>__SSAT</h2>
765
766 <div class="memitem">
767 <div class="memproto">
768       <table class="memname">
769         <tr>
770           <td class="memname">#define __SSAT&#160;&#160;&#160;__builtin_arm_ssat</td>
771         </tr>
772       </table>
773 </div><div class="memdoc">
774
775 <p>Signed Saturate. </p>
776 <p>Saturates a signed value. </p><dl class="params"><dt>Parameters</dt><dd>
777   <table class="params">
778     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
779     <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (1..32) </td></tr>
780   </table>
781   </dd>
782 </dl>
783 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
784
785 </div>
786 </div>
787 <a id="ab904513442afdf77d4f8c74f23cbb040" name="ab904513442afdf77d4f8c74f23cbb040"></a>
788 <h2 class="memtitle"><span class="permalink"><a href="#ab904513442afdf77d4f8c74f23cbb040">&#9670;&#160;</a></span>__STATIC_FORCEINLINE</h2>
789
790 <div class="memitem">
791 <div class="memproto">
792       <table class="memname">
793         <tr>
794           <td class="memname">#define __STATIC_FORCEINLINE&#160;&#160;&#160;__attribute__((always_inline)) static __inline</td>
795         </tr>
796       </table>
797 </div><div class="memdoc">
798
799 </div>
800 </div>
801 <a id="ab27db62b79d57e8cbe47512adcc3cd7b" name="ab27db62b79d57e8cbe47512adcc3cd7b"></a>
802 <h2 class="memtitle"><span class="permalink"><a href="#ab27db62b79d57e8cbe47512adcc3cd7b">&#9670;&#160;</a></span>__STREXB</h2>
803
804 <div class="memitem">
805 <div class="memproto">
806       <table class="memname">
807         <tr>
808           <td class="memname">#define __STREXB&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td>
809         </tr>
810       </table>
811 </div><div class="memdoc">
812
813 <p>STR Exclusive (8 bit) </p>
814 <p>Executes a exclusive STR instruction for 8 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
815   <table class="params">
816     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
817     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
818   </table>
819   </dd>
820 </dl>
821 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
822 <dd>
823 1 Function failed </dd></dl>
824
825 </div>
826 </div>
827 <a id="ac877950e5474daa1448b017cd1d8275b" name="ac877950e5474daa1448b017cd1d8275b"></a>
828 <h2 class="memtitle"><span class="permalink"><a href="#ac877950e5474daa1448b017cd1d8275b">&#9670;&#160;</a></span>__STREXH</h2>
829
830 <div class="memitem">
831 <div class="memproto">
832       <table class="memname">
833         <tr>
834           <td class="memname">#define __STREXH&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td>
835         </tr>
836       </table>
837 </div><div class="memdoc">
838
839 <p>STR Exclusive (16 bit) </p>
840 <p>Executes a exclusive STR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
841   <table class="params">
842     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
843     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
844   </table>
845   </dd>
846 </dl>
847 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
848 <dd>
849 1 Function failed </dd></dl>
850
851 </div>
852 </div>
853 <a id="a43a683772a3fcca5d36b97c4bd1943ff" name="a43a683772a3fcca5d36b97c4bd1943ff"></a>
854 <h2 class="memtitle"><span class="permalink"><a href="#a43a683772a3fcca5d36b97c4bd1943ff">&#9670;&#160;</a></span>__STREXW</h2>
855
856 <div class="memitem">
857 <div class="memproto">
858       <table class="memname">
859         <tr>
860           <td class="memname">#define __STREXW&#160;&#160;&#160;(uint32_t)__builtin_arm_strex</td>
861         </tr>
862       </table>
863 </div><div class="memdoc">
864
865 <p>STR Exclusive (32 bit) </p>
866 <p>Executes a exclusive STR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
867   <table class="params">
868     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
869     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
870   </table>
871   </dd>
872 </dl>
873 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
874 <dd>
875 1 Function failed </dd></dl>
876
877 </div>
878 </div>
879 <a id="ab71b66e5ce403158d3dee62a59f9175f" name="ab71b66e5ce403158d3dee62a59f9175f"></a>
880 <h2 class="memtitle"><span class="permalink"><a href="#ab71b66e5ce403158d3dee62a59f9175f">&#9670;&#160;</a></span>__UNALIGNED_UINT16_READ</h2>
881
882 <div class="memitem">
883 <div class="memproto">
884       <table class="memname">
885         <tr>
886           <td class="memname">#define __UNALIGNED_UINT16_READ</td>
887           <td>(</td>
888           <td class="paramtype">&#160;</td>
889           <td class="paramname">addr</td><td>)</td>
890           <td>&#160;&#160;&#160;(((const struct <a class="el" href="cmsis__armclang__a_8h.html#a86899dc41c5b3b9ce6b8014ee0e852b9">T_UINT16_READ</a> *)(const void *)(addr))-&gt;v)</td>
891         </tr>
892       </table>
893 </div><div class="memdoc">
894
895 </div>
896 </div>
897 <a id="a5103fb373cae9837cc4a384be55dc87f" name="a5103fb373cae9837cc4a384be55dc87f"></a>
898 <h2 class="memtitle"><span class="permalink"><a href="#a5103fb373cae9837cc4a384be55dc87f">&#9670;&#160;</a></span>__UNALIGNED_UINT16_WRITE</h2>
899
900 <div class="memitem">
901 <div class="memproto">
902       <table class="memname">
903         <tr>
904           <td class="memname">#define __UNALIGNED_UINT16_WRITE</td>
905           <td>(</td>
906           <td class="paramtype">&#160;</td>
907           <td class="paramname">addr, </td>
908         </tr>
909         <tr>
910           <td class="paramkey"></td>
911           <td></td>
912           <td class="paramtype">&#160;</td>
913           <td class="paramname">val&#160;</td>
914         </tr>
915         <tr>
916           <td></td>
917           <td>)</td>
918           <td></td><td>&#160;&#160;&#160;(void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#ac962a9aa89cef6e5cde0fe6b067f7de3">T_UINT16_WRITE</a> *)(void *)(addr))-&gt;v) = (val))</td>
919         </tr>
920       </table>
921 </div><div class="memdoc">
922
923 </div>
924 </div>
925 <a id="a3b931f0b051b8c1a6377a3dcc7559b5e" name="a3b931f0b051b8c1a6377a3dcc7559b5e"></a>
926 <h2 class="memtitle"><span class="permalink"><a href="#a3b931f0b051b8c1a6377a3dcc7559b5e">&#9670;&#160;</a></span>__UNALIGNED_UINT32_READ</h2>
927
928 <div class="memitem">
929 <div class="memproto">
930       <table class="memname">
931         <tr>
932           <td class="memname">#define __UNALIGNED_UINT32_READ</td>
933           <td>(</td>
934           <td class="paramtype">&#160;</td>
935           <td class="paramname">addr</td><td>)</td>
936           <td>&#160;&#160;&#160;(((const struct <a class="el" href="cmsis__armclang__a_8h.html#a9653a1cbf01ec418e8e940ee3996b8ca">T_UINT32_READ</a> *)(const void *)(addr))-&gt;v)</td>
937         </tr>
938       </table>
939 </div><div class="memdoc">
940
941 </div>
942 </div>
943 <a id="a203f593d140ed88b81bc189edc861110" name="a203f593d140ed88b81bc189edc861110"></a>
944 <h2 class="memtitle"><span class="permalink"><a href="#a203f593d140ed88b81bc189edc861110">&#9670;&#160;</a></span>__UNALIGNED_UINT32_WRITE</h2>
945
946 <div class="memitem">
947 <div class="memproto">
948       <table class="memname">
949         <tr>
950           <td class="memname">#define __UNALIGNED_UINT32_WRITE</td>
951           <td>(</td>
952           <td class="paramtype">&#160;</td>
953           <td class="paramname">addr, </td>
954         </tr>
955         <tr>
956           <td class="paramkey"></td>
957           <td></td>
958           <td class="paramtype">&#160;</td>
959           <td class="paramname">val&#160;</td>
960         </tr>
961         <tr>
962           <td></td>
963           <td>)</td>
964           <td></td><td>&#160;&#160;&#160;(void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#abbd193dec7cb45f1fbd05ff7e366ffe2">T_UINT32_WRITE</a> *)(void *)(addr))-&gt;v) = (val))</td>
965         </tr>
966       </table>
967 </div><div class="memdoc">
968
969 </div>
970 </div>
971 <a id="ad0e4fa951d563740462d837bb6ddd7bb" name="ad0e4fa951d563740462d837bb6ddd7bb"></a>
972 <h2 class="memtitle"><span class="permalink"><a href="#ad0e4fa951d563740462d837bb6ddd7bb">&#9670;&#160;</a></span>__USAT</h2>
973
974 <div class="memitem">
975 <div class="memproto">
976       <table class="memname">
977         <tr>
978           <td class="memname">#define __USAT&#160;&#160;&#160;__builtin_arm_usat</td>
979         </tr>
980       </table>
981 </div><div class="memdoc">
982
983 <p>Unsigned Saturate. </p>
984 <p>Saturates an unsigned value. </p><dl class="params"><dt>Parameters</dt><dd>
985   <table class="params">
986     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
987     <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (0..31) </td></tr>
988   </table>
989   </dd>
990 </dl>
991 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
992
993 </div>
994 </div>
995 <a id="acdc36c1b3d3e16c17a73889b7d06d0d2" name="acdc36c1b3d3e16c17a73889b7d06d0d2"></a>
996 <h2 class="memtitle"><span class="permalink"><a href="#acdc36c1b3d3e16c17a73889b7d06d0d2">&#9670;&#160;</a></span>CMSIS_DEPRECATED</h2>
997
998 <div class="memitem">
999 <div class="memproto">
1000       <table class="memname">
1001         <tr>
1002           <td class="memname">#define CMSIS_DEPRECATED&#160;&#160;&#160;__attribute__((deprecated))</td>
1003         </tr>
1004       </table>
1005 </div><div class="memdoc">
1006
1007 </div>
1008 </div>
1009 <h2 class="groupheader">Function Documentation</h2>
1010 <a id="a6f1d7bf2b8b84502e8de12f0c288e117" name="a6f1d7bf2b8b84502e8de12f0c288e117"></a>
1011 <h2 class="memtitle"><span class="permalink"><a href="#a6f1d7bf2b8b84502e8de12f0c288e117">&#9670;&#160;</a></span>__disable_fault_irq()</h2>
1012
1013 <div class="memitem">
1014 <div class="memproto">
1015       <table class="memname">
1016         <tr>
1017           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __disable_fault_irq </td>
1018           <td>(</td>
1019           <td class="paramtype">void&#160;</td>
1020           <td class="paramname"></td><td>)</td>
1021           <td></td>
1022         </tr>
1023       </table>
1024 </div><div class="memdoc">
1025
1026 <p>Disable FIQ. </p>
1027 <p>Disables FIQ interrupts by setting special-purpose register FAULTMASK. Can only be executed in Privileged modes. </p>
1028
1029 </div>
1030 </div>
1031 <a id="a2299877e4ba3e162ca9dbabd6e0abef6" name="a2299877e4ba3e162ca9dbabd6e0abef6"></a>
1032 <h2 class="memtitle"><span class="permalink"><a href="#a2299877e4ba3e162ca9dbabd6e0abef6">&#9670;&#160;</a></span>__disable_irq()</h2>
1033
1034 <div class="memitem">
1035 <div class="memproto">
1036       <table class="memname">
1037         <tr>
1038           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __disable_irq </td>
1039           <td>(</td>
1040           <td class="paramtype">void&#160;</td>
1041           <td class="paramname"></td><td>)</td>
1042           <td></td>
1043         </tr>
1044       </table>
1045 </div><div class="memdoc">
1046
1047 <p>Disable IRQ Interrupts. </p>
1048 <p>Disables IRQ interrupts by setting the I-bit in the CPSR. Can only be executed in Privileged modes. </p>
1049
1050 </div>
1051 </div>
1052 <a id="adccd32ddc2337a9a944c2da9c485a81d" name="adccd32ddc2337a9a944c2da9c485a81d"></a>
1053 <h2 class="memtitle"><span class="permalink"><a href="#adccd32ddc2337a9a944c2da9c485a81d">&#9670;&#160;</a></span>__enable_fault_irq()</h2>
1054
1055 <div class="memitem">
1056 <div class="memproto">
1057       <table class="memname">
1058         <tr>
1059           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __enable_fault_irq </td>
1060           <td>(</td>
1061           <td class="paramtype">void&#160;</td>
1062           <td class="paramname"></td><td>)</td>
1063           <td></td>
1064         </tr>
1065       </table>
1066 </div><div class="memdoc">
1067
1068 <p>Enable FIQ. </p>
1069 <p>Enables FIQ interrupts by clearing special-purpose register FAULTMASK. Can only be executed in Privileged modes. </p>
1070
1071 </div>
1072 </div>
1073 <a id="ae84bf4e95944e61937f4ed2453e5ef23" name="ae84bf4e95944e61937f4ed2453e5ef23"></a>
1074 <h2 class="memtitle"><span class="permalink"><a href="#ae84bf4e95944e61937f4ed2453e5ef23">&#9670;&#160;</a></span>__enable_irq()</h2>
1075
1076 <div class="memitem">
1077 <div class="memproto">
1078       <table class="memname">
1079         <tr>
1080           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __enable_irq </td>
1081           <td>(</td>
1082           <td class="paramtype">void&#160;</td>
1083           <td class="paramname"></td><td>)</td>
1084           <td></td>
1085         </tr>
1086       </table>
1087 </div><div class="memdoc">
1088
1089 <p>Enable IRQ Interrupts. </p>
1090 <p>Enables IRQ interrupts by clearing the I-bit in the CPSR. Can only be executed in Privileged modes. </p>
1091
1092 </div>
1093 </div>
1094 <a id="a4cf62691d82a3f3a0d844ae94718a5a9" name="a4cf62691d82a3f3a0d844ae94718a5a9"></a>
1095 <h2 class="memtitle"><span class="permalink"><a href="#a4cf62691d82a3f3a0d844ae94718a5a9">&#9670;&#160;</a></span>__get_mode()</h2>
1096
1097 <div class="memitem">
1098 <div class="memproto">
1099       <table class="memname">
1100         <tr>
1101           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_mode </td>
1102           <td>(</td>
1103           <td class="paramtype">void&#160;</td>
1104           <td class="paramname"></td><td>)</td>
1105           <td></td>
1106         </tr>
1107       </table>
1108 </div><div class="memdoc">
1109
1110 <p>Get Mode. </p>
1111 <dl class="section return"><dt>Returns</dt><dd>Processor Mode </dd></dl>
1112
1113 </div>
1114 </div>
1115 <a id="aebea89632181454327b3dc0cf29ec358" name="aebea89632181454327b3dc0cf29ec358"></a>
1116 <h2 class="memtitle"><span class="permalink"><a href="#aebea89632181454327b3dc0cf29ec358">&#9670;&#160;</a></span>__get_SP()</h2>
1117
1118 <div class="memitem">
1119 <div class="memproto">
1120       <table class="memname">
1121         <tr>
1122           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_SP </td>
1123           <td>(</td>
1124           <td class="paramtype">void&#160;</td>
1125           <td class="paramname"></td><td>)</td>
1126           <td></td>
1127         </tr>
1128       </table>
1129 </div><div class="memdoc">
1130
1131 <p>Get Stack Pointer. </p>
1132 <dl class="section return"><dt>Returns</dt><dd>Stack Pointer value </dd></dl>
1133
1134 </div>
1135 </div>
1136 <a id="a7009688fca7a35b5e3ba6cf11cc74869" name="a7009688fca7a35b5e3ba6cf11cc74869"></a>
1137 <h2 class="memtitle"><span class="permalink"><a href="#a7009688fca7a35b5e3ba6cf11cc74869">&#9670;&#160;</a></span>__get_SP_usr()</h2>
1138
1139 <div class="memitem">
1140 <div class="memproto">
1141       <table class="memname">
1142         <tr>
1143           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_SP_usr </td>
1144           <td>(</td>
1145           <td class="paramtype">void&#160;</td>
1146           <td class="paramname"></td><td>)</td>
1147           <td></td>
1148         </tr>
1149       </table>
1150 </div><div class="memdoc">
1151
1152 <p>Get USR/SYS Stack Pointer. </p>
1153 <dl class="section return"><dt>Returns</dt><dd>USR/SYS Stack Pointer value </dd></dl>
1154
1155 </div>
1156 </div>
1157 <a id="a3504b9468d4f1cad2fbaea9aba65a0fa" name="a3504b9468d4f1cad2fbaea9aba65a0fa"></a>
1158 <h2 class="memtitle"><span class="permalink"><a href="#a3504b9468d4f1cad2fbaea9aba65a0fa">&#9670;&#160;</a></span>__LDRBT()</h2>
1159
1160 <div class="memitem">
1161 <div class="memproto">
1162       <table class="memname">
1163         <tr>
1164           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint8_t __LDRBT </td>
1165           <td>(</td>
1166           <td class="paramtype">volatile uint8_t *&#160;</td>
1167           <td class="paramname"><em>ptr</em></td><td>)</td>
1168           <td></td>
1169         </tr>
1170       </table>
1171 </div><div class="memdoc">
1172
1173 <p>LDRT Unprivileged (8 bit) </p>
1174 <p>Executes a Unprivileged LDRT instruction for 8 bit value. </p><dl class="params"><dt>Parameters</dt><dd>
1175   <table class="params">
1176     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
1177   </table>
1178   </dd>
1179 </dl>
1180 <dl class="section return"><dt>Returns</dt><dd>value of type uint8_t at (*ptr) </dd></dl>
1181
1182 </div>
1183 </div>
1184 <a id="aad7090d4dc9abc8446f021d38e2706a1" name="aad7090d4dc9abc8446f021d38e2706a1"></a>
1185 <h2 class="memtitle"><span class="permalink"><a href="#aad7090d4dc9abc8446f021d38e2706a1">&#9670;&#160;</a></span>__LDRHT()</h2>
1186
1187 <div class="memitem">
1188 <div class="memproto">
1189       <table class="memname">
1190         <tr>
1191           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint16_t __LDRHT </td>
1192           <td>(</td>
1193           <td class="paramtype">volatile uint16_t *&#160;</td>
1194           <td class="paramname"><em>ptr</em></td><td>)</td>
1195           <td></td>
1196         </tr>
1197       </table>
1198 </div><div class="memdoc">
1199
1200 <p>LDRT Unprivileged (16 bit) </p>
1201 <p>Executes a Unprivileged LDRT instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
1202   <table class="params">
1203     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
1204   </table>
1205   </dd>
1206 </dl>
1207 <dl class="section return"><dt>Returns</dt><dd>value of type uint16_t at (*ptr) </dd></dl>
1208
1209 </div>
1210 </div>
1211 <a id="a63c311279e8a0d47b52e67e978b7f0cd" name="a63c311279e8a0d47b52e67e978b7f0cd"></a>
1212 <h2 class="memtitle"><span class="permalink"><a href="#a63c311279e8a0d47b52e67e978b7f0cd">&#9670;&#160;</a></span>__LDRT()</h2>
1213
1214 <div class="memitem">
1215 <div class="memproto">
1216       <table class="memname">
1217         <tr>
1218           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __LDRT </td>
1219           <td>(</td>
1220           <td class="paramtype">volatile uint32_t *&#160;</td>
1221           <td class="paramname"><em>ptr</em></td><td>)</td>
1222           <td></td>
1223         </tr>
1224       </table>
1225 </div><div class="memdoc">
1226
1227 <p>LDRT Unprivileged (32 bit) </p>
1228 <p>Executes a Unprivileged LDRT instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
1229   <table class="params">
1230     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
1231   </table>
1232   </dd>
1233 </dl>
1234 <dl class="section return"><dt>Returns</dt><dd>value of type uint32_t at (*ptr) </dd></dl>
1235
1236 </div>
1237 </div>
1238 <a id="a87e96ac34a5d8dd9083b687dc3664215" name="a87e96ac34a5d8dd9083b687dc3664215"></a>
1239 <h2 class="memtitle"><span class="permalink"><a href="#a87e96ac34a5d8dd9083b687dc3664215">&#9670;&#160;</a></span>__RRX()</h2>
1240
1241 <div class="memitem">
1242 <div class="memproto">
1243       <table class="memname">
1244         <tr>
1245           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __RRX </td>
1246           <td>(</td>
1247           <td class="paramtype">uint32_t&#160;</td>
1248           <td class="paramname"><em>value</em></td><td>)</td>
1249           <td></td>
1250         </tr>
1251       </table>
1252 </div><div class="memdoc">
1253
1254 <p>Rotate Right with Extend (32 bit) </p>
1255 <p>Moves each bit of a bitstring right by one bit. The carry input is shifted in at the left end of the bitstring. </p><dl class="params"><dt>Parameters</dt><dd>
1256   <table class="params">
1257     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to rotate </td></tr>
1258   </table>
1259   </dd>
1260 </dl>
1261 <dl class="section return"><dt>Returns</dt><dd>Rotated value </dd></dl>
1262
1263 </div>
1264 </div>
1265 <a id="a7ad5710bc622794ffed1d31740f6be55" name="a7ad5710bc622794ffed1d31740f6be55"></a>
1266 <h2 class="memtitle"><span class="permalink"><a href="#a7ad5710bc622794ffed1d31740f6be55">&#9670;&#160;</a></span>__set_mode()</h2>
1267
1268 <div class="memitem">
1269 <div class="memproto">
1270       <table class="memname">
1271         <tr>
1272           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __set_mode </td>
1273           <td>(</td>
1274           <td class="paramtype">uint32_t&#160;</td>
1275           <td class="paramname"><em>mode</em></td><td>)</td>
1276           <td></td>
1277         </tr>
1278       </table>
1279 </div><div class="memdoc">
1280
1281 <p>Set Mode. </p>
1282 <dl class="params"><dt>Parameters</dt><dd>
1283   <table class="params">
1284     <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Mode value to set </td></tr>
1285   </table>
1286   </dd>
1287 </dl>
1288
1289 </div>
1290 </div>
1291 <a id="a3d8a768c00b348d526b941a7f51ce2d3" name="a3d8a768c00b348d526b941a7f51ce2d3"></a>
1292 <h2 class="memtitle"><span class="permalink"><a href="#a3d8a768c00b348d526b941a7f51ce2d3">&#9670;&#160;</a></span>__STRBT()</h2>
1293
1294 <div class="memitem">
1295 <div class="memproto">
1296       <table class="memname">
1297         <tr>
1298           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __STRBT </td>
1299           <td>(</td>
1300           <td class="paramtype">uint8_t&#160;</td>
1301           <td class="paramname"><em>value</em>, </td>
1302         </tr>
1303         <tr>
1304           <td class="paramkey"></td>
1305           <td></td>
1306           <td class="paramtype">volatile uint8_t *&#160;</td>
1307           <td class="paramname"><em>ptr</em>&#160;</td>
1308         </tr>
1309         <tr>
1310           <td></td>
1311           <td>)</td>
1312           <td></td><td></td>
1313         </tr>
1314       </table>
1315 </div><div class="memdoc">
1316
1317 <p>STRT Unprivileged (8 bit) </p>
1318 <p>Executes a Unprivileged STRT instruction for 8 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
1319   <table class="params">
1320     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
1321     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
1322   </table>
1323   </dd>
1324 </dl>
1325
1326 </div>
1327 </div>
1328 <a id="aca61d1e42169f57b1d0be2ab873aae51" name="aca61d1e42169f57b1d0be2ab873aae51"></a>
1329 <h2 class="memtitle"><span class="permalink"><a href="#aca61d1e42169f57b1d0be2ab873aae51">&#9670;&#160;</a></span>__STRHT()</h2>
1330
1331 <div class="memitem">
1332 <div class="memproto">
1333       <table class="memname">
1334         <tr>
1335           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __STRHT </td>
1336           <td>(</td>
1337           <td class="paramtype">uint16_t&#160;</td>
1338           <td class="paramname"><em>value</em>, </td>
1339         </tr>
1340         <tr>
1341           <td class="paramkey"></td>
1342           <td></td>
1343           <td class="paramtype">volatile uint16_t *&#160;</td>
1344           <td class="paramname"><em>ptr</em>&#160;</td>
1345         </tr>
1346         <tr>
1347           <td></td>
1348           <td>)</td>
1349           <td></td><td></td>
1350         </tr>
1351       </table>
1352 </div><div class="memdoc">
1353
1354 <p>STRT Unprivileged (16 bit) </p>
1355 <p>Executes a Unprivileged STRT instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
1356   <table class="params">
1357     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
1358     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
1359   </table>
1360   </dd>
1361 </dl>
1362
1363 </div>
1364 </div>
1365 <a id="a2e578cf2f48002f7a76e42d6d4e1c743" name="a2e578cf2f48002f7a76e42d6d4e1c743"></a>
1366 <h2 class="memtitle"><span class="permalink"><a href="#a2e578cf2f48002f7a76e42d6d4e1c743">&#9670;&#160;</a></span>__STRT()</h2>
1367
1368 <div class="memitem">
1369 <div class="memproto">
1370       <table class="memname">
1371         <tr>
1372           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __STRT </td>
1373           <td>(</td>
1374           <td class="paramtype">uint32_t&#160;</td>
1375           <td class="paramname"><em>value</em>, </td>
1376         </tr>
1377         <tr>
1378           <td class="paramkey"></td>
1379           <td></td>
1380           <td class="paramtype">volatile uint32_t *&#160;</td>
1381           <td class="paramname"><em>ptr</em>&#160;</td>
1382         </tr>
1383         <tr>
1384           <td></td>
1385           <td>)</td>
1386           <td></td><td></td>
1387         </tr>
1388       </table>
1389 </div><div class="memdoc">
1390
1391 <p>STRT Unprivileged (32 bit) </p>
1392 <p>Executes a Unprivileged STRT instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
1393   <table class="params">
1394     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
1395     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
1396   </table>
1397   </dd>
1398 </dl>
1399
1400 </div>
1401 </div>
1402 <h2 class="groupheader">Variable Documentation</h2>
1403 <a id="a86899dc41c5b3b9ce6b8014ee0e852b9" name="a86899dc41c5b3b9ce6b8014ee0e852b9"></a>
1404 <h2 class="memtitle"><span class="permalink"><a href="#a86899dc41c5b3b9ce6b8014ee0e852b9">&#9670;&#160;</a></span>T_UINT16_READ</h2>
1405
1406 <div class="memitem">
1407 <div class="memproto">
1408       <table class="memname">
1409         <tr>
1410           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_READ { uint16_t v</td>
1411         </tr>
1412       </table>
1413 </div><div class="memdoc">
1414
1415 </div>
1416 </div>
1417 <a id="ac962a9aa89cef6e5cde0fe6b067f7de3" name="ac962a9aa89cef6e5cde0fe6b067f7de3"></a>
1418 <h2 class="memtitle"><span class="permalink"><a href="#ac962a9aa89cef6e5cde0fe6b067f7de3">&#9670;&#160;</a></span>T_UINT16_WRITE</h2>
1419
1420 <div class="memitem">
1421 <div class="memproto">
1422       <table class="memname">
1423         <tr>
1424           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_WRITE { uint16_t v</td>
1425         </tr>
1426       </table>
1427 </div><div class="memdoc">
1428
1429 </div>
1430 </div>
1431 <a id="a9653a1cbf01ec418e8e940ee3996b8ca" name="a9653a1cbf01ec418e8e940ee3996b8ca"></a>
1432 <h2 class="memtitle"><span class="permalink"><a href="#a9653a1cbf01ec418e8e940ee3996b8ca">&#9670;&#160;</a></span>T_UINT32_READ</h2>
1433
1434 <div class="memitem">
1435 <div class="memproto">
1436       <table class="memname">
1437         <tr>
1438           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_READ { uint32_t v</td>
1439         </tr>
1440       </table>
1441 </div><div class="memdoc">
1442
1443 </div>
1444 </div>
1445 <a id="abbd193dec7cb45f1fbd05ff7e366ffe2" name="abbd193dec7cb45f1fbd05ff7e366ffe2"></a>
1446 <h2 class="memtitle"><span class="permalink"><a href="#abbd193dec7cb45f1fbd05ff7e366ffe2">&#9670;&#160;</a></span>T_UINT32_WRITE</h2>
1447
1448 <div class="memitem">
1449 <div class="memproto">
1450       <table class="memname">
1451         <tr>
1452           <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_WRITE { uint32_t v</td>
1453         </tr>
1454       </table>
1455 </div><div class="memdoc">
1456
1457 </div>
1458 </div>
1459 </div><!-- contents -->
1460 </div><!-- doc-content -->
1461 <!-- start footer part -->
1462 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1463   <ul>
1464     <li class="navelem"><a class="el" href="dir_c6310732a22f63c0c2fc5595561e68f1.html">Core</a></li><li class="navelem"><a class="el" href="dir_c12a6f5e6b887c62c6a89daa412fe214.html">Include</a></li><li class="navelem"><a class="el" href="dir_5d83ca366fca9df261d471635428e159.html">a-profile</a></li><li class="navelem"><a class="el" href="cmsis__armclang__a_8h.html">cmsis_armclang_a.h</a></li>
1465     <li class="footer">
1466       <script type="text/javascript">
1467         <!--
1468         writeFooter.call(this);
1469         //-->
1470       </script> 
1471     </li>
1472   </ul>
1473 </div>
1474 </body>
1475 </html>