]> begriffs open source - cmsis/blob - dev/v6.0.0-dev35/Core_A/html/cmsis__armcc_8h.html
Update documentation for branch main
[cmsis] / dev / v6.0.0-dev35 / Core_A / html / cmsis__armcc_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_armcc.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);
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__armcc_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>  </div>
133   <div class="headertitle"><div class="title">cmsis_armcc.h File Reference</div></div>
134 </div><!--header-->
135 <div class="contents">
136
137 <p>CMSIS compiler ARMCC (Arm Compiler 5) header file.  
138 <a href="#details">More...</a></p>
139 <table class="memberdecls">
140 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
141 Macros</h2></td></tr>
142 <tr class="memitem:gaee91bdfb2b6986731af09835bc9c6e74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__comp__cntrl__gr.html#gaee91bdfb2b6986731af09835bc9c6e74">__ARM_ARCH_7A__</a>&#160;&#160;&#160;1</td></tr>
143 <tr class="memdesc:gaee91bdfb2b6986731af09835bc9c6e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 when generating code for Armv7-A (Cortex-A7)  <br /></td></tr>
144 <tr class="separator:gaee91bdfb2b6986731af09835bc9c6e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
145 <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>
146 <tr class="memdesc:ga1378040bcf22428955c6e3ce9c2053cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pass information from the compiler to the assembler.  <br /></td></tr>
147 <tr class="separator:ga1378040bcf22428955c6e3ce9c2053cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
148 <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>
149 <tr class="memdesc:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recommend that function should be inlined by the compiler.  <br /></td></tr>
150 <tr class="separator:gade2d8d7118f8ff49547f60aa0c3382bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
151 <tr class="memitem:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a2ecb43ce8e7aa73d32f50afa67b42c76">__FORCEINLINE</a>&#160;&#160;&#160;__forceinline</td></tr>
152 <tr class="separator:a2ecb43ce8e7aa73d32f50afa67b42c76"><td class="memSeparator" colspan="2">&#160;</td></tr>
153 <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>
154 <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>
155 <tr class="separator:gaba87361bfad2ae52cfe2f40c1a1dbf9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
156 <tr class="memitem:ab904513442afdf77d4f8c74f23cbb040"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab904513442afdf77d4f8c74f23cbb040">__STATIC_FORCEINLINE</a>&#160;&#160;&#160;static __forceinline</td></tr>
157 <tr class="separator:ab904513442afdf77d4f8c74f23cbb040"><td class="memSeparator" colspan="2">&#160;</td></tr>
158 <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;__declspec(noreturn)</td></tr>
159 <tr class="memdesc:ga153a4a31b276a9758959580538720a51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Inform the compiler that a function does not return.  <br /></td></tr>
160 <tr class="separator:ga153a4a31b276a9758959580538720a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
161 <tr class="memitem:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#acdc36c1b3d3e16c17a73889b7d06d0d2">CMSIS_DEPRECATED</a>&#160;&#160;&#160;__attribute__((deprecated))</td></tr>
162 <tr class="separator:acdc36c1b3d3e16c17a73889b7d06d0d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
163 <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>
164 <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>
165 <tr class="separator:ga3e40e4c553fc11588f7a4c2a19e789e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
166 <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>
167 <tr class="memdesc:gac607bf387b29162be6a9b77fc7999539"><td class="mdescLeft">&#160;</td><td class="mdescRight">Export a function or variable weakly to allow overwrites.  <br /></td></tr>
168 <tr class="separator:gac607bf387b29162be6a9b77fc7999539"><td class="memSeparator" colspan="2">&#160;</td></tr>
169 <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))</td></tr>
170 <tr class="memdesc:gabe8996d3d985ee1529475443cc635bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request smallest possible alignment.  <br /></td></tr>
171 <tr class="separator:gabe8996d3d985ee1529475443cc635bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
172 <tr class="memitem:a4dbb70fab85207c27b581ecb6532b314"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a>&#160;&#160;&#160;__packed struct</td></tr>
173 <tr class="separator:a4dbb70fab85207c27b581ecb6532b314"><td class="memSeparator" colspan="2">&#160;</td></tr>
174 <tr class="memitem:a6fba34d08b0a526830b4231d2ea0b89a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a6fba34d08b0a526830b4231d2ea0b89a">__PACKED_UNION</a>&#160;&#160;&#160;__packed union</td></tr>
175 <tr class="separator:a6fba34d08b0a526830b4231d2ea0b89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
176 <tr class="memitem:ac8a13aacd0453758fdfd01a57a2a6a3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ac8a13aacd0453758fdfd01a57a2a6a3d">__UNALIGNED_UINT32</a>(x)&#160;&#160;&#160;(*((__packed uint32_t *)(x)))</td></tr>
177 <tr class="separator:ac8a13aacd0453758fdfd01a57a2a6a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
178 <tr class="memitem:a5103fb373cae9837cc4a384be55dc87f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5103fb373cae9837cc4a384be55dc87f">__UNALIGNED_UINT16_WRITE</a>(addr,  val)&#160;&#160;&#160;((*((__packed uint16_t *)(addr))) = (val))</td></tr>
179 <tr class="separator:a5103fb373cae9837cc4a384be55dc87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
180 <tr class="memitem:ab71b66e5ce403158d3dee62a59f9175f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab71b66e5ce403158d3dee62a59f9175f">__UNALIGNED_UINT16_READ</a>(addr)&#160;&#160;&#160;(*((const __packed uint16_t *)(addr)))</td></tr>
181 <tr class="separator:ab71b66e5ce403158d3dee62a59f9175f"><td class="memSeparator" colspan="2">&#160;</td></tr>
182 <tr class="memitem:a203f593d140ed88b81bc189edc861110"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a203f593d140ed88b81bc189edc861110">__UNALIGNED_UINT32_WRITE</a>(addr,  val)&#160;&#160;&#160;((*((__packed uint32_t *)(addr))) = (val))</td></tr>
183 <tr class="separator:a203f593d140ed88b81bc189edc861110"><td class="memSeparator" colspan="2">&#160;</td></tr>
184 <tr class="memitem:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a3b931f0b051b8c1a6377a3dcc7559b5e">__UNALIGNED_UINT32_READ</a>(addr)&#160;&#160;&#160;(*((const __packed uint32_t *)(addr)))</td></tr>
185 <tr class="separator:a3b931f0b051b8c1a6377a3dcc7559b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
186 <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>
187 <tr class="memdesc:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum alignment for a variable.  <br /></td></tr>
188 <tr class="separator:gaa65ef8f7a5e8b7a6ea6c1d48b4c78e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
189 <tr class="memitem:a378ac21329d33f561f90265eef89f564"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a378ac21329d33f561f90265eef89f564">__RESTRICT</a>&#160;&#160;&#160;__restrict</td></tr>
190 <tr class="separator:a378ac21329d33f561f90265eef89f564"><td class="memSeparator" colspan="2">&#160;</td></tr>
191 <tr class="memitem:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a6516fb12ab0dd45c734f8cef7d921af6">__COMPILER_BARRIER</a>()&#160;&#160;&#160;__memory_changed()</td></tr>
192 <tr class="separator:a6516fb12ab0dd45c734f8cef7d921af6"><td class="memSeparator" colspan="2">&#160;</td></tr>
193 <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;__nop</td></tr>
194 <tr class="memdesc:gabd585ddc865fb9b7f2493af1eee1a572"><td class="mdescLeft">&#160;</td><td class="mdescRight">No Operation.  <br /></td></tr>
195 <tr class="separator:gabd585ddc865fb9b7f2493af1eee1a572"><td class="memSeparator" colspan="2">&#160;</td></tr>
196 <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;__wfi</td></tr>
197 <tr class="memdesc:gad23bf2b78a9a4524157c9de0d30b7448"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Interrupt.  <br /></td></tr>
198 <tr class="separator:gad23bf2b78a9a4524157c9de0d30b7448"><td class="memSeparator" colspan="2">&#160;</td></tr>
199 <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;__wfe</td></tr>
200 <tr class="memdesc:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wait For Event.  <br /></td></tr>
201 <tr class="separator:gaac6cc7dd4325d9cb40d3290fa5244b3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
202 <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;__sev</td></tr>
203 <tr class="memdesc:gaab4f296d0022b4b10dc0976eb22052f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send Event.  <br /></td></tr>
204 <tr class="separator:gaab4f296d0022b4b10dc0976eb22052f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
205 <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;__isb(0xF)</td></tr>
206 <tr class="memdesc:gaad233022e850a009fc6f7602be1182f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instruction Synchronization Barrier.  <br /></td></tr>
207 <tr class="separator:gaad233022e850a009fc6f7602be1182f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
208 <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;__dsb(0xF)</td></tr>
209 <tr class="memdesc:ga067d257a2b34565410acefb5afef2203"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Synchronization Barrier.  <br /></td></tr>
210 <tr class="separator:ga067d257a2b34565410acefb5afef2203"><td class="memSeparator" colspan="2">&#160;</td></tr>
211 <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;__dmb(0xF)</td></tr>
212 <tr class="memdesc:ga671101179b5943990785f36f8c1e2269"><td class="mdescLeft">&#160;</td><td class="mdescRight">Data Memory Barrier.  <br /></td></tr>
213 <tr class="separator:ga671101179b5943990785f36f8c1e2269"><td class="memSeparator" colspan="2">&#160;</td></tr>
214 <tr class="memitem:a14f54807872c0f5e05604c4924abfdae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a14f54807872c0f5e05604c4924abfdae">__REV</a>&#160;&#160;&#160;__rev</td></tr>
215 <tr class="memdesc:a14f54807872c0f5e05604c4924abfdae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (32 bit)  <br /></td></tr>
216 <tr class="separator:a14f54807872c0f5e05604c4924abfdae"><td class="memSeparator" colspan="2">&#160;</td></tr>
217 <tr class="memitem:a95b9bd281ddeda378b85afdb8f2ced86"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a95b9bd281ddeda378b85afdb8f2ced86">__ROR</a>&#160;&#160;&#160;__ror</td></tr>
218 <tr class="memdesc:a95b9bd281ddeda378b85afdb8f2ced86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse byte order (16 bit)  <br /></td></tr>
219 <tr class="separator:a95b9bd281ddeda378b85afdb8f2ced86"><td class="memSeparator" colspan="2">&#160;</td></tr>
220 <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;__breakpoint(value)</td></tr>
221 <tr class="memdesc:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="mdescLeft">&#160;</td><td class="mdescRight">Breakpoint.  <br /></td></tr>
222 <tr class="separator:ga15ea6bd3c507d3e81c3b3a1258e46397"><td class="memSeparator" colspan="2">&#160;</td></tr>
223 <tr class="memitem:ab83768933a612816fad669db5488366f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ab83768933a612816fad669db5488366f">__RBIT</a>&#160;&#160;&#160;__rbit</td></tr>
224 <tr class="memdesc:ab83768933a612816fad669db5488366f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reverse bit order of value.  <br /></td></tr>
225 <tr class="separator:ab83768933a612816fad669db5488366f"><td class="memSeparator" colspan="2">&#160;</td></tr>
226 <tr class="memitem:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5d5bb1527e042be4a9fa5a33f65cc248">__CLZ</a>&#160;&#160;&#160;__clz</td></tr>
227 <tr class="memdesc:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count leading zeros.  <br /></td></tr>
228 <tr class="separator:a5d5bb1527e042be4a9fa5a33f65cc248"><td class="memSeparator" colspan="2">&#160;</td></tr>
229 <tr class="memitem:a8876672c1f185d3253fea6b06bdba771"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a8876672c1f185d3253fea6b06bdba771">__LDREXB</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint8_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
230 <tr class="memdesc:a8876672c1f185d3253fea6b06bdba771"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (8 bit)  <br /></td></tr>
231 <tr class="separator:a8876672c1f185d3253fea6b06bdba771"><td class="memSeparator" colspan="2">&#160;</td></tr>
232 <tr class="memitem:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#aa7f6f01cf534bc8daccc421dc823fc6f">__LDREXH</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint16_t) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
233 <tr class="memdesc:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (16 bit)  <br /></td></tr>
234 <tr class="separator:aa7f6f01cf534bc8daccc421dc823fc6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
235 <tr class="memitem:aa872ae25197f1dddc52835fdfed9a881"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#aa872ae25197f1dddc52835fdfed9a881">__LDREXW</a>(ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint32_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td></tr>
236 <tr class="memdesc:aa872ae25197f1dddc52835fdfed9a881"><td class="mdescLeft">&#160;</td><td class="mdescRight">LDR Exclusive (32 bit)  <br /></td></tr>
237 <tr class="separator:aa872ae25197f1dddc52835fdfed9a881"><td class="memSeparator" colspan="2">&#160;</td></tr>
238 <tr class="memitem:a503ba30a93e83963de38e5171fbbabce"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a503ba30a93e83963de38e5171fbbabce">__STREXB</a>(value,  ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
239 <tr class="memdesc:a503ba30a93e83963de38e5171fbbabce"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (8 bit)  <br /></td></tr>
240 <tr class="separator:a503ba30a93e83963de38e5171fbbabce"><td class="memSeparator" colspan="2">&#160;</td></tr>
241 <tr class="memitem:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a63d19c6c7852ada9a1c1aab80e6294b1">__STREXH</a>(value,  ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
242 <tr class="memdesc:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (16 bit)  <br /></td></tr>
243 <tr class="separator:a63d19c6c7852ada9a1c1aab80e6294b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
244 <tr class="memitem:a0c3704e33e90ba0491cee56cfb553090"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a0c3704e33e90ba0491cee56cfb553090">__STREXW</a>(value,  ptr)&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td></tr>
245 <tr class="memdesc:a0c3704e33e90ba0491cee56cfb553090"><td class="mdescLeft">&#160;</td><td class="mdescRight">STR Exclusive (32 bit)  <br /></td></tr>
246 <tr class="separator:a0c3704e33e90ba0491cee56cfb553090"><td class="memSeparator" colspan="2">&#160;</td></tr>
247 <tr class="memitem:a7f7b66103530fadcce226375af3c2c03"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a7f7b66103530fadcce226375af3c2c03">__CLREX</a>&#160;&#160;&#160;__clrex</td></tr>
248 <tr class="memdesc:a7f7b66103530fadcce226375af3c2c03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the exclusive lock.  <br /></td></tr>
249 <tr class="separator:a7f7b66103530fadcce226375af3c2c03"><td class="memSeparator" colspan="2">&#160;</td></tr>
250 <tr class="memitem:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a3c013c2ed76ebc48c283c8bae17b9ab8">__SSAT</a>&#160;&#160;&#160;__ssat</td></tr>
251 <tr class="memdesc:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signed Saturate.  <br /></td></tr>
252 <tr class="separator:a3c013c2ed76ebc48c283c8bae17b9ab8"><td class="memSeparator" colspan="2">&#160;</td></tr>
253 <tr class="memitem:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ad0e4fa951d563740462d837bb6ddd7bb">__USAT</a>&#160;&#160;&#160;__usat</td></tr>
254 <tr class="memdesc:ad0e4fa951d563740462d837bb6ddd7bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unsigned Saturate.  <br /></td></tr>
255 <tr class="separator:ad0e4fa951d563740462d837bb6ddd7bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
256 <tr class="memitem:a16e7da363118de45c8dbd69010629dc4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a16e7da363118de45c8dbd69010629dc4">__enable_fault_irq</a>&#160;&#160;&#160;__enable_fiq</td></tr>
257 <tr class="memdesc:a16e7da363118de45c8dbd69010629dc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable IRQ Interrupts.  <br /></td></tr>
258 <tr class="separator:a16e7da363118de45c8dbd69010629dc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
259 <tr class="memitem:a1c8c7def829cba808887b7009b3e05b8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a1c8c7def829cba808887b7009b3e05b8">__disable_fault_irq</a>&#160;&#160;&#160;__disable_fiq</td></tr>
260 <tr class="memdesc:a1c8c7def829cba808887b7009b3e05b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable FIQ.  <br /></td></tr>
261 <tr class="separator:a1c8c7def829cba808887b7009b3e05b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
262 <tr class="memitem:ad2a4e5d85d92189d574854b2fbfff057"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#ad2a4e5d85d92189d574854b2fbfff057">__get_CP</a>(cp,  op1,  Rt,  CRn,  CRm,  op2)&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); (Rt) = tmp; } while(0)</td></tr>
263 <tr class="separator:ad2a4e5d85d92189d574854b2fbfff057"><td class="memSeparator" colspan="2">&#160;</td></tr>
264 <tr class="memitem:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a5e4710ddc910c7feee1de7f118b84ad1">__set_CP</a>(cp,  op1,  Rt,  CRn,  CRm,  op2)&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); tmp = (Rt); } while(0)</td></tr>
265 <tr class="separator:a5e4710ddc910c7feee1de7f118b84ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
266 <tr class="memitem:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a96a3cccabb5bcaf41115a5dfb3fc6723">__get_CP64</a>(cp,  op1,  Rt,  CRm)</td></tr>
267 <tr class="separator:a96a3cccabb5bcaf41115a5dfb3fc6723"><td class="memSeparator" colspan="2">&#160;</td></tr>
268 <tr class="memitem:af23b5ae27930ef8d9f62a2cf19338003"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#af23b5ae27930ef8d9f62a2cf19338003">__set_CP64</a>(cp,  op1,  Rt,  CRm)</td></tr>
269 <tr class="separator:af23b5ae27930ef8d9f62a2cf19338003"><td class="memSeparator" colspan="2">&#160;</td></tr>
270 </table><table class="memberdecls">
271 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
272 Functions</h2></td></tr>
273 <tr class="memitem:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</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>
274 <tr class="memdesc:ga6a275172e274ea7ce6c22030d07c6c64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPSCR (Floating Point Status/Control)  <br /></td></tr>
275 <tr class="separator:ga6a275172e274ea7ce6c22030d07c6c64"><td class="memSeparator" colspan="2">&#160;</td></tr>
276 <tr class="memitem:ga17c6ff443c52c74125fefef7de5fee1d"><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__CMSIS__FPSCR.html#ga17c6ff443c52c74125fefef7de5fee1d">__set_FPSCR</a> (uint32_t fpscr)</td></tr>
277 <tr class="memdesc:ga17c6ff443c52c74125fefef7de5fee1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPSCR (Floating Point Status/Control)  <br /></td></tr>
278 <tr class="separator:ga17c6ff443c52c74125fefef7de5fee1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
279 <tr class="memitem:ga0308d7d313bced36c3d1a4c2f9741186"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__CPSR.html#ga0308d7d313bced36c3d1a4c2f9741186">__get_CPSR</a> (void)</td></tr>
280 <tr class="memdesc:ga0308d7d313bced36c3d1a4c2f9741186"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get CPSR (Current Program Status Register)  <br /></td></tr>
281 <tr class="separator:ga0308d7d313bced36c3d1a4c2f9741186"><td class="memSeparator" colspan="2">&#160;</td></tr>
282 <tr class="memitem:gaf87faa3453333bcac5667fb1ccfc7f61"><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__CMSIS__CPSR.html#gaf87faa3453333bcac5667fb1ccfc7f61">__set_CPSR</a> (uint32_t cpsr)</td></tr>
283 <tr class="memdesc:gaf87faa3453333bcac5667fb1ccfc7f61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set CPSR (Current Program Status Register)  <br /></td></tr>
284 <tr class="separator:gaf87faa3453333bcac5667fb1ccfc7f61"><td class="memSeparator" colspan="2">&#160;</td></tr>
285 <tr class="memitem:a4712ef84455dfc73de4697e1c213b0ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a4712ef84455dfc73de4697e1c213b0ed">__get_mode</a> (void)</td></tr>
286 <tr class="memdesc:a4712ef84455dfc73de4697e1c213b0ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Mode.  <br /></td></tr>
287 <tr class="separator:a4712ef84455dfc73de4697e1c213b0ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
288 <tr class="memitem:a306b0a932918f2243a40d4e855503be2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a306b0a932918f2243a40d4e855503be2">__set_mode</a> (uint32_t mode)</td></tr>
289 <tr class="memdesc:a306b0a932918f2243a40d4e855503be2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Mode.  <br /></td></tr>
290 <tr class="separator:a306b0a932918f2243a40d4e855503be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
291 <tr class="memitem:a1473ba10f33f397118e434e9ad0c1514"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a1473ba10f33f397118e434e9ad0c1514">__get_SP</a> (void)</td></tr>
292 <tr class="memdesc:a1473ba10f33f397118e434e9ad0c1514"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get Stack Pointer.  <br /></td></tr>
293 <tr class="separator:a1473ba10f33f397118e434e9ad0c1514"><td class="memSeparator" colspan="2">&#160;</td></tr>
294 <tr class="memitem:ga6af63cb939bd108aef1c0f12622350cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#ga6af63cb939bd108aef1c0f12622350cb">__set_SP</a> (uint32_t stack)</td></tr>
295 <tr class="memdesc:ga6af63cb939bd108aef1c0f12622350cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Stack Pointer.  <br /></td></tr>
296 <tr class="separator:ga6af63cb939bd108aef1c0f12622350cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
297 <tr class="memitem:a403dcb809998ee594da0908820155a42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmsis__armcc_8h.html#a403dcb809998ee594da0908820155a42">__get_SP_usr</a> (void)</td></tr>
298 <tr class="memdesc:a403dcb809998ee594da0908820155a42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get USR/SYS Stack Pointer.  <br /></td></tr>
299 <tr class="separator:a403dcb809998ee594da0908820155a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
300 <tr class="memitem:gabfe36eb17b6ae34633c7e155d132426e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__CMSIS__SP.html#gabfe36eb17b6ae34633c7e155d132426e">__set_SP_usr</a> (uint32_t topOfProcStack)</td></tr>
301 <tr class="memdesc:gabfe36eb17b6ae34633c7e155d132426e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set USR/SYS Stack Pointer.  <br /></td></tr>
302 <tr class="separator:gabfe36eb17b6ae34633c7e155d132426e"><td class="memSeparator" colspan="2">&#160;</td></tr>
303 <tr class="memitem:gadde57667b9f81c468a49268513624b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</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>
304 <tr class="memdesc:gadde57667b9f81c468a49268513624b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get FPEXC (Floating Point Exception Control Register)  <br /></td></tr>
305 <tr class="separator:gadde57667b9f81c468a49268513624b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
306 <tr class="memitem:ga14ba90beb9b4712454f35ac453c45f5d"><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__CMSIS__FPEXC.html#ga14ba90beb9b4712454f35ac453c45f5d">__set_FPEXC</a> (uint32_t fpexc)</td></tr>
307 <tr class="memdesc:ga14ba90beb9b4712454f35ac453c45f5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set FPEXC (Floating Point Exception Control Register)  <br /></td></tr>
308 <tr class="separator:ga14ba90beb9b4712454f35ac453c45f5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
309 <tr class="memitem:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__FPU__functions.html#ga1e4728985ee8b4fa89cc01c032f69565">__FPU_Enable</a> (void)</td></tr>
310 <tr class="memdesc:ga1e4728985ee8b4fa89cc01c032f69565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable Floating Point Unit.  <br /></td></tr>
311 <tr class="separator:ga1e4728985ee8b4fa89cc01c032f69565"><td class="memSeparator" colspan="2">&#160;</td></tr>
312 </table>
313 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
314 <div class="textblock"><dl class="section version"><dt>Version</dt><dd>V1.0.6 </dd></dl>
315 <dl class="section date"><dt>Date</dt><dd>13. November 2022 </dd></dl>
316 </div><h2 class="groupheader">Macro Definition Documentation</h2>
317 <a id="a7f7b66103530fadcce226375af3c2c03" name="a7f7b66103530fadcce226375af3c2c03"></a>
318 <h2 class="memtitle"><span class="permalink"><a href="#a7f7b66103530fadcce226375af3c2c03">&#9670;&#160;</a></span>__CLREX</h2>
319
320 <div class="memitem">
321 <div class="memproto">
322       <table class="memname">
323         <tr>
324           <td class="memname">#define __CLREX&#160;&#160;&#160;__clrex</td>
325         </tr>
326       </table>
327 </div><div class="memdoc">
328 <p>Removes the exclusive lock which is created by LDREX. </p>
329
330 </div>
331 </div>
332 <a id="a5d5bb1527e042be4a9fa5a33f65cc248" name="a5d5bb1527e042be4a9fa5a33f65cc248"></a>
333 <h2 class="memtitle"><span class="permalink"><a href="#a5d5bb1527e042be4a9fa5a33f65cc248">&#9670;&#160;</a></span>__CLZ</h2>
334
335 <div class="memitem">
336 <div class="memproto">
337       <table class="memname">
338         <tr>
339           <td class="memname">#define __CLZ&#160;&#160;&#160;__clz</td>
340         </tr>
341       </table>
342 </div><div class="memdoc">
343 <p>Counts the number of leading zeros of a data value. </p><dl class="params"><dt>Parameters</dt><dd>
344   <table class="params">
345     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to count the leading zeros </td></tr>
346   </table>
347   </dd>
348 </dl>
349 <dl class="section return"><dt>Returns</dt><dd>number of leading zeros in value </dd></dl>
350
351 </div>
352 </div>
353 <a id="a6516fb12ab0dd45c734f8cef7d921af6" name="a6516fb12ab0dd45c734f8cef7d921af6"></a>
354 <h2 class="memtitle"><span class="permalink"><a href="#a6516fb12ab0dd45c734f8cef7d921af6">&#9670;&#160;</a></span>__COMPILER_BARRIER</h2>
355
356 <div class="memitem">
357 <div class="memproto">
358       <table class="memname">
359         <tr>
360           <td class="memname">#define __COMPILER_BARRIER</td>
361           <td>(</td>
362           <td class="paramname"></td><td>)</td>
363           <td>&#160;&#160;&#160;__memory_changed()</td>
364         </tr>
365       </table>
366 </div><div class="memdoc">
367
368 </div>
369 </div>
370 <a id="a1c8c7def829cba808887b7009b3e05b8" name="a1c8c7def829cba808887b7009b3e05b8"></a>
371 <h2 class="memtitle"><span class="permalink"><a href="#a1c8c7def829cba808887b7009b3e05b8">&#9670;&#160;</a></span>__disable_fault_irq</h2>
372
373 <div class="memitem">
374 <div class="memproto">
375       <table class="memname">
376         <tr>
377           <td class="memname">#define __disable_fault_irq&#160;&#160;&#160;__disable_fiq</td>
378         </tr>
379       </table>
380 </div><div class="memdoc">
381 <p>Disables FIQ interrupts by setting the F-bit in the CPSR. Can only be executed in Privileged modes. </p>
382
383 </div>
384 </div>
385 <a id="a16e7da363118de45c8dbd69010629dc4" name="a16e7da363118de45c8dbd69010629dc4"></a>
386 <h2 class="memtitle"><span class="permalink"><a href="#a16e7da363118de45c8dbd69010629dc4">&#9670;&#160;</a></span>__enable_fault_irq</h2>
387
388 <div class="memitem">
389 <div class="memproto">
390       <table class="memname">
391         <tr>
392           <td class="memname">#define __enable_fault_irq&#160;&#160;&#160;__enable_fiq</td>
393         </tr>
394       </table>
395 </div><div class="memdoc">
396 <p>Enables IRQ interrupts by clearing special-purpose register PRIMASK. Can only be executed in Privileged modes.</p>
397 <p>Disable IRQ Interrupts</p>
398 <p>Disables IRQ interrupts by setting special-purpose register PRIMASK. Can only be executed in Privileged modes.</p>
399 <p>Enable FIQ</p>
400 <p>Enables FIQ interrupts by clearing the F-bit in the CPSR. Can only be executed in Privileged modes. </p>
401
402 </div>
403 </div>
404 <a id="a2ecb43ce8e7aa73d32f50afa67b42c76" name="a2ecb43ce8e7aa73d32f50afa67b42c76"></a>
405 <h2 class="memtitle"><span class="permalink"><a href="#a2ecb43ce8e7aa73d32f50afa67b42c76">&#9670;&#160;</a></span>__FORCEINLINE</h2>
406
407 <div class="memitem">
408 <div class="memproto">
409       <table class="memname">
410         <tr>
411           <td class="memname">#define __FORCEINLINE&#160;&#160;&#160;__forceinline</td>
412         </tr>
413       </table>
414 </div><div class="memdoc">
415
416 </div>
417 </div>
418 <a id="ad2a4e5d85d92189d574854b2fbfff057" name="ad2a4e5d85d92189d574854b2fbfff057"></a>
419 <h2 class="memtitle"><span class="permalink"><a href="#ad2a4e5d85d92189d574854b2fbfff057">&#9670;&#160;</a></span>__get_CP</h2>
420
421 <div class="memitem">
422 <div class="memproto">
423       <table class="memname">
424         <tr>
425           <td class="memname">#define __get_CP</td>
426           <td>(</td>
427           <td class="paramtype">&#160;</td>
428           <td class="paramname">cp, </td>
429         </tr>
430         <tr>
431           <td class="paramkey"></td>
432           <td></td>
433           <td class="paramtype">&#160;</td>
434           <td class="paramname">op1, </td>
435         </tr>
436         <tr>
437           <td class="paramkey"></td>
438           <td></td>
439           <td class="paramtype">&#160;</td>
440           <td class="paramname">Rt, </td>
441         </tr>
442         <tr>
443           <td class="paramkey"></td>
444           <td></td>
445           <td class="paramtype">&#160;</td>
446           <td class="paramname">CRn, </td>
447         </tr>
448         <tr>
449           <td class="paramkey"></td>
450           <td></td>
451           <td class="paramtype">&#160;</td>
452           <td class="paramname">CRm, </td>
453         </tr>
454         <tr>
455           <td class="paramkey"></td>
456           <td></td>
457           <td class="paramtype">&#160;</td>
458           <td class="paramname">op2&#160;</td>
459         </tr>
460         <tr>
461           <td></td>
462           <td>)</td>
463           <td></td><td>&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); (Rt) = tmp; } while(0)</td>
464         </tr>
465       </table>
466 </div><div class="memdoc">
467
468 </div>
469 </div>
470 <a id="a96a3cccabb5bcaf41115a5dfb3fc6723" name="a96a3cccabb5bcaf41115a5dfb3fc6723"></a>
471 <h2 class="memtitle"><span class="permalink"><a href="#a96a3cccabb5bcaf41115a5dfb3fc6723">&#9670;&#160;</a></span>__get_CP64</h2>
472
473 <div class="memitem">
474 <div class="memproto">
475       <table class="memname">
476         <tr>
477           <td class="memname">#define __get_CP64</td>
478           <td>(</td>
479           <td class="paramtype">&#160;</td>
480           <td class="paramname">cp, </td>
481         </tr>
482         <tr>
483           <td class="paramkey"></td>
484           <td></td>
485           <td class="paramtype">&#160;</td>
486           <td class="paramname">op1, </td>
487         </tr>
488         <tr>
489           <td class="paramkey"></td>
490           <td></td>
491           <td class="paramtype">&#160;</td>
492           <td class="paramname">Rt, </td>
493         </tr>
494         <tr>
495           <td class="paramkey"></td>
496           <td></td>
497           <td class="paramtype">&#160;</td>
498           <td class="paramname">CRm&#160;</td>
499         </tr>
500         <tr>
501           <td></td>
502           <td>)</td>
503           <td></td><td></td>
504         </tr>
505       </table>
506 </div><div class="memdoc">
507
508 </div>
509 </div>
510 <a id="a8876672c1f185d3253fea6b06bdba771" name="a8876672c1f185d3253fea6b06bdba771"></a>
511 <h2 class="memtitle"><span class="permalink"><a href="#a8876672c1f185d3253fea6b06bdba771">&#9670;&#160;</a></span>__LDREXB</h2>
512
513 <div class="memitem">
514 <div class="memproto">
515       <table class="memname">
516         <tr>
517           <td class="memname">#define __LDREXB</td>
518           <td>(</td>
519           <td class="paramtype">&#160;</td>
520           <td class="paramname">ptr</td><td>)</td>
521           <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint8_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
522         </tr>
523       </table>
524 </div><div class="memdoc">
525 <p>Executes a exclusive LDR instruction for 8 bit value. </p><dl class="params"><dt>Parameters</dt><dd>
526   <table class="params">
527     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
528   </table>
529   </dd>
530 </dl>
531 <dl class="section return"><dt>Returns</dt><dd>value of type uint8_t at (*ptr) </dd></dl>
532
533 </div>
534 </div>
535 <a id="aa7f6f01cf534bc8daccc421dc823fc6f" name="aa7f6f01cf534bc8daccc421dc823fc6f"></a>
536 <h2 class="memtitle"><span class="permalink"><a href="#aa7f6f01cf534bc8daccc421dc823fc6f">&#9670;&#160;</a></span>__LDREXH</h2>
537
538 <div class="memitem">
539 <div class="memproto">
540       <table class="memname">
541         <tr>
542           <td class="memname">#define __LDREXH</td>
543           <td>(</td>
544           <td class="paramtype">&#160;</td>
545           <td class="paramname">ptr</td><td>)</td>
546           <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint16_t) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
547         </tr>
548       </table>
549 </div><div class="memdoc">
550 <p>Executes a exclusive LDR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
551   <table class="params">
552     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
553   </table>
554   </dd>
555 </dl>
556 <dl class="section return"><dt>Returns</dt><dd>value of type uint16_t at (*ptr) </dd></dl>
557
558 </div>
559 </div>
560 <a id="aa872ae25197f1dddc52835fdfed9a881" name="aa872ae25197f1dddc52835fdfed9a881"></a>
561 <h2 class="memtitle"><span class="permalink"><a href="#aa872ae25197f1dddc52835fdfed9a881">&#9670;&#160;</a></span>__LDREXW</h2>
562
563 <div class="memitem">
564 <div class="memproto">
565       <table class="memname">
566         <tr>
567           <td class="memname">#define __LDREXW</td>
568           <td>(</td>
569           <td class="paramtype">&#160;</td>
570           <td class="paramname">ptr</td><td>)</td>
571           <td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) ((uint32_t ) __ldrex(ptr))  _Pragma(&quot;pop&quot;)</td>
572         </tr>
573       </table>
574 </div><div class="memdoc">
575 <p>Executes a exclusive LDR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
576   <table class="params">
577     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to data </td></tr>
578   </table>
579   </dd>
580 </dl>
581 <dl class="section return"><dt>Returns</dt><dd>value of type uint32_t at (*ptr) </dd></dl>
582
583 </div>
584 </div>
585 <a id="a4dbb70fab85207c27b581ecb6532b314" name="a4dbb70fab85207c27b581ecb6532b314"></a>
586 <h2 class="memtitle"><span class="permalink"><a href="#a4dbb70fab85207c27b581ecb6532b314">&#9670;&#160;</a></span>__PACKED_STRUCT</h2>
587
588 <div class="memitem">
589 <div class="memproto">
590       <table class="memname">
591         <tr>
592           <td class="memname">#define __PACKED_STRUCT&#160;&#160;&#160;__packed struct</td>
593         </tr>
594       </table>
595 </div><div class="memdoc">
596
597 </div>
598 </div>
599 <a id="a6fba34d08b0a526830b4231d2ea0b89a" name="a6fba34d08b0a526830b4231d2ea0b89a"></a>
600 <h2 class="memtitle"><span class="permalink"><a href="#a6fba34d08b0a526830b4231d2ea0b89a">&#9670;&#160;</a></span>__PACKED_UNION</h2>
601
602 <div class="memitem">
603 <div class="memproto">
604       <table class="memname">
605         <tr>
606           <td class="memname">#define __PACKED_UNION&#160;&#160;&#160;__packed union</td>
607         </tr>
608       </table>
609 </div><div class="memdoc">
610
611 </div>
612 </div>
613 <a id="ab83768933a612816fad669db5488366f" name="ab83768933a612816fad669db5488366f"></a>
614 <h2 class="memtitle"><span class="permalink"><a href="#ab83768933a612816fad669db5488366f">&#9670;&#160;</a></span>__RBIT</h2>
615
616 <div class="memitem">
617 <div class="memproto">
618       <table class="memname">
619         <tr>
620           <td class="memname">#define __RBIT&#160;&#160;&#160;__rbit</td>
621         </tr>
622       </table>
623 </div><div class="memdoc">
624 <p>Reverses the bit order of the given value. </p><dl class="params"><dt>Parameters</dt><dd>
625   <table class="params">
626     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
627   </table>
628   </dd>
629 </dl>
630 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
631
632 </div>
633 </div>
634 <a id="a378ac21329d33f561f90265eef89f564" name="a378ac21329d33f561f90265eef89f564"></a>
635 <h2 class="memtitle"><span class="permalink"><a href="#a378ac21329d33f561f90265eef89f564">&#9670;&#160;</a></span>__RESTRICT</h2>
636
637 <div class="memitem">
638 <div class="memproto">
639       <table class="memname">
640         <tr>
641           <td class="memname">#define __RESTRICT&#160;&#160;&#160;__restrict</td>
642         </tr>
643       </table>
644 </div><div class="memdoc">
645
646 </div>
647 </div>
648 <a id="a14f54807872c0f5e05604c4924abfdae" name="a14f54807872c0f5e05604c4924abfdae"></a>
649 <h2 class="memtitle"><span class="permalink"><a href="#a14f54807872c0f5e05604c4924abfdae">&#9670;&#160;</a></span>__REV</h2>
650
651 <div class="memitem">
652 <div class="memproto">
653       <table class="memname">
654         <tr>
655           <td class="memname">#define __REV&#160;&#160;&#160;__rev</td>
656         </tr>
657       </table>
658 </div><div class="memdoc">
659 <p>Reverses the byte order in unsigned integer value. For example, 0x12345678 becomes 0x78563412. </p><dl class="params"><dt>Parameters</dt><dd>
660   <table class="params">
661     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
662   </table>
663   </dd>
664 </dl>
665 <dl class="section return"><dt>Returns</dt><dd>Reversed value </dd></dl>
666
667 </div>
668 </div>
669 <a id="a95b9bd281ddeda378b85afdb8f2ced86" name="a95b9bd281ddeda378b85afdb8f2ced86"></a>
670 <h2 class="memtitle"><span class="permalink"><a href="#a95b9bd281ddeda378b85afdb8f2ced86">&#9670;&#160;</a></span>__ROR</h2>
671
672 <div class="memitem">
673 <div class="memproto">
674       <table class="memname">
675         <tr>
676           <td class="memname">#define __ROR&#160;&#160;&#160;__ror</td>
677         </tr>
678       </table>
679 </div><div class="memdoc">
680 <p>Reverses the byte order within each halfword of a word. For example, 0x12345678 becomes 0x34127856. </p><dl class="params"><dt>Parameters</dt><dd>
681   <table class="params">
682     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
683   </table>
684   </dd>
685 </dl>
686 <dl class="section return"><dt>Returns</dt><dd>Reversed value</dd></dl>
687 <p>Reverse byte order (16 bit)</p>
688 <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>
689   <table class="params">
690     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to reverse </td></tr>
691   </table>
692   </dd>
693 </dl>
694 <dl class="section return"><dt>Returns</dt><dd>Reversed value</dd></dl>
695 <p>Rotate Right in unsigned value (32 bit)</p>
696 <p>Rotate Right (immediate) provides the value of the contents of a register rotated by a variable number of bits. </p><dl class="params"><dt>Parameters</dt><dd>
697   <table class="params">
698     <tr><td class="paramdir">[in]</td><td class="paramname">op1</td><td>Value to rotate </td></tr>
699     <tr><td class="paramdir">[in]</td><td class="paramname">op2</td><td>Number of Bits to rotate </td></tr>
700   </table>
701   </dd>
702 </dl>
703 <dl class="section return"><dt>Returns</dt><dd>Rotated value </dd></dl>
704
705 </div>
706 </div>
707 <a id="a5e4710ddc910c7feee1de7f118b84ad1" name="a5e4710ddc910c7feee1de7f118b84ad1"></a>
708 <h2 class="memtitle"><span class="permalink"><a href="#a5e4710ddc910c7feee1de7f118b84ad1">&#9670;&#160;</a></span>__set_CP</h2>
709
710 <div class="memitem">
711 <div class="memproto">
712       <table class="memname">
713         <tr>
714           <td class="memname">#define __set_CP</td>
715           <td>(</td>
716           <td class="paramtype">&#160;</td>
717           <td class="paramname">cp, </td>
718         </tr>
719         <tr>
720           <td class="paramkey"></td>
721           <td></td>
722           <td class="paramtype">&#160;</td>
723           <td class="paramname">op1, </td>
724         </tr>
725         <tr>
726           <td class="paramkey"></td>
727           <td></td>
728           <td class="paramtype">&#160;</td>
729           <td class="paramname">Rt, </td>
730         </tr>
731         <tr>
732           <td class="paramkey"></td>
733           <td></td>
734           <td class="paramtype">&#160;</td>
735           <td class="paramname">CRn, </td>
736         </tr>
737         <tr>
738           <td class="paramkey"></td>
739           <td></td>
740           <td class="paramtype">&#160;</td>
741           <td class="paramname">CRm, </td>
742         </tr>
743         <tr>
744           <td class="paramkey"></td>
745           <td></td>
746           <td class="paramtype">&#160;</td>
747           <td class="paramname">op2&#160;</td>
748         </tr>
749         <tr>
750           <td></td>
751           <td>)</td>
752           <td></td><td>&#160;&#160;&#160;do { register volatile uint32_t tmp <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a>(&quot;cp&quot; # cp &quot;:&quot; # op1 &quot;:c&quot; # CRn &quot;:c&quot; # CRm &quot;:&quot; # op2); tmp = (Rt); } while(0)</td>
753         </tr>
754       </table>
755 </div><div class="memdoc">
756
757 </div>
758 </div>
759 <a id="af23b5ae27930ef8d9f62a2cf19338003" name="af23b5ae27930ef8d9f62a2cf19338003"></a>
760 <h2 class="memtitle"><span class="permalink"><a href="#af23b5ae27930ef8d9f62a2cf19338003">&#9670;&#160;</a></span>__set_CP64</h2>
761
762 <div class="memitem">
763 <div class="memproto">
764       <table class="memname">
765         <tr>
766           <td class="memname">#define __set_CP64</td>
767           <td>(</td>
768           <td class="paramtype">&#160;</td>
769           <td class="paramname">cp, </td>
770         </tr>
771         <tr>
772           <td class="paramkey"></td>
773           <td></td>
774           <td class="paramtype">&#160;</td>
775           <td class="paramname">op1, </td>
776         </tr>
777         <tr>
778           <td class="paramkey"></td>
779           <td></td>
780           <td class="paramtype">&#160;</td>
781           <td class="paramname">Rt, </td>
782         </tr>
783         <tr>
784           <td class="paramkey"></td>
785           <td></td>
786           <td class="paramtype">&#160;</td>
787           <td class="paramname">CRm&#160;</td>
788         </tr>
789         <tr>
790           <td></td>
791           <td>)</td>
792           <td></td><td></td>
793         </tr>
794       </table>
795 </div><div class="memdoc">
796
797 </div>
798 </div>
799 <a id="a3c013c2ed76ebc48c283c8bae17b9ab8" name="a3c013c2ed76ebc48c283c8bae17b9ab8"></a>
800 <h2 class="memtitle"><span class="permalink"><a href="#a3c013c2ed76ebc48c283c8bae17b9ab8">&#9670;&#160;</a></span>__SSAT</h2>
801
802 <div class="memitem">
803 <div class="memproto">
804       <table class="memname">
805         <tr>
806           <td class="memname">#define __SSAT&#160;&#160;&#160;__ssat</td>
807         </tr>
808       </table>
809 </div><div class="memdoc">
810 <p>Saturates a signed value. </p><dl class="params"><dt>Parameters</dt><dd>
811   <table class="params">
812     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
813     <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (1..32) </td></tr>
814   </table>
815   </dd>
816 </dl>
817 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
818
819 </div>
820 </div>
821 <a id="ab904513442afdf77d4f8c74f23cbb040" name="ab904513442afdf77d4f8c74f23cbb040"></a>
822 <h2 class="memtitle"><span class="permalink"><a href="#ab904513442afdf77d4f8c74f23cbb040">&#9670;&#160;</a></span>__STATIC_FORCEINLINE</h2>
823
824 <div class="memitem">
825 <div class="memproto">
826       <table class="memname">
827         <tr>
828           <td class="memname">#define __STATIC_FORCEINLINE&#160;&#160;&#160;static __forceinline</td>
829         </tr>
830       </table>
831 </div><div class="memdoc">
832
833 </div>
834 </div>
835 <a id="a503ba30a93e83963de38e5171fbbabce" name="a503ba30a93e83963de38e5171fbbabce"></a>
836 <h2 class="memtitle"><span class="permalink"><a href="#a503ba30a93e83963de38e5171fbbabce">&#9670;&#160;</a></span>__STREXB</h2>
837
838 <div class="memitem">
839 <div class="memproto">
840       <table class="memname">
841         <tr>
842           <td class="memname">#define __STREXB</td>
843           <td>(</td>
844           <td class="paramtype">&#160;</td>
845           <td class="paramname">value, </td>
846         </tr>
847         <tr>
848           <td class="paramkey"></td>
849           <td></td>
850           <td class="paramtype">&#160;</td>
851           <td class="paramname">ptr&#160;</td>
852         </tr>
853         <tr>
854           <td></td>
855           <td>)</td>
856           <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
857         </tr>
858       </table>
859 </div><div class="memdoc">
860 <p>Executes a exclusive STR instruction for 8 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
861   <table class="params">
862     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
863     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
864   </table>
865   </dd>
866 </dl>
867 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
868 <dd>
869 1 Function failed </dd></dl>
870
871 </div>
872 </div>
873 <a id="a63d19c6c7852ada9a1c1aab80e6294b1" name="a63d19c6c7852ada9a1c1aab80e6294b1"></a>
874 <h2 class="memtitle"><span class="permalink"><a href="#a63d19c6c7852ada9a1c1aab80e6294b1">&#9670;&#160;</a></span>__STREXH</h2>
875
876 <div class="memitem">
877 <div class="memproto">
878       <table class="memname">
879         <tr>
880           <td class="memname">#define __STREXH</td>
881           <td>(</td>
882           <td class="paramtype">&#160;</td>
883           <td class="paramname">value, </td>
884         </tr>
885         <tr>
886           <td class="paramkey"></td>
887           <td></td>
888           <td class="paramtype">&#160;</td>
889           <td class="paramname">ptr&#160;</td>
890         </tr>
891         <tr>
892           <td></td>
893           <td>)</td>
894           <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
895         </tr>
896       </table>
897 </div><div class="memdoc">
898 <p>Executes a exclusive STR instruction for 16 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
899   <table class="params">
900     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
901     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
902   </table>
903   </dd>
904 </dl>
905 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
906 <dd>
907 1 Function failed </dd></dl>
908
909 </div>
910 </div>
911 <a id="a0c3704e33e90ba0491cee56cfb553090" name="a0c3704e33e90ba0491cee56cfb553090"></a>
912 <h2 class="memtitle"><span class="permalink"><a href="#a0c3704e33e90ba0491cee56cfb553090">&#9670;&#160;</a></span>__STREXW</h2>
913
914 <div class="memitem">
915 <div class="memproto">
916       <table class="memname">
917         <tr>
918           <td class="memname">#define __STREXW</td>
919           <td>(</td>
920           <td class="paramtype">&#160;</td>
921           <td class="paramname">value, </td>
922         </tr>
923         <tr>
924           <td class="paramkey"></td>
925           <td></td>
926           <td class="paramtype">&#160;</td>
927           <td class="paramname">ptr&#160;</td>
928         </tr>
929         <tr>
930           <td></td>
931           <td>)</td>
932           <td></td><td>&#160;&#160;&#160;_Pragma(&quot;push&quot;) _Pragma(&quot;diag_suppress 3731&quot;) __strex(value, ptr)        _Pragma(&quot;pop&quot;)</td>
933         </tr>
934       </table>
935 </div><div class="memdoc">
936 <p>Executes a exclusive STR instruction for 32 bit values. </p><dl class="params"><dt>Parameters</dt><dd>
937   <table class="params">
938     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to store </td></tr>
939     <tr><td class="paramdir">[in]</td><td class="paramname">ptr</td><td>Pointer to location </td></tr>
940   </table>
941   </dd>
942 </dl>
943 <dl class="section return"><dt>Returns</dt><dd>0 Function succeeded </dd>
944 <dd>
945 1 Function failed </dd></dl>
946
947 </div>
948 </div>
949 <a id="ab71b66e5ce403158d3dee62a59f9175f" name="ab71b66e5ce403158d3dee62a59f9175f"></a>
950 <h2 class="memtitle"><span class="permalink"><a href="#ab71b66e5ce403158d3dee62a59f9175f">&#9670;&#160;</a></span>__UNALIGNED_UINT16_READ</h2>
951
952 <div class="memitem">
953 <div class="memproto">
954       <table class="memname">
955         <tr>
956           <td class="memname">#define __UNALIGNED_UINT16_READ</td>
957           <td>(</td>
958           <td class="paramtype">&#160;</td>
959           <td class="paramname">addr</td><td>)</td>
960           <td>&#160;&#160;&#160;(*((const __packed uint16_t *)(addr)))</td>
961         </tr>
962       </table>
963 </div><div class="memdoc">
964
965 </div>
966 </div>
967 <a id="a5103fb373cae9837cc4a384be55dc87f" name="a5103fb373cae9837cc4a384be55dc87f"></a>
968 <h2 class="memtitle"><span class="permalink"><a href="#a5103fb373cae9837cc4a384be55dc87f">&#9670;&#160;</a></span>__UNALIGNED_UINT16_WRITE</h2>
969
970 <div class="memitem">
971 <div class="memproto">
972       <table class="memname">
973         <tr>
974           <td class="memname">#define __UNALIGNED_UINT16_WRITE</td>
975           <td>(</td>
976           <td class="paramtype">&#160;</td>
977           <td class="paramname">addr, </td>
978         </tr>
979         <tr>
980           <td class="paramkey"></td>
981           <td></td>
982           <td class="paramtype">&#160;</td>
983           <td class="paramname">val&#160;</td>
984         </tr>
985         <tr>
986           <td></td>
987           <td>)</td>
988           <td></td><td>&#160;&#160;&#160;((*((__packed uint16_t *)(addr))) = (val))</td>
989         </tr>
990       </table>
991 </div><div class="memdoc">
992
993 </div>
994 </div>
995 <a id="ac8a13aacd0453758fdfd01a57a2a6a3d" name="ac8a13aacd0453758fdfd01a57a2a6a3d"></a>
996 <h2 class="memtitle"><span class="permalink"><a href="#ac8a13aacd0453758fdfd01a57a2a6a3d">&#9670;&#160;</a></span>__UNALIGNED_UINT32</h2>
997
998 <div class="memitem">
999 <div class="memproto">
1000       <table class="memname">
1001         <tr>
1002           <td class="memname">#define __UNALIGNED_UINT32</td>
1003           <td>(</td>
1004           <td class="paramtype">&#160;</td>
1005           <td class="paramname">x</td><td>)</td>
1006           <td>&#160;&#160;&#160;(*((__packed uint32_t *)(x)))</td>
1007         </tr>
1008       </table>
1009 </div><div class="memdoc">
1010
1011 </div>
1012 </div>
1013 <a id="a3b931f0b051b8c1a6377a3dcc7559b5e" name="a3b931f0b051b8c1a6377a3dcc7559b5e"></a>
1014 <h2 class="memtitle"><span class="permalink"><a href="#a3b931f0b051b8c1a6377a3dcc7559b5e">&#9670;&#160;</a></span>__UNALIGNED_UINT32_READ</h2>
1015
1016 <div class="memitem">
1017 <div class="memproto">
1018       <table class="memname">
1019         <tr>
1020           <td class="memname">#define __UNALIGNED_UINT32_READ</td>
1021           <td>(</td>
1022           <td class="paramtype">&#160;</td>
1023           <td class="paramname">addr</td><td>)</td>
1024           <td>&#160;&#160;&#160;(*((const __packed uint32_t *)(addr)))</td>
1025         </tr>
1026       </table>
1027 </div><div class="memdoc">
1028
1029 </div>
1030 </div>
1031 <a id="a203f593d140ed88b81bc189edc861110" name="a203f593d140ed88b81bc189edc861110"></a>
1032 <h2 class="memtitle"><span class="permalink"><a href="#a203f593d140ed88b81bc189edc861110">&#9670;&#160;</a></span>__UNALIGNED_UINT32_WRITE</h2>
1033
1034 <div class="memitem">
1035 <div class="memproto">
1036       <table class="memname">
1037         <tr>
1038           <td class="memname">#define __UNALIGNED_UINT32_WRITE</td>
1039           <td>(</td>
1040           <td class="paramtype">&#160;</td>
1041           <td class="paramname">addr, </td>
1042         </tr>
1043         <tr>
1044           <td class="paramkey"></td>
1045           <td></td>
1046           <td class="paramtype">&#160;</td>
1047           <td class="paramname">val&#160;</td>
1048         </tr>
1049         <tr>
1050           <td></td>
1051           <td>)</td>
1052           <td></td><td>&#160;&#160;&#160;((*((__packed uint32_t *)(addr))) = (val))</td>
1053         </tr>
1054       </table>
1055 </div><div class="memdoc">
1056
1057 </div>
1058 </div>
1059 <a id="ad0e4fa951d563740462d837bb6ddd7bb" name="ad0e4fa951d563740462d837bb6ddd7bb"></a>
1060 <h2 class="memtitle"><span class="permalink"><a href="#ad0e4fa951d563740462d837bb6ddd7bb">&#9670;&#160;</a></span>__USAT</h2>
1061
1062 <div class="memitem">
1063 <div class="memproto">
1064       <table class="memname">
1065         <tr>
1066           <td class="memname">#define __USAT&#160;&#160;&#160;__usat</td>
1067         </tr>
1068       </table>
1069 </div><div class="memdoc">
1070 <p>Saturates an unsigned value. </p><dl class="params"><dt>Parameters</dt><dd>
1071   <table class="params">
1072     <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to be saturated </td></tr>
1073     <tr><td class="paramdir">[in]</td><td class="paramname">sat</td><td>Bit position to saturate to (0..31) </td></tr>
1074   </table>
1075   </dd>
1076 </dl>
1077 <dl class="section return"><dt>Returns</dt><dd>Saturated value </dd></dl>
1078
1079 </div>
1080 </div>
1081 <a id="acdc36c1b3d3e16c17a73889b7d06d0d2" name="acdc36c1b3d3e16c17a73889b7d06d0d2"></a>
1082 <h2 class="memtitle"><span class="permalink"><a href="#acdc36c1b3d3e16c17a73889b7d06d0d2">&#9670;&#160;</a></span>CMSIS_DEPRECATED</h2>
1083
1084 <div class="memitem">
1085 <div class="memproto">
1086       <table class="memname">
1087         <tr>
1088           <td class="memname">#define CMSIS_DEPRECATED&#160;&#160;&#160;__attribute__((deprecated))</td>
1089         </tr>
1090       </table>
1091 </div><div class="memdoc">
1092
1093 </div>
1094 </div>
1095 <h2 class="groupheader">Function Documentation</h2>
1096 <a id="a4712ef84455dfc73de4697e1c213b0ed" name="a4712ef84455dfc73de4697e1c213b0ed"></a>
1097 <h2 class="memtitle"><span class="permalink"><a href="#a4712ef84455dfc73de4697e1c213b0ed">&#9670;&#160;</a></span>__get_mode()</h2>
1098
1099 <div class="memitem">
1100 <div class="memproto">
1101       <table class="memname">
1102         <tr>
1103           <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> uint32_t __get_mode </td>
1104           <td>(</td>
1105           <td class="paramtype">void&#160;</td>
1106           <td class="paramname"></td><td>)</td>
1107           <td></td>
1108         </tr>
1109       </table>
1110 </div><div class="memdoc">
1111 <dl class="section return"><dt>Returns</dt><dd>Processor Mode </dd></dl>
1112
1113 </div>
1114 </div>
1115 <a id="a1473ba10f33f397118e434e9ad0c1514" name="a1473ba10f33f397118e434e9ad0c1514"></a>
1116 <h2 class="memtitle"><span class="permalink"><a href="#a1473ba10f33f397118e434e9ad0c1514">&#9670;&#160;</a></span>__get_SP()</h2>
1117
1118 <div class="memitem">
1119 <div class="memproto">
1120       <table class="memname">
1121         <tr>
1122           <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t __get_SP </td>
1123           <td>(</td>
1124           <td class="paramtype">void&#160;</td>
1125           <td class="paramname"></td><td>)</td>
1126           <td></td>
1127         </tr>
1128       </table>
1129 </div><div class="memdoc">
1130 <dl class="section return"><dt>Returns</dt><dd>Stack Pointer </dd></dl>
1131
1132 </div>
1133 </div>
1134 <a id="a403dcb809998ee594da0908820155a42" name="a403dcb809998ee594da0908820155a42"></a>
1135 <h2 class="memtitle"><span class="permalink"><a href="#a403dcb809998ee594da0908820155a42">&#9670;&#160;</a></span>__get_SP_usr()</h2>
1136
1137 <div class="memitem">
1138 <div class="memproto">
1139       <table class="memname">
1140         <tr>
1141           <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> uint32_t __get_SP_usr </td>
1142           <td>(</td>
1143           <td class="paramtype">void&#160;</td>
1144           <td class="paramname"></td><td>)</td>
1145           <td></td>
1146         </tr>
1147       </table>
1148 </div><div class="memdoc">
1149 <dl class="section return"><dt>Returns</dt><dd>USR/SYSStack Pointer </dd></dl>
1150
1151 </div>
1152 </div>
1153 <a id="a306b0a932918f2243a40d4e855503be2" name="a306b0a932918f2243a40d4e855503be2"></a>
1154 <h2 class="memtitle"><span class="permalink"><a href="#a306b0a932918f2243a40d4e855503be2">&#9670;&#160;</a></span>__set_mode()</h2>
1155
1156 <div class="memitem">
1157 <div class="memproto">
1158       <table class="memname">
1159         <tr>
1160           <td class="memname"><a class="el" href="group__comp__cntrl__gr.html#gaba87361bfad2ae52cfe2f40c1a1dbf9c">__STATIC_INLINE</a> <a class="el" href="group__comp__cntrl__gr.html#ga1378040bcf22428955c6e3ce9c2053cd">__ASM</a> void __set_mode </td>
1161           <td>(</td>
1162           <td class="paramtype">uint32_t&#160;</td>
1163           <td class="paramname"><em>mode</em></td><td>)</td>
1164           <td></td>
1165         </tr>
1166       </table>
1167 </div><div class="memdoc">
1168 <dl class="params"><dt>Parameters</dt><dd>
1169   <table class="params">
1170     <tr><td class="paramdir">[in]</td><td class="paramname">mode</td><td>Mode value to set </td></tr>
1171   </table>
1172   </dd>
1173 </dl>
1174
1175 </div>
1176 </div>
1177 </div><!-- contents -->
1178 </div><!-- doc-content -->
1179 <!-- start footer part -->
1180 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
1181   <ul>
1182     <li class="navelem"><a class="el" href="dir_81259f310e7df616655868cf25af7aec.html">Core_A</a></li><li class="navelem"><a class="el" href="dir_81850a296b40e19960ac1004b7eee65f.html">Include</a></li><li class="navelem"><a class="el" href="cmsis__armcc_8h.html">cmsis_armcc.h</a></li>
1183     <li class="footer">
1184       <script type="text/javascript">
1185         <!--
1186         writeFooter.call(this);
1187         //-->
1188       </script> 
1189     </li>
1190   </ul>
1191 </div>
1192 </body>
1193 </html>