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