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">
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&dn=expat.txt MIT */
28 $(document).ready(function() { init_search(); });
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>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <table cellspacing="0" cellpadding="0">
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  <span id="projectnumber"><script type="text/javascript">
49 writeHeader.call(this);
50 writeVersionDropdown.call(this);
55 <div id="projectbrief">CMSIS-Core support for Cortex-A processor-based devices</div>
57 <td> <div id="MSearchBox" class="MSearchBoxInactive">
59 <span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </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>
69 <!--END !PROJECT_NAME-->
74 <!-- end header part -->
75 <div id="CMSISnav" class="tabs1">
77 <script type="text/javascript">
78 writeComponentTabs.call(this);
82 <script type="text/javascript">
83 writeSubComponentTabs.call(this);
85 <!-- Generated by Doxygen 1.9.6 -->
86 <script type="text/javascript">
87 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
88 var searchBox = new SearchBox("searchBox", "search/",'.html');
92 <div id="side-nav" class="ui-resizable side-nav-resizable">
94 <div id="nav-tree-contents">
95 <div id="nav-sync" class="sync"></div>
98 <div id="splitbar" style="-moz-user-select:none;"
99 class="ui-resizable-handle">
102 <script type="text/javascript">
103 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
104 $(document).ready(function(){initNavTree('cmsis__armclang__a_8h.html',''); initResizable(); });
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)">
115 <!-- iframe showing the search results (closed by default) -->
116 <div id="MSearchResultsWindow">
117 <div id="MSearchResults">
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>
130 <div class="summary">
131 <a href="#define-members">Macros</a> |
132 <a href="#func-members">Functions</a> |
133 <a href="#var-members">Variables</a> </div>
134 <div class="headertitle"><div class="title">cmsis_armclang_a.h File Reference</div></div>
136 <div class="contents">
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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>   __asm</td></tr>
144 <tr class="memdesc:ga1378040bcf22428955c6e3ce9c2053cd"><td class="mdescLeft"> </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"> </td></tr>
146 <tr class="memitem:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gade2d8d7118f8ff49547f60aa0c3382bb">__INLINE</a>   __inline</td></tr>
147 <tr class="memdesc:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="mdescLeft"> </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"> </td></tr>
149 <tr class="memitem:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a2ecb43ce8e7aa73d32f50afa67b42c76">__FORCEINLINE</a>   __attribute__((always_inline))</td></tr>
150 <tr class="separator:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memSeparator" colspan="2"> </td></tr>
151 <tr class="memitem:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a>   static __inline</td></tr>
152 <tr class="memdesc:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="mdescLeft"> </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"> </td></tr>
154 <tr class="memitem:ab904513442afdf77d4f8c74f23cbb040"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a>   __attribute__((always_inline)) static __inline</td></tr>
155 <tr class="separator:ab904513442afdf77d4f8c74f23cbb040"><td class="memSeparator" colspan="2"> </td></tr>
156 <tr class="memitem:ga153a4a31b276a9758959580538720a51"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga153a4a31b276a9758959580538720a51">__NO_RETURN</a>   __attribute__((__noreturn__))</td></tr>
157 <tr class="memdesc:ga153a4a31b276a9758959580538720a51"><td class="mdescLeft"> </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"> </td></tr>
159 <tr class="memitem:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#acdc36c1b3d3e16c17a73889b7d06d0d2">CMSIS_DEPRECATED</a>   __attribute__((deprecated))</td></tr>
160 <tr class="separator:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memSeparator" colspan="2"> </td></tr>
161 <tr class="memitem:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#ga3e40e4c553fc11588f7a4c2a19e789e0">__USED</a>   __attribute__((used))</td></tr>
162 <tr class="memdesc:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="mdescLeft"> </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"> </td></tr>
164 <tr class="memitem:gac607bf387b29162be6a9b77fc7999539"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gac607bf387b29162be6a9b77fc7999539">__WEAK</a>   __attribute__((weak))</td></tr>
165 <tr class="memdesc:gac607bf387b29162be6a9b77fc7999539"><td class="mdescLeft"> </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"> </td></tr>
167 <tr class="memitem:gabe8996d3d985ee1529475443cc635bf1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gabe8996d3d985ee1529475443cc635bf1">__PACKED</a>   __attribute__((packed, aligned(1)))</td></tr>
168 <tr class="memdesc:gabe8996d3d985ee1529475443cc635bf1"><td class="mdescLeft"> </td><td class="mdescRight">Request smallest possible alignment. <br /></td></tr>
169 <tr class="separator:gabe8996d3d985ee1529475443cc635bf1"><td class="memSeparator" colspan="2"> </td></tr>
170 <tr class="memitem:a4dbb70fab85207c27b581ecb6532b314"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>   struct __attribute__((packed, aligned(1)))</td></tr>
171 <tr class="separator:a4dbb70fab85207c27b581ecb6532b314"><td class="memSeparator" colspan="2"> </td></tr>
172 <tr class="memitem:a5103fb373cae9837cc4a384be55dc87f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a5103fb373cae9837cc4a384be55dc87f">__UNALIGNED_UINT16_WRITE</a>(addr, val)   (void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#ac962a9aa89cef6e5cde0fe6b067f7de3">T_UINT16_WRITE</a> *)(void *)(addr))->v) = (val))</td></tr>
173 <tr class="separator:a5103fb373cae9837cc4a384be55dc87f"><td class="memSeparator" colspan="2"> </td></tr>
174 <tr class="memitem:ab71b66e5ce403158d3dee62a59f9175f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab71b66e5ce403158d3dee62a59f9175f">__UNALIGNED_UINT16_READ</a>(addr)   (((const struct <a class="el" href="cmsis__armclang__a_8h.html#a86899dc41c5b3b9ce6b8014ee0e852b9">T_UINT16_READ</a> *)(const void *)(addr))->v)</td></tr>
175 <tr class="separator:ab71b66e5ce403158d3dee62a59f9175f"><td class="memSeparator" colspan="2"> </td></tr>
176 <tr class="memitem:a203f593d140ed88b81bc189edc861110"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a203f593d140ed88b81bc189edc861110">__UNALIGNED_UINT32_WRITE</a>(addr, val)   (void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#abbd193dec7cb45f1fbd05ff7e366ffe2">T_UINT32_WRITE</a> *)(void *)(addr))->v) = (val))</td></tr>
177 <tr class="separator:a203f593d140ed88b81bc189edc861110"><td class="memSeparator" colspan="2"> </td></tr>
178 <tr class="memitem:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3b931f0b051b8c1a6377a3dcc7559b5e">__UNALIGNED_UINT32_READ</a>(addr)   (((const struct <a class="el" href="cmsis__armclang__a_8h.html#a9653a1cbf01ec418e8e940ee3996b8ca">T_UINT32_READ</a> *)(const void *)(addr))->v)</td></tr>
179 <tr class="separator:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memSeparator" colspan="2"> </td></tr>
180 <tr class="memitem:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55">__ALIGNED</a>(x)   __attribute__((aligned(x)))</td></tr>
181 <tr class="memdesc:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="mdescLeft"> </td><td class="mdescRight">Minimum alignment for a variable. <br /></td></tr>
182 <tr class="separator:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memSeparator" colspan="2"> </td></tr>
183 <tr class="memitem:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a6516fb12ab0dd45c734f8cef7d921af6">__COMPILER_BARRIER</a>()   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("":::"memory")</td></tr>
184 <tr class="separator:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memSeparator" colspan="2"> </td></tr>
185 <tr class="memitem:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gabd585ddc865fb9b7f2493af1eee1a572">__NOP</a>   __builtin_arm_nop</td></tr>
186 <tr class="memdesc:gabd585ddc865fb9b7f2493af1eee1a572"><td class="mdescLeft"> </td><td class="mdescRight">No Operation. <br /></td></tr>
187 <tr class="separator:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memSeparator" colspan="2"> </td></tr>
188 <tr class="memitem:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gad23bf2b78a9a4524157c9de0d30b7448">__WFI</a>   __builtin_arm_wfi</td></tr>
189 <tr class="memdesc:gad23bf2b78a9a4524157c9de0d30b7448"><td class="mdescLeft"> </td><td class="mdescRight">Wait For Interrupt. <br /></td></tr>
190 <tr class="separator:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memSeparator" colspan="2"> </td></tr>
191 <tr class="memitem:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaac6cc7dd4325d9cb40d3290fa5244b3d">__WFE</a>   __builtin_arm_wfe</td></tr>
192 <tr class="memdesc:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="mdescLeft"> </td><td class="mdescRight">Wait For Event. <br /></td></tr>
193 <tr class="separator:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memSeparator" colspan="2"> </td></tr>
194 <tr class="memitem:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaab4f296d0022b4b10dc0976eb22052f9">__SEV</a>   __builtin_arm_sev</td></tr>
195 <tr class="memdesc:gaab4f296d0022b4b10dc0976eb22052f9"><td class="mdescLeft"> </td><td class="mdescRight">Send Event. <br /></td></tr>
196 <tr class="separator:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memSeparator" colspan="2"> </td></tr>
197 <tr class="memitem:gaad233022e850a009fc6f7602be1182f6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#gaad233022e850a009fc6f7602be1182f6">__ISB</a>()   __builtin_arm_isb(0xF)</td></tr>
198 <tr class="memdesc:gaad233022e850a009fc6f7602be1182f6"><td class="mdescLeft"> </td><td class="mdescRight">Instruction Synchronization Barrier. <br /></td></tr>
199 <tr class="separator:gaad233022e850a009fc6f7602be1182f6"><td class="memSeparator" colspan="2"> </td></tr>
200 <tr class="memitem:ga067d257a2b34565410acefb5afef2203"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga067d257a2b34565410acefb5afef2203">__DSB</a>()   __builtin_arm_dsb(0xF)</td></tr>
201 <tr class="memdesc:ga067d257a2b34565410acefb5afef2203"><td class="mdescLeft"> </td><td class="mdescRight">Data Synchronization Barrier. <br /></td></tr>
202 <tr class="separator:ga067d257a2b34565410acefb5afef2203"><td class="memSeparator" colspan="2"> </td></tr>
203 <tr class="memitem:ga671101179b5943990785f36f8c1e2269"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga671101179b5943990785f36f8c1e2269">__DMB</a>()   __builtin_arm_dmb(0xF)</td></tr>
204 <tr class="memdesc:ga671101179b5943990785f36f8c1e2269"><td class="mdescLeft"> </td><td class="mdescRight">Data Memory Barrier. <br /></td></tr>
205 <tr class="separator:ga671101179b5943990785f36f8c1e2269"><td class="memSeparator" colspan="2"> </td></tr>
206 <tr class="memitem:aca25a02e09983da5558f5242f2f635bc"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aca25a02e09983da5558f5242f2f635bc">__REV</a>(value)   __builtin_bswap32(value)</td></tr>
207 <tr class="memdesc:aca25a02e09983da5558f5242f2f635bc"><td class="mdescLeft"> </td><td class="mdescRight">Reverse byte order (32 bit) <br /></td></tr>
208 <tr class="separator:aca25a02e09983da5558f5242f2f635bc"><td class="memSeparator" colspan="2"> </td></tr>
209 <tr class="memitem:ad35497777af37e7809271b5e6f9510ba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ad35497777af37e7809271b5e6f9510ba">__REV16</a>(value)   <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"> </td><td class="mdescRight">Reverse byte order (16 bit) <br /></td></tr>
211 <tr class="separator:ad35497777af37e7809271b5e6f9510ba"><td class="memSeparator" colspan="2"> </td></tr>
212 <tr class="memitem:ae580812686119c9c5cf3c11a7519a404"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ae580812686119c9c5cf3c11a7519a404">__REVSH</a>(value)   (int16_t)__builtin_bswap16(value)</td></tr>
213 <tr class="memdesc:ae580812686119c9c5cf3c11a7519a404"><td class="mdescLeft"> </td><td class="mdescRight">Reverse byte order (16 bit) <br /></td></tr>
214 <tr class="separator:ae580812686119c9c5cf3c11a7519a404"><td class="memSeparator" colspan="2"> </td></tr>
215 <tr class="memitem:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga15ea6bd3c507d3e81c3b3a1258e46397">__BKPT</a>(value)   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile ("bkpt "#value)</td></tr>
216 <tr class="memdesc:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="mdescLeft"> </td><td class="mdescRight">Breakpoint. <br /></td></tr>
217 <tr class="separator:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memSeparator" colspan="2"> </td></tr>
218 <tr class="memitem:ab83768933a612816fad669db5488366f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab83768933a612816fad669db5488366f">__RBIT</a>   __builtin_arm_rbit</td></tr>
219 <tr class="memdesc:ab83768933a612816fad669db5488366f"><td class="mdescLeft"> </td><td class="mdescRight">Reverse bit order of value. <br /></td></tr>
220 <tr class="separator:ab83768933a612816fad669db5488366f"><td class="memSeparator" colspan="2"> </td></tr>
221 <tr class="memitem:a7d50fe10ca4fb48c076c45e607361ada"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7d50fe10ca4fb48c076c45e607361ada">__LDREXB</a>   (uint8_t)__builtin_arm_ldrex</td></tr>
222 <tr class="memdesc:a7d50fe10ca4fb48c076c45e607361ada"><td class="mdescLeft"> </td><td class="mdescRight">LDR Exclusive (8 bit) <br /></td></tr>
223 <tr class="separator:a7d50fe10ca4fb48c076c45e607361ada"><td class="memSeparator" colspan="2"> </td></tr>
224 <tr class="memitem:a85552e9948b86c6530e1baa8f5dd2eda"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a85552e9948b86c6530e1baa8f5dd2eda">__LDREXH</a>   (uint16_t)__builtin_arm_ldrex</td></tr>
225 <tr class="memdesc:a85552e9948b86c6530e1baa8f5dd2eda"><td class="mdescLeft"> </td><td class="mdescRight">LDR Exclusive (16 bit) <br /></td></tr>
226 <tr class="separator:a85552e9948b86c6530e1baa8f5dd2eda"><td class="memSeparator" colspan="2"> </td></tr>
227 <tr class="memitem:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab9ddf318a40b0dbbd6c40c10f5e7fa54">__LDREXW</a>   (uint32_t)__builtin_arm_ldrex</td></tr>
228 <tr class="memdesc:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="mdescLeft"> </td><td class="mdescRight">LDR Exclusive (32 bit) <br /></td></tr>
229 <tr class="separator:ab9ddf318a40b0dbbd6c40c10f5e7fa54"><td class="memSeparator" colspan="2"> </td></tr>
230 <tr class="memitem:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ab27db62b79d57e8cbe47512adcc3cd7b">__STREXB</a>   (uint32_t)__builtin_arm_strex</td></tr>
231 <tr class="memdesc:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="mdescLeft"> </td><td class="mdescRight">STR Exclusive (8 bit) <br /></td></tr>
232 <tr class="separator:ab27db62b79d57e8cbe47512adcc3cd7b"><td class="memSeparator" colspan="2"> </td></tr>
233 <tr class="memitem:ac877950e5474daa1448b017cd1d8275b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ac877950e5474daa1448b017cd1d8275b">__STREXH</a>   (uint32_t)__builtin_arm_strex</td></tr>
234 <tr class="memdesc:ac877950e5474daa1448b017cd1d8275b"><td class="mdescLeft"> </td><td class="mdescRight">STR Exclusive (16 bit) <br /></td></tr>
235 <tr class="separator:ac877950e5474daa1448b017cd1d8275b"><td class="memSeparator" colspan="2"> </td></tr>
236 <tr class="memitem:a43a683772a3fcca5d36b97c4bd1943ff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a43a683772a3fcca5d36b97c4bd1943ff">__STREXW</a>   (uint32_t)__builtin_arm_strex</td></tr>
237 <tr class="memdesc:a43a683772a3fcca5d36b97c4bd1943ff"><td class="mdescLeft"> </td><td class="mdescRight">STR Exclusive (32 bit) <br /></td></tr>
238 <tr class="separator:a43a683772a3fcca5d36b97c4bd1943ff"><td class="memSeparator" colspan="2"> </td></tr>
239 <tr class="memitem:a7f7b66103530fadcce226375af3c2c03"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7f7b66103530fadcce226375af3c2c03">__CLREX</a>   __builtin_arm_clrex</td></tr>
240 <tr class="memdesc:a7f7b66103530fadcce226375af3c2c03"><td class="mdescLeft"> </td><td class="mdescRight">Remove the exclusive lock. <br /></td></tr>
241 <tr class="separator:a7f7b66103530fadcce226375af3c2c03"><td class="memSeparator" colspan="2"> </td></tr>
242 <tr class="memitem:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a3c013c2ed76ebc48c283c8bae17b9ab8">__SSAT</a>   __builtin_arm_ssat</td></tr>
243 <tr class="memdesc:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="mdescLeft"> </td><td class="mdescRight">Signed Saturate. <br /></td></tr>
244 <tr class="separator:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memSeparator" colspan="2"> </td></tr>
245 <tr class="memitem:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ad0e4fa951d563740462d837bb6ddd7bb">__USAT</a>   __builtin_arm_usat</td></tr>
246 <tr class="memdesc:ad0e4fa951d563740462d837bb6ddd7bb"><td class="mdescLeft"> </td><td class="mdescRight">Unsigned Saturate. <br /></td></tr>
247 <tr class="separator:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memSeparator" colspan="2"> </td></tr>
248 <tr class="memitem:gac8a2aec28b99faa0c261691f7be543e5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPSCR.html#gac8a2aec28b99faa0c261691f7be543e5">__get_FPSCR</a>   __builtin_arm_get_fpscr</td></tr>
249 <tr class="memdesc:gac8a2aec28b99faa0c261691f7be543e5"><td class="mdescLeft"> </td><td class="mdescRight">Get FPSCR. <br /></td></tr>
250 <tr class="separator:gac8a2aec28b99faa0c261691f7be543e5"><td class="memSeparator" colspan="2"> </td></tr>
251 <tr class="memitem:a63b3bbd6ccb6b92ed6c0bbc489529f0f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a63b3bbd6ccb6b92ed6c0bbc489529f0f">__set_FPSCR</a>   __builtin_arm_set_fpscr</td></tr>
252 <tr class="memdesc:a63b3bbd6ccb6b92ed6c0bbc489529f0f"><td class="mdescLeft"> </td><td class="mdescRight">Set FPSCR. <br /></td></tr>
253 <tr class="separator:a63b3bbd6ccb6b92ed6c0bbc489529f0f"><td class="memSeparator" colspan="2"> </td></tr>
254 <tr class="memitem:ad2a4e5d85d92189d574854b2fbfff057"><td class="memItemLeft" align="right" valign="top">#define </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)   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" )</td></tr>
255 <tr class="separator:ad2a4e5d85d92189d574854b2fbfff057"><td class="memSeparator" colspan="2"> </td></tr>
256 <tr class="memitem:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memItemLeft" align="right" valign="top">#define </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)   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" )</td></tr>
257 <tr class="separator:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memSeparator" colspan="2"> </td></tr>
258 <tr class="memitem:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a96a3cccabb5bcaf41115a5dfb3fc6723">__get_CP64</a>(cp, op1, Rt, CRm)   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" )</td></tr>
259 <tr class="separator:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memSeparator" colspan="2"> </td></tr>
260 <tr class="memitem:af23b5ae27930ef8d9f62a2cf19338003"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#af23b5ae27930ef8d9f62a2cf19338003">__set_CP64</a>(cp, op1, Rt, CRm)   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" )</td></tr>
261 <tr class="separator:af23b5ae27930ef8d9f62a2cf19338003"><td class="memSeparator" colspan="2"> </td></tr>
262 </table><table class="memberdecls">
263 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
264 Functions</h2></td></tr>
265 <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 </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>
266 <tr class="memdesc:gae05c1a2dac5bb7a399420c804c3048ca"><td class="mdescLeft"> </td><td class="mdescRight">Rotate Right in unsigned value (32 bit) <br /></td></tr>
267 <tr class="separator:gae05c1a2dac5bb7a399420c804c3048ca"><td class="memSeparator" colspan="2"> </td></tr>
268 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__Core__InstructionInterface.html#ga90884c591ac5d73d6069334eba9d6c02">__CLZ</a> (uint32_t value)</td></tr>
269 <tr class="memdesc:ga90884c591ac5d73d6069334eba9d6c02"><td class="mdescLeft"> </td><td class="mdescRight">Count leading zeros. <br /></td></tr>
270 <tr class="separator:ga90884c591ac5d73d6069334eba9d6c02"><td class="memSeparator" colspan="2"> </td></tr>
271 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#ae84bf4e95944e61937f4ed2453e5ef23">__enable_irq</a> (void)</td></tr>
272 <tr class="memdesc:ae84bf4e95944e61937f4ed2453e5ef23"><td class="mdescLeft"> </td><td class="mdescRight">Enable IRQ Interrupts. <br /></td></tr>
273 <tr class="separator:ae84bf4e95944e61937f4ed2453e5ef23"><td class="memSeparator" colspan="2"> </td></tr>
274 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a2299877e4ba3e162ca9dbabd6e0abef6">__disable_irq</a> (void)</td></tr>
275 <tr class="memdesc:a2299877e4ba3e162ca9dbabd6e0abef6"><td class="mdescLeft"> </td><td class="mdescRight">Disable IRQ Interrupts. <br /></td></tr>
276 <tr class="separator:a2299877e4ba3e162ca9dbabd6e0abef6"><td class="memSeparator" colspan="2"> </td></tr>
277 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#adccd32ddc2337a9a944c2da9c485a81d">__enable_fault_irq</a> (void)</td></tr>
278 <tr class="memdesc:adccd32ddc2337a9a944c2da9c485a81d"><td class="mdescLeft"> </td><td class="mdescRight">Enable FIQ. <br /></td></tr>
279 <tr class="separator:adccd32ddc2337a9a944c2da9c485a81d"><td class="memSeparator" colspan="2"> </td></tr>
280 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a6f1d7bf2b8b84502e8de12f0c288e117">__disable_fault_irq</a> (void)</td></tr>
281 <tr class="memdesc:a6f1d7bf2b8b84502e8de12f0c288e117"><td class="mdescLeft"> </td><td class="mdescRight">Disable FIQ. <br /></td></tr>
282 <tr class="separator:a6f1d7bf2b8b84502e8de12f0c288e117"><td class="memSeparator" colspan="2"> </td></tr>
283 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#gaa4bddbd2091b8fb234ae43d290e69e78">__get_CPSR</a> (void)</td></tr>
284 <tr class="memdesc:gaa4bddbd2091b8fb234ae43d290e69e78"><td class="mdescLeft"> </td><td class="mdescRight">Get CPSR Register. <br /></td></tr>
285 <tr class="separator:gaa4bddbd2091b8fb234ae43d290e69e78"><td class="memSeparator" colspan="2"> </td></tr>
286 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#ga48f0cfea7413b74bd90986762383c1cd">__set_CPSR</a> (uint32_t cpsr)</td></tr>
287 <tr class="memdesc:ga48f0cfea7413b74bd90986762383c1cd"><td class="mdescLeft"> </td><td class="mdescRight">Set CPSR Register. <br /></td></tr>
288 <tr class="separator:ga48f0cfea7413b74bd90986762383c1cd"><td class="memSeparator" colspan="2"> </td></tr>
289 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a4cf62691d82a3f3a0d844ae94718a5a9">__get_mode</a> (void)</td></tr>
290 <tr class="memdesc:a4cf62691d82a3f3a0d844ae94718a5a9"><td class="mdescLeft"> </td><td class="mdescRight">Get Mode. <br /></td></tr>
291 <tr class="separator:a4cf62691d82a3f3a0d844ae94718a5a9"><td class="memSeparator" colspan="2"> </td></tr>
292 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7ad5710bc622794ffed1d31740f6be55">__set_mode</a> (uint32_t mode)</td></tr>
293 <tr class="memdesc:a7ad5710bc622794ffed1d31740f6be55"><td class="mdescLeft"> </td><td class="mdescRight">Set Mode. <br /></td></tr>
294 <tr class="separator:a7ad5710bc622794ffed1d31740f6be55"><td class="memSeparator" colspan="2"> </td></tr>
295 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#aebea89632181454327b3dc0cf29ec358">__get_SP</a> (void)</td></tr>
296 <tr class="memdesc:aebea89632181454327b3dc0cf29ec358"><td class="mdescLeft"> </td><td class="mdescRight">Get Stack Pointer. <br /></td></tr>
297 <tr class="separator:aebea89632181454327b3dc0cf29ec358"><td class="memSeparator" colspan="2"> </td></tr>
298 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#ga6d25d5770874bf1c824f892739bfdf41">__set_SP</a> (uint32_t stack)</td></tr>
299 <tr class="memdesc:ga6d25d5770874bf1c824f892739bfdf41"><td class="mdescLeft"> </td><td class="mdescRight">Set Stack Pointer. <br /></td></tr>
300 <tr class="separator:ga6d25d5770874bf1c824f892739bfdf41"><td class="memSeparator" colspan="2"> </td></tr>
301 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armclang__a_8h.html#a7009688fca7a35b5e3ba6cf11cc74869">__get_SP_usr</a> (void)</td></tr>
302 <tr class="memdesc:a7009688fca7a35b5e3ba6cf11cc74869"><td class="mdescLeft"> </td><td class="mdescRight">Get USR/SYS Stack Pointer. <br /></td></tr>
303 <tr class="separator:a7009688fca7a35b5e3ba6cf11cc74869"><td class="memSeparator" colspan="2"> </td></tr>
304 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#gaabb67304694380b52a86cdc77efdfbf9">__set_SP_usr</a> (uint32_t topOfProcStack)</td></tr>
305 <tr class="memdesc:gaabb67304694380b52a86cdc77efdfbf9"><td class="mdescLeft"> </td><td class="mdescRight">Set USR/SYS Stack Pointer. <br /></td></tr>
306 <tr class="separator:gaabb67304694380b52a86cdc77efdfbf9"><td class="memSeparator" colspan="2"> </td></tr>
307 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#gadde57667b9f81c468a49268513624b90">__get_FPEXC</a> (void)</td></tr>
308 <tr class="memdesc:gadde57667b9f81c468a49268513624b90"><td class="mdescLeft"> </td><td class="mdescRight">Get FPEXC. <br /></td></tr>
309 <tr class="separator:gadde57667b9f81c468a49268513624b90"><td class="memSeparator" colspan="2"> </td></tr>
310 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__FPEXC.html#ga14ba90beb9b4712454f35ac453c45f5d">__set_FPEXC</a> (uint32_t fpexc)</td></tr>
311 <tr class="memdesc:ga14ba90beb9b4712454f35ac453c45f5d"><td class="mdescLeft"> </td><td class="mdescRight">Set FPEXC. <br /></td></tr>
312 <tr class="separator:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memSeparator" colspan="2"> </td></tr>
313 <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 </td><td class="memItemRight" valign="bottom"><a class="el" href="group__FPU__functions.html#ga1e4728985ee8b4fa89cc01c032f69565">__FPU_Enable</a> (void)</td></tr>
314 <tr class="memdesc:ga1e4728985ee8b4fa89cc01c032f69565"><td class="mdescLeft"> </td><td class="mdescRight">Enable Floating Point Unit. <br /></td></tr>
315 <tr class="separator:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memSeparator" colspan="2"> </td></tr>
316 </table><table class="memberdecls">
317 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
318 Variables</h2></td></tr>
319 <tr class="memitem:ac962a9aa89cef6e5cde0fe6b067f7de3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> </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>
320 <tr class="separator:ac962a9aa89cef6e5cde0fe6b067f7de3"><td class="memSeparator" colspan="2"> </td></tr>
321 <tr class="memitem:a86899dc41c5b3b9ce6b8014ee0e852b9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> </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>
322 <tr class="separator:a86899dc41c5b3b9ce6b8014ee0e852b9"><td class="memSeparator" colspan="2"> </td></tr>
323 <tr class="memitem:abbd193dec7cb45f1fbd05ff7e366ffe2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> </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>
324 <tr class="separator:abbd193dec7cb45f1fbd05ff7e366ffe2"><td class="memSeparator" colspan="2"> </td></tr>
325 <tr class="memitem:a9653a1cbf01ec418e8e940ee3996b8ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> </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>
326 <tr class="separator:a9653a1cbf01ec418e8e940ee3996b8ca"><td class="memSeparator" colspan="2"> </td></tr>
328 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
329 <div class="textblock"><p>CMSIS compiler armclang (Arm Compiler 6) header file. </p>
330 <dl class="section version"><dt>Version</dt><dd>V1.2.2 </dd></dl>
331 <dl class="section date"><dt>Date</dt><dd>13. November 2022 </dd></dl>
332 </div><h2 class="groupheader">Macro Definition Documentation</h2>
333 <a id="a7f7b66103530fadcce226375af3c2c03" name="a7f7b66103530fadcce226375af3c2c03"></a>
334 <h2 class="memtitle"><span class="permalink"><a href="#a7f7b66103530fadcce226375af3c2c03">◆ </a></span>__CLREX</h2>
336 <div class="memitem">
337 <div class="memproto">
338 <table class="memname">
340 <td class="memname">#define __CLREX   __builtin_arm_clrex</td>
343 </div><div class="memdoc">
345 <p>Remove the exclusive lock. </p>
346 <p>Removes the exclusive lock which is created by LDREX. </p>
350 <a id="a6516fb12ab0dd45c734f8cef7d921af6" name="a6516fb12ab0dd45c734f8cef7d921af6"></a>
351 <h2 class="memtitle"><span class="permalink"><a href="#a6516fb12ab0dd45c734f8cef7d921af6">◆ </a></span>__COMPILER_BARRIER</h2>
353 <div class="memitem">
354 <div class="memproto">
355 <table class="memname">
357 <td class="memname">#define __COMPILER_BARRIER</td>
359 <td class="paramname"></td><td>)</td>
360 <td>   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("":::"memory")</td>
363 </div><div class="memdoc">
367 <a id="a2ecb43ce8e7aa73d32f50afa67b42c76" name="a2ecb43ce8e7aa73d32f50afa67b42c76"></a>
368 <h2 class="memtitle"><span class="permalink"><a href="#a2ecb43ce8e7aa73d32f50afa67b42c76">◆ </a></span>__FORCEINLINE</h2>
370 <div class="memitem">
371 <div class="memproto">
372 <table class="memname">
374 <td class="memname">#define __FORCEINLINE   __attribute__((always_inline))</td>
377 </div><div class="memdoc">
381 <a id="ad2a4e5d85d92189d574854b2fbfff057" name="ad2a4e5d85d92189d574854b2fbfff057"></a>
382 <h2 class="memtitle"><span class="permalink"><a href="#ad2a4e5d85d92189d574854b2fbfff057">◆ </a></span>__get_CP</h2>
384 <div class="memitem">
385 <div class="memproto">
386 <table class="memname">
388 <td class="memname">#define __get_CP</td>
390 <td class="paramtype"> </td>
391 <td class="paramname">cp, </td>
394 <td class="paramkey"></td>
396 <td class="paramtype"> </td>
397 <td class="paramname">op1, </td>
400 <td class="paramkey"></td>
402 <td class="paramtype"> </td>
403 <td class="paramname">Rt, </td>
406 <td class="paramkey"></td>
408 <td class="paramtype"> </td>
409 <td class="paramname">CRn, </td>
412 <td class="paramkey"></td>
414 <td class="paramtype"> </td>
415 <td class="paramname">CRm, </td>
418 <td class="paramkey"></td>
420 <td class="paramtype"> </td>
421 <td class="paramname">op2 </td>
426 <td></td><td>   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MRC p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : "=r" (Rt) : : "memory" )</td>
429 </div><div class="memdoc">
433 <a id="a96a3cccabb5bcaf41115a5dfb3fc6723" name="a96a3cccabb5bcaf41115a5dfb3fc6723"></a>
434 <h2 class="memtitle"><span class="permalink"><a href="#a96a3cccabb5bcaf41115a5dfb3fc6723">◆ </a></span>__get_CP64</h2>
436 <div class="memitem">
437 <div class="memproto">
438 <table class="memname">
440 <td class="memname">#define __get_CP64</td>
442 <td class="paramtype"> </td>
443 <td class="paramname">cp, </td>
446 <td class="paramkey"></td>
448 <td class="paramtype"> </td>
449 <td class="paramname">op1, </td>
452 <td class="paramkey"></td>
454 <td class="paramtype"> </td>
455 <td class="paramname">Rt, </td>
458 <td class="paramkey"></td>
460 <td class="paramtype"> </td>
461 <td class="paramname">CRm </td>
466 <td></td><td>   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MRRC p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : "=r" (Rt) : : "memory" )</td>
469 </div><div class="memdoc">
473 <a id="a7d50fe10ca4fb48c076c45e607361ada" name="a7d50fe10ca4fb48c076c45e607361ada"></a>
474 <h2 class="memtitle"><span class="permalink"><a href="#a7d50fe10ca4fb48c076c45e607361ada">◆ </a></span>__LDREXB</h2>
476 <div class="memitem">
477 <div class="memproto">
478 <table class="memname">
480 <td class="memname">#define __LDREXB   (uint8_t)__builtin_arm_ldrex</td>
483 </div><div class="memdoc">
485 <p>LDR Exclusive (8 bit) </p>
486 <p>Executes a exclusive LDR instruction for 8 bit value. </p><dl class="params"><dt>Parameters</dt><dd>
487 <table class="params">
488 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
492 <dl class="section return"><dt>Returns</dt><dd>value of type uint8_t at (*ptr) </dd></dl>
496 <a id="a85552e9948b86c6530e1baa8f5dd2eda" name="a85552e9948b86c6530e1baa8f5dd2eda"></a>
497 <h2 class="memtitle"><span class="permalink"><a href="#a85552e9948b86c6530e1baa8f5dd2eda">◆ </a></span>__LDREXH</h2>
499 <div class="memitem">
500 <div class="memproto">
501 <table class="memname">
503 <td class="memname">#define __LDREXH   (uint16_t)__builtin_arm_ldrex</td>
506 </div><div class="memdoc">
508 <p>LDR Exclusive (16 bit) </p>
509 <p>Executes a exclusive LDR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
510 <table class="params">
511 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
515 <dl class="section return"><dt>Returns</dt><dd>value of type uint16_t at (*ptr) </dd></dl>
519 <a id="ab9ddf318a40b0dbbd6c40c10f5e7fa54" name="ab9ddf318a40b0dbbd6c40c10f5e7fa54"></a>
520 <h2 class="memtitle"><span class="permalink"><a href="#ab9ddf318a40b0dbbd6c40c10f5e7fa54">◆ </a></span>__LDREXW</h2>
522 <div class="memitem">
523 <div class="memproto">
524 <table class="memname">
526 <td class="memname">#define __LDREXW   (uint32_t)__builtin_arm_ldrex</td>
529 </div><div class="memdoc">
531 <p>LDR Exclusive (32 bit) </p>
532 <p>Executes a exclusive LDR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
533 <table class="params">
534 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
538 <dl class="section return"><dt>Returns</dt><dd>value of type uint32_t at (*ptr) </dd></dl>
542 <a id="a4dbb70fab85207c27b581ecb6532b314" name="a4dbb70fab85207c27b581ecb6532b314"></a>
543 <h2 class="memtitle"><span class="permalink"><a href="#a4dbb70fab85207c27b581ecb6532b314">◆ </a></span>__PACKED_STRUCT</h2>
545 <div class="memitem">
546 <div class="memproto">
547 <table class="memname">
549 <td class="memname">#define __PACKED_STRUCT   struct __attribute__((packed, aligned(1)))</td>
552 </div><div class="memdoc">
556 <a id="ab83768933a612816fad669db5488366f" name="ab83768933a612816fad669db5488366f"></a>
557 <h2 class="memtitle"><span class="permalink"><a href="#ab83768933a612816fad669db5488366f">◆ </a></span>__RBIT</h2>
559 <div class="memitem">
560 <div class="memproto">
561 <table class="memname">
563 <td class="memname">#define __RBIT   __builtin_arm_rbit</td>
566 </div><div class="memdoc">
568 <p>Reverse bit order of value. </p>
569 <p>Reverses the bit order of the given value. </p><dl class="params"><dt>Parameters</dt><dd>
570 <table class="params">
571 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
575 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
579 <a id="aca25a02e09983da5558f5242f2f635bc" name="aca25a02e09983da5558f5242f2f635bc"></a>
580 <h2 class="memtitle"><span class="permalink"><a href="#aca25a02e09983da5558f5242f2f635bc">◆ </a></span>__REV</h2>
582 <div class="memitem">
583 <div class="memproto">
584 <table class="memname">
586 <td class="memname">#define __REV</td>
588 <td class="paramtype"> </td>
589 <td class="paramname">value</td><td>)</td>
590 <td>   __builtin_bswap32(value)</td>
593 </div><div class="memdoc">
595 <p>Reverse byte order (32 bit) </p>
596 <p>Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. </p><dl class="params"><dt>Parameters</dt><dd>
597 <table class="params">
598 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
602 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
606 <a id="ad35497777af37e7809271b5e6f9510ba" name="ad35497777af37e7809271b5e6f9510ba"></a>
607 <h2 class="memtitle"><span class="permalink"><a href="#ad35497777af37e7809271b5e6f9510ba">◆ </a></span>__REV16</h2>
609 <div class="memitem">
610 <div class="memproto">
611 <table class="memname">
613 <td class="memname">#define __REV16</td>
615 <td class="paramtype"> </td>
616 <td class="paramname">value</td><td>)</td>
617 <td>   <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>
620 </div><div class="memdoc">
622 <p>Reverse byte order (16 bit) </p>
623 <p>Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. </p><dl class="params"><dt>Parameters</dt><dd>
624 <table class="params">
625 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
629 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
633 <a id="ae580812686119c9c5cf3c11a7519a404" name="ae580812686119c9c5cf3c11a7519a404"></a>
634 <h2 class="memtitle"><span class="permalink"><a href="#ae580812686119c9c5cf3c11a7519a404">◆ </a></span>__REVSH</h2>
636 <div class="memitem">
637 <div class="memproto">
638 <table class="memname">
640 <td class="memname">#define __REVSH</td>
642 <td class="paramtype"> </td>
643 <td class="paramname">value</td><td>)</td>
644 <td>   (int16_t)__builtin_bswap16(value)</td>
647 </div><div class="memdoc">
649 <p>Reverse byte order (16 bit) </p>
650 <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>
651 <table class="params">
652 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
656 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
660 <a id="a5e4710ddc910c7feee1de7f118b84ad1" name="a5e4710ddc910c7feee1de7f118b84ad1"></a>
661 <h2 class="memtitle"><span class="permalink"><a href="#a5e4710ddc910c7feee1de7f118b84ad1">◆ </a></span>__set_CP</h2>
663 <div class="memitem">
664 <div class="memproto">
665 <table class="memname">
667 <td class="memname">#define __set_CP</td>
669 <td class="paramtype"> </td>
670 <td class="paramname">cp, </td>
673 <td class="paramkey"></td>
675 <td class="paramtype"> </td>
676 <td class="paramname">op1, </td>
679 <td class="paramkey"></td>
681 <td class="paramtype"> </td>
682 <td class="paramname">Rt, </td>
685 <td class="paramkey"></td>
687 <td class="paramtype"> </td>
688 <td class="paramname">CRn, </td>
691 <td class="paramkey"></td>
693 <td class="paramtype"> </td>
694 <td class="paramname">CRm, </td>
697 <td class="paramkey"></td>
699 <td class="paramtype"> </td>
700 <td class="paramname">op2 </td>
705 <td></td><td>   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MCR p" # cp ", " # op1 ", %0, c" # CRn ", c" # CRm ", " # op2 : : "r" (Rt) : "memory" )</td>
708 </div><div class="memdoc">
712 <a id="af23b5ae27930ef8d9f62a2cf19338003" name="af23b5ae27930ef8d9f62a2cf19338003"></a>
713 <h2 class="memtitle"><span class="permalink"><a href="#af23b5ae27930ef8d9f62a2cf19338003">◆ </a></span>__set_CP64</h2>
715 <div class="memitem">
716 <div class="memproto">
717 <table class="memname">
719 <td class="memname">#define __set_CP64</td>
721 <td class="paramtype"> </td>
722 <td class="paramname">cp, </td>
725 <td class="paramkey"></td>
727 <td class="paramtype"> </td>
728 <td class="paramname">op1, </td>
731 <td class="paramkey"></td>
733 <td class="paramtype"> </td>
734 <td class="paramname">Rt, </td>
737 <td class="paramkey"></td>
739 <td class="paramtype"> </td>
740 <td class="paramname">CRm </td>
745 <td></td><td>   <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> volatile("MCRR p" # cp ", " # op1 ", %Q0, %R0, c" # CRm : : "r" (Rt) : "memory" )</td>
748 </div><div class="memdoc">
752 <a id="a63b3bbd6ccb6b92ed6c0bbc489529f0f" name="a63b3bbd6ccb6b92ed6c0bbc489529f0f"></a>
753 <h2 class="memtitle"><span class="permalink"><a href="#a63b3bbd6ccb6b92ed6c0bbc489529f0f">◆ </a></span>__set_FPSCR</h2>
755 <div class="memitem">
756 <div class="memproto">
757 <table class="memname">
759 <td class="memname">#define __set_FPSCR   __builtin_arm_set_fpscr</td>
762 </div><div class="memdoc">
765 <p>Assigns the given value to the Floating Point Status/Control register. </p><dl class="params"><dt>Parameters</dt><dd>
766 <table class="params">
767 <tr><td class="paramdir">[in]</td><td class="paramname">fpscr</td><td>Floating Point Status/Control value to set </td></tr>
774 <a id="a3c013c2ed76ebc48c283c8bae17b9ab8" name="a3c013c2ed76ebc48c283c8bae17b9ab8"></a>
775 <h2 class="memtitle"><span class="permalink"><a href="#a3c013c2ed76ebc48c283c8bae17b9ab8">◆ </a></span>__SSAT</h2>
777 <div class="memitem">
778 <div class="memproto">
779 <table class="memname">
781 <td class="memname">#define __SSAT   __builtin_arm_ssat</td>
784 </div><div class="memdoc">
786 <p>Signed Saturate. </p>
787 <p>Saturates a signed value. </p><dl class="params"><dt>Parameters</dt><dd>
788 <table class="params">
789 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
790 <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (1..32) </td></tr>
794 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
798 <a id="ab904513442afdf77d4f8c74f23cbb040" name="ab904513442afdf77d4f8c74f23cbb040"></a>
799 <h2 class="memtitle"><span class="permalink"><a href="#ab904513442afdf77d4f8c74f23cbb040">◆ </a></span>__STATIC_FORCEINLINE</h2>
801 <div class="memitem">
802 <div class="memproto">
803 <table class="memname">
805 <td class="memname">#define __STATIC_FORCEINLINE   __attribute__((always_inline)) static __inline</td>
808 </div><div class="memdoc">
812 <a id="ab27db62b79d57e8cbe47512adcc3cd7b" name="ab27db62b79d57e8cbe47512adcc3cd7b"></a>
813 <h2 class="memtitle"><span class="permalink"><a href="#ab27db62b79d57e8cbe47512adcc3cd7b">◆ </a></span>__STREXB</h2>
815 <div class="memitem">
816 <div class="memproto">
817 <table class="memname">
819 <td class="memname">#define __STREXB   (uint32_t)__builtin_arm_strex</td>
822 </div><div class="memdoc">
824 <p>STR Exclusive (8 bit) </p>
825 <p>Executes a exclusive STR instruction for 8 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
826 <table class="params">
827 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
828 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
832 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
834 1 Function failed </dd></dl>
838 <a id="ac877950e5474daa1448b017cd1d8275b" name="ac877950e5474daa1448b017cd1d8275b"></a>
839 <h2 class="memtitle"><span class="permalink"><a href="#ac877950e5474daa1448b017cd1d8275b">◆ </a></span>__STREXH</h2>
841 <div class="memitem">
842 <div class="memproto">
843 <table class="memname">
845 <td class="memname">#define __STREXH   (uint32_t)__builtin_arm_strex</td>
848 </div><div class="memdoc">
850 <p>STR Exclusive (16 bit) </p>
851 <p>Executes a exclusive STR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
852 <table class="params">
853 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
854 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
858 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
860 1 Function failed </dd></dl>
864 <a id="a43a683772a3fcca5d36b97c4bd1943ff" name="a43a683772a3fcca5d36b97c4bd1943ff"></a>
865 <h2 class="memtitle"><span class="permalink"><a href="#a43a683772a3fcca5d36b97c4bd1943ff">◆ </a></span>__STREXW</h2>
867 <div class="memitem">
868 <div class="memproto">
869 <table class="memname">
871 <td class="memname">#define __STREXW   (uint32_t)__builtin_arm_strex</td>
874 </div><div class="memdoc">
876 <p>STR Exclusive (32 bit) </p>
877 <p>Executes a exclusive STR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
878 <table class="params">
879 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
880 <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
884 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
886 1 Function failed </dd></dl>
890 <a id="ab71b66e5ce403158d3dee62a59f9175f" name="ab71b66e5ce403158d3dee62a59f9175f"></a>
891 <h2 class="memtitle"><span class="permalink"><a href="#ab71b66e5ce403158d3dee62a59f9175f">◆ </a></span>__UNALIGNED_UINT16_READ</h2>
893 <div class="memitem">
894 <div class="memproto">
895 <table class="memname">
897 <td class="memname">#define __UNALIGNED_UINT16_READ</td>
899 <td class="paramtype"> </td>
900 <td class="paramname">addr</td><td>)</td>
901 <td>   (((const struct <a class="el" href="cmsis__armclang__a_8h.html#a86899dc41c5b3b9ce6b8014ee0e852b9">T_UINT16_READ</a> *)(const void *)(addr))->v)</td>
904 </div><div class="memdoc">
908 <a id="a5103fb373cae9837cc4a384be55dc87f" name="a5103fb373cae9837cc4a384be55dc87f"></a>
909 <h2 class="memtitle"><span class="permalink"><a href="#a5103fb373cae9837cc4a384be55dc87f">◆ </a></span>__UNALIGNED_UINT16_WRITE</h2>
911 <div class="memitem">
912 <div class="memproto">
913 <table class="memname">
915 <td class="memname">#define __UNALIGNED_UINT16_WRITE</td>
917 <td class="paramtype"> </td>
918 <td class="paramname">addr, </td>
921 <td class="paramkey"></td>
923 <td class="paramtype"> </td>
924 <td class="paramname">val </td>
929 <td></td><td>   (void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#ac962a9aa89cef6e5cde0fe6b067f7de3">T_UINT16_WRITE</a> *)(void *)(addr))->v) = (val))</td>
932 </div><div class="memdoc">
936 <a id="a3b931f0b051b8c1a6377a3dcc7559b5e" name="a3b931f0b051b8c1a6377a3dcc7559b5e"></a>
937 <h2 class="memtitle"><span class="permalink"><a href="#a3b931f0b051b8c1a6377a3dcc7559b5e">◆ </a></span>__UNALIGNED_UINT32_READ</h2>
939 <div class="memitem">
940 <div class="memproto">
941 <table class="memname">
943 <td class="memname">#define __UNALIGNED_UINT32_READ</td>
945 <td class="paramtype"> </td>
946 <td class="paramname">addr</td><td>)</td>
947 <td>   (((const struct <a class="el" href="cmsis__armclang__a_8h.html#a9653a1cbf01ec418e8e940ee3996b8ca">T_UINT32_READ</a> *)(const void *)(addr))->v)</td>
950 </div><div class="memdoc">
954 <a id="a203f593d140ed88b81bc189edc861110" name="a203f593d140ed88b81bc189edc861110"></a>
955 <h2 class="memtitle"><span class="permalink"><a href="#a203f593d140ed88b81bc189edc861110">◆ </a></span>__UNALIGNED_UINT32_WRITE</h2>
957 <div class="memitem">
958 <div class="memproto">
959 <table class="memname">
961 <td class="memname">#define __UNALIGNED_UINT32_WRITE</td>
963 <td class="paramtype"> </td>
964 <td class="paramname">addr, </td>
967 <td class="paramkey"></td>
969 <td class="paramtype"> </td>
970 <td class="paramname">val </td>
975 <td></td><td>   (void)((((struct <a class="el" href="cmsis__armclang__a_8h.html#abbd193dec7cb45f1fbd05ff7e366ffe2">T_UINT32_WRITE</a> *)(void *)(addr))->v) = (val))</td>
978 </div><div class="memdoc">
982 <a id="ad0e4fa951d563740462d837bb6ddd7bb" name="ad0e4fa951d563740462d837bb6ddd7bb"></a>
983 <h2 class="memtitle"><span class="permalink"><a href="#ad0e4fa951d563740462d837bb6ddd7bb">◆ </a></span>__USAT</h2>
985 <div class="memitem">
986 <div class="memproto">
987 <table class="memname">
989 <td class="memname">#define __USAT   __builtin_arm_usat</td>
992 </div><div class="memdoc">
994 <p>Unsigned Saturate. </p>
995 <p>Saturates an unsigned value. </p><dl class="params"><dt>Parameters</dt><dd>
996 <table class="params">
997 <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
998 <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (0..31) </td></tr>
1002 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
1006 <a id="acdc36c1b3d3e16c17a73889b7d06d0d2" name="acdc36c1b3d3e16c17a73889b7d06d0d2"></a>
1007 <h2 class="memtitle"><span class="permalink"><a href="#acdc36c1b3d3e16c17a73889b7d06d0d2">◆ </a></span>CMSIS_DEPRECATED</h2>
1009 <div class="memitem">
1010 <div class="memproto">
1011 <table class="memname">
1013 <td class="memname">#define CMSIS_DEPRECATED   __attribute__((deprecated))</td>
1016 </div><div class="memdoc">
1020 <h2 class="groupheader">Function Documentation</h2>
1021 <a id="a6f1d7bf2b8b84502e8de12f0c288e117" name="a6f1d7bf2b8b84502e8de12f0c288e117"></a>
1022 <h2 class="memtitle"><span class="permalink"><a href="#a6f1d7bf2b8b84502e8de12f0c288e117">◆ </a></span>__disable_fault_irq()</h2>
1024 <div class="memitem">
1025 <div class="memproto">
1026 <table class="memname">
1028 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __disable_fault_irq </td>
1030 <td class="paramtype">void </td>
1031 <td class="paramname"></td><td>)</td>
1035 </div><div class="memdoc">
1037 <p>Disable FIQ. </p>
1038 <p>Disables FIQ interrupts by setting special-purpose register FAULTMASK. Can only be executed in Privileged modes. </p>
1042 <a id="a2299877e4ba3e162ca9dbabd6e0abef6" name="a2299877e4ba3e162ca9dbabd6e0abef6"></a>
1043 <h2 class="memtitle"><span class="permalink"><a href="#a2299877e4ba3e162ca9dbabd6e0abef6">◆ </a></span>__disable_irq()</h2>
1045 <div class="memitem">
1046 <div class="memproto">
1047 <table class="memname">
1049 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __disable_irq </td>
1051 <td class="paramtype">void </td>
1052 <td class="paramname"></td><td>)</td>
1056 </div><div class="memdoc">
1058 <p>Disable IRQ Interrupts. </p>
1059 <p>Disables IRQ interrupts by setting the I-bit in the CPSR. Can only be executed in Privileged modes. </p>
1063 <a id="adccd32ddc2337a9a944c2da9c485a81d" name="adccd32ddc2337a9a944c2da9c485a81d"></a>
1064 <h2 class="memtitle"><span class="permalink"><a href="#adccd32ddc2337a9a944c2da9c485a81d">◆ </a></span>__enable_fault_irq()</h2>
1066 <div class="memitem">
1067 <div class="memproto">
1068 <table class="memname">
1070 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __enable_fault_irq </td>
1072 <td class="paramtype">void </td>
1073 <td class="paramname"></td><td>)</td>
1077 </div><div class="memdoc">
1080 <p>Enables FIQ interrupts by clearing special-purpose register FAULTMASK. Can only be executed in Privileged modes. </p>
1084 <a id="ae84bf4e95944e61937f4ed2453e5ef23" name="ae84bf4e95944e61937f4ed2453e5ef23"></a>
1085 <h2 class="memtitle"><span class="permalink"><a href="#ae84bf4e95944e61937f4ed2453e5ef23">◆ </a></span>__enable_irq()</h2>
1087 <div class="memitem">
1088 <div class="memproto">
1089 <table class="memname">
1091 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __enable_irq </td>
1093 <td class="paramtype">void </td>
1094 <td class="paramname"></td><td>)</td>
1098 </div><div class="memdoc">
1100 <p>Enable IRQ Interrupts. </p>
1101 <p>Enables IRQ interrupts by clearing the I-bit in the CPSR. Can only be executed in Privileged modes. </p>
1105 <a id="a4cf62691d82a3f3a0d844ae94718a5a9" name="a4cf62691d82a3f3a0d844ae94718a5a9"></a>
1106 <h2 class="memtitle"><span class="permalink"><a href="#a4cf62691d82a3f3a0d844ae94718a5a9">◆ </a></span>__get_mode()</h2>
1108 <div class="memitem">
1109 <div class="memproto">
1110 <table class="memname">
1112 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_mode </td>
1114 <td class="paramtype">void </td>
1115 <td class="paramname"></td><td>)</td>
1119 </div><div class="memdoc">
1122 <dl class="section return"><dt>Returns</dt><dd>Processor Mode </dd></dl>
1126 <a id="aebea89632181454327b3dc0cf29ec358" name="aebea89632181454327b3dc0cf29ec358"></a>
1127 <h2 class="memtitle"><span class="permalink"><a href="#aebea89632181454327b3dc0cf29ec358">◆ </a></span>__get_SP()</h2>
1129 <div class="memitem">
1130 <div class="memproto">
1131 <table class="memname">
1133 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_SP </td>
1135 <td class="paramtype">void </td>
1136 <td class="paramname"></td><td>)</td>
1140 </div><div class="memdoc">
1142 <p>Get Stack Pointer. </p>
1143 <dl class="section return"><dt>Returns</dt><dd>Stack Pointer value </dd></dl>
1147 <a id="a7009688fca7a35b5e3ba6cf11cc74869" name="a7009688fca7a35b5e3ba6cf11cc74869"></a>
1148 <h2 class="memtitle"><span class="permalink"><a href="#a7009688fca7a35b5e3ba6cf11cc74869">◆ </a></span>__get_SP_usr()</h2>
1150 <div class="memitem">
1151 <div class="memproto">
1152 <table class="memname">
1154 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> uint32_t __get_SP_usr </td>
1156 <td class="paramtype">void </td>
1157 <td class="paramname"></td><td>)</td>
1161 </div><div class="memdoc">
1163 <p>Get USR/SYS Stack Pointer. </p>
1164 <dl class="section return"><dt>Returns</dt><dd>USR/SYS Stack Pointer value </dd></dl>
1168 <a id="a7ad5710bc622794ffed1d31740f6be55" name="a7ad5710bc622794ffed1d31740f6be55"></a>
1169 <h2 class="memtitle"><span class="permalink"><a href="#a7ad5710bc622794ffed1d31740f6be55">◆ </a></span>__set_mode()</h2>
1171 <div class="memitem">
1172 <div class="memproto">
1173 <table class="memname">
1175 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a> void __set_mode </td>
1177 <td class="paramtype">uint32_t </td>
1178 <td class="paramname"><em>mode</em></td><td>)</td>
1182 </div><div class="memdoc">
1185 <dl class="params"><dt>Parameters</dt><dd>
1186 <table class="params">
1187 <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Mode value to set </td></tr>
1194 <h2 class="groupheader">Variable Documentation</h2>
1195 <a id="a86899dc41c5b3b9ce6b8014ee0e852b9" name="a86899dc41c5b3b9ce6b8014ee0e852b9"></a>
1196 <h2 class="memtitle"><span class="permalink"><a href="#a86899dc41c5b3b9ce6b8014ee0e852b9">◆ </a></span>T_UINT16_READ</h2>
1198 <div class="memitem">
1199 <div class="memproto">
1200 <table class="memname">
1202 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_READ { uint16_t v</td>
1205 </div><div class="memdoc">
1209 <a id="ac962a9aa89cef6e5cde0fe6b067f7de3" name="ac962a9aa89cef6e5cde0fe6b067f7de3"></a>
1210 <h2 class="memtitle"><span class="permalink"><a href="#ac962a9aa89cef6e5cde0fe6b067f7de3">◆ </a></span>T_UINT16_WRITE</h2>
1212 <div class="memitem">
1213 <div class="memproto">
1214 <table class="memname">
1216 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_WRITE { uint16_t v</td>
1219 </div><div class="memdoc">
1223 <a id="a9653a1cbf01ec418e8e940ee3996b8ca" name="a9653a1cbf01ec418e8e940ee3996b8ca"></a>
1224 <h2 class="memtitle"><span class="permalink"><a href="#a9653a1cbf01ec418e8e940ee3996b8ca">◆ </a></span>T_UINT32_READ</h2>
1226 <div class="memitem">
1227 <div class="memproto">
1228 <table class="memname">
1230 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_READ { uint32_t v</td>
1233 </div><div class="memdoc">
1237 <a id="abbd193dec7cb45f1fbd05ff7e366ffe2" name="abbd193dec7cb45f1fbd05ff7e366ffe2"></a>
1238 <h2 class="memtitle"><span class="permalink"><a href="#abbd193dec7cb45f1fbd05ff7e366ffe2">◆ </a></span>T_UINT32_WRITE</h2>
1240 <div class="memitem">
1241 <div class="memproto">
1242 <table class="memname">
1244 <td class="memname"><a class="el" href="cmsis__armclang__a_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_WRITE { uint32_t v</td>
1247 </div><div class="memdoc">
1251 </div><!-- contents -->
1252 </div><!-- doc-content -->
1253 <!-- start footer part -->
1254 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1256 <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>
1258 <script type="text/javascript">
1260 writeFooter.call(this);