Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
a61c4d726This file is pinned to the selected release. Download the original to open it in your design tool.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DIY Logging Volt/Ampmeter: STM32F103C8T6_powermeter-interface/Drivers/CMSIS/Include/cmsis_compiler.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">DIY Logging Volt/Ampmeter
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('cmsis__compiler_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">cmsis_compiler.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="cmsis__compiler_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/**************************************************************************/</span><span class="comment">/**</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * @file cmsis_compiler.h</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * @brief CMSIS compiler generic header file</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * @version V5.0.4</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * @date 10. January 2018</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> ******************************************************************************/</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * Copyright (c) 2009-2018 Arm Limited. All rights reserved.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * SPDX-License-Identifier: Apache-2.0</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * Licensed under the Apache License, Version 2.0 (the License); you may</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * not use this file except in compliance with the License.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * You may obtain a copy of the License at</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> *</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * distributed under the License is distributed on an AS IS BASIS, WITHOUT</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * limitations under the License.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef __CMSIS_COMPILER_H</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define __CMSIS_COMPILER_H</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <stdint.h></span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Arm Compiler 4/5</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#if defined ( __CC_ARM )</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor"> #include "<a class="code" href="cmsis__armcc_8h.html">cmsis_armcc.h</a>"</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  </div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment"> * Arm Compiler 6 (armclang)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"> #include "<a class="code" href="cmsis__armclang_8h.html">cmsis_armclang.h</a>"</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment"> * GNU Compiler</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#elif defined ( __GNUC__ )</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor"> #include "<a class="code" href="cmsis__gcc_8h.html">cmsis_gcc.h</a>"</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="comment"> * IAR Compiler</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="preprocessor">#elif defined ( __ICCARM__ )</span></div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="preprocessor"> #include <<a class="code" href="cmsis__iccarm_8h.html">cmsis_iccarm.h</a>></span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> <span class="comment"> * TI Arm Compiler</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="preprocessor">#elif defined ( __TI_ARM__ )</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="preprocessor"> #include <cmsis_ccs.h></span></div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  </div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="preprocessor"> #ifndef __ASM</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> <span class="preprocessor"> #define __ASM __asm</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="preprocessor"> #ifndef __INLINE</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="preprocessor"> #define __INLINE inline</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="preprocessor"> #ifndef __STATIC_INLINE</span></div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="preprocessor"> #define __STATIC_INLINE static inline</span></div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="preprocessor"> #ifndef __STATIC_FORCEINLINE</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="preprocessor"> #define __STATIC_FORCEINLINE __STATIC_INLINE</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="preprocessor"> #ifndef __NO_RETURN</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor"> #define __NO_RETURN __attribute__((noreturn))</span></div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor"> #ifndef __USED</span></div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor"> #define __USED __attribute__((used))</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"> #ifndef __WEAK</span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="preprocessor"> #define __WEAK __attribute__((weak))</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"> #ifndef __PACKED</span></div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> <span class="preprocessor"> #define __PACKED __attribute__((packed))</span></div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="preprocessor"> #ifndef __PACKED_STRUCT</span></div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor"> #define __PACKED_STRUCT struct __attribute__((packed))</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="preprocessor"> #ifndef __PACKED_UNION</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="preprocessor"> #define __PACKED_UNION union __attribute__((packed))</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32 </span><span class="comment">/* deprecated */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">struct </span><a class="code" href="syscalls_8c.html#af9aace1b44b73111e15aa39f06f43456">__attribute__</a>((packed)) T_UINT32 { uint32_t v; };</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="preprocessor"> #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)</span></div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_WRITE</span></div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_WRITE { uint16_t v; };</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_READ</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_READ { uint16_t v; };</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_WRITE</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_WRITE { uint32_t v; };</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_READ</span></div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_READ { uint32_t v; };</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> #ifndef __ALIGNED</span></div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> #define __ALIGNED(x) __attribute__((aligned(x)))</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> #ifndef __RESTRICT</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> #define __RESTRICT</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="comment"> * TASKING Compiler</span></div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#elif defined ( __TASKING__ )</span></div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> * The CMSIS functions have been implemented as intrinsics in the compiler.</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * Please use "carm -?i" to get an up to date list of all intrinsics,</span></div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> * Including the CMSIS ones.</span></div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"> #ifndef __ASM</span></div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"> #define __ASM __asm</span></div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor"> #ifndef __INLINE</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"> #define __INLINE inline</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="preprocessor"> #ifndef __STATIC_INLINE</span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor"> #define __STATIC_INLINE static inline</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor"> #ifndef __STATIC_FORCEINLINE</span></div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="preprocessor"> #define __STATIC_FORCEINLINE __STATIC_INLINE</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="preprocessor"> #ifndef __NO_RETURN</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="preprocessor"> #define __NO_RETURN __attribute__((noreturn))</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"> #ifndef __USED</span></div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"> #define __USED __attribute__((used))</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"> #ifndef __WEAK</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"> #define __WEAK __attribute__((weak))</span></div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> #ifndef __PACKED</span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> #define __PACKED __packed__</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"> #ifndef __PACKED_STRUCT</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"> #define __PACKED_STRUCT struct __packed__</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"> #ifndef __PACKED_UNION</span></div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor"> #define __PACKED_UNION union __packed__</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32 </span><span class="comment">/* deprecated */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">struct </span>__packed__ T_UINT32 { uint32_t v; };</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)</span></div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_WRITE</span></div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_WRITE { uint16_t v; };</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_READ</span></div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_READ { uint16_t v; };</div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_WRITE</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_WRITE { uint32_t v; };</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_READ</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_READ { uint32_t v; };</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> #ifndef __ALIGNED</span></div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> #define __ALIGNED(x) __align(x)</span></div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> #ifndef __RESTRICT</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"> #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.</span></div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"> #define __RESTRICT</span></div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  </div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="comment">/*</span></div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="comment"> * COSMIC Compiler</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor">#elif defined ( __CSMC__ )</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> #include <cmsis_csm.h></span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  </div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="preprocessor"> #ifndef __ASM</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="preprocessor"> #define __ASM _asm</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="preprocessor"> #ifndef __INLINE</span></div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="preprocessor"> #define __INLINE inline</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"> #ifndef __STATIC_INLINE</span></div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> #define __STATIC_INLINE static inline</span></div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <span class="preprocessor"> #ifndef __STATIC_FORCEINLINE</span></div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="preprocessor"> #define __STATIC_FORCEINLINE __STATIC_INLINE</span></div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="preprocessor"> #ifndef __NO_RETURN</span></div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="comment">// NO RETURN is automatically detected hence no warning here</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor"> #define __NO_RETURN</span></div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"> #ifndef __USED</span></div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"> #warning No compiler specific solution for __USED. __USED is ignored.</span></div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="preprocessor"> #define __USED</span></div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> <span class="preprocessor"> #ifndef __WEAK</span></div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="preprocessor"> #define __WEAK __weak</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> <span class="preprocessor"> #ifndef __PACKED</span></div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> <span class="preprocessor"> #define __PACKED @packed</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> <span class="preprocessor"> #ifndef __PACKED_STRUCT</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> <span class="preprocessor"> #define __PACKED_STRUCT @packed struct</span></div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="preprocessor"> #ifndef __PACKED_UNION</span></div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> <span class="preprocessor"> #define __PACKED_UNION @packed union</span></div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32 </span><span class="comment">/* deprecated */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  @packed <span class="keyword">struct </span>T_UINT32 { uint32_t v; };</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)</span></div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_WRITE</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_WRITE { uint16_t v; };</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT16_READ</span></div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT16_READ { uint16_t v; };</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor"> #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_WRITE</span></div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_WRITE { uint32_t v; };</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> #ifndef __UNALIGNED_UINT32_READ</span></div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a> T_UINT32_READ { uint32_t v; };</div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"> #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)</span></div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="preprocessor"> #ifndef __ALIGNED</span></div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor"> #warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.</span></div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> <span class="preprocessor"> #define __ALIGNED(x)</span></div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="preprocessor"> #ifndef __RESTRICT</span></div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="preprocessor"> #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.</span></div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="preprocessor"> #define __RESTRICT</span></div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor"> #endif</span></div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  </div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="preprocessor">#else</span></div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> <span class="preprocessor"> #error Unknown compiler.</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  </div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  </div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor">#endif </span><span class="comment">/* __CMSIS_COMPILER_H */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="acmsis__armcc_8h_html"><div class="ttname"><a href="cmsis__armcc_8h.html">cmsis_armcc.h</a></div><div class="ttdoc">CMSIS compiler ARMCC (Arm Compiler 5) header file.</div></div>
<div class="ttc" id="acmsis__iccarm_8h_html"><div class="ttname"><a href="cmsis__iccarm_8h.html">cmsis_iccarm.h</a></div><div class="ttdoc">CMSIS compiler ICCARM (IAR Compiler for Arm) header file.</div></div>
<div class="ttc" id="asyscalls_8c_html_af9aace1b44b73111e15aa39f06f43456"><div class="ttname"><a href="syscalls_8c.html#af9aace1b44b73111e15aa39f06f43456">__attribute__</a></div><div class="ttdeci">__attribute__((weak))</div><div class="ttdef"><b>Definition:</b> <a href="syscalls_8c_source.html#l00069">syscalls.c:69</a></div></div>
<div class="ttc" id="acmsis__armcc_8h_html_a4dbb70fab85207c27b581ecb6532b314"><div class="ttname"><a href="cmsis__armcc_8h.html#a4dbb70fab85207c27b581ecb6532b314">__PACKED_STRUCT</a></div><div class="ttdeci">#define __PACKED_STRUCT</div><div class="ttdef"><b>Definition:</b> <a href="cmsis__armcc_8h_source.html#l00077">cmsis_armcc.h:77</a></div></div>
<div class="ttc" id="acmsis__gcc_8h_html"><div class="ttname"><a href="cmsis__gcc_8h.html">cmsis_gcc.h</a></div><div class="ttdoc">CMSIS compiler GCC header file.</div></div>
<div class="ttc" id="acmsis__armclang_8h_html"><div class="ttname"><a href="cmsis__armclang_8h.html">cmsis_armclang.h</a></div><div class="ttdoc">CMSIS compiler armclang (Arm Compiler 6) header file.</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_4e5f16ccb0512908371dae1ef268cc7e.html">STM32F103C8T6_powermeter-interface</a></li><li class="navelem"><a class="el" href="dir_4a957a805603a308ca7ef702854b01cc.html">Drivers</a></li><li class="navelem"><a class="el" href="dir_18bf7d3f7b9d55936b2a3f3cf5bda8a2.html">CMSIS</a></li><li class="navelem"><a class="el" href="dir_de37198addca9c151ebc1b96066a72a3.html">Include</a></li><li class="navelem"><a class="el" href="cmsis__compiler_8h.html">cmsis_compiler.h</a></li>
<li class="footer">Generated on Mon Dec 13 2021 16:18:48 for DIY Logging Volt/Ampmeter by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
</ul>
</div>
</body>
</html>