|
| 1 | +/*** |
| 2 | + * !!! Don't include this file in your project !, it can only be used for code analysis !!! |
| 3 | +*/ |
| 4 | + |
| 5 | +#ifndef __VSCODE_CPPTOOL |
| 6 | +#error "Don't include this file in your project !, it can only be used for code analysis !" |
| 7 | +#endif // ! |
| 8 | + |
| 9 | +#ifdef _WIN32 |
| 10 | +#undef _WIN32 |
| 11 | +#endif |
| 12 | + |
| 13 | +#ifdef _MSC_VER |
| 14 | +#undef _MSC_VER |
| 15 | +#endif |
| 16 | + |
| 17 | +#ifdef __GNUC__ |
| 18 | +#undef __GNUC__ |
| 19 | +#endif |
| 20 | + |
| 21 | +#define __CC_ARM |
| 22 | + |
| 23 | +// unofficial defines |
| 24 | +// #define volatile |
| 25 | + |
| 26 | +// keywords |
| 27 | +#define __attribute__(x) |
| 28 | +#define __nonnull__(x) |
| 29 | +#define __builtin_va_arg(x, t) ((t)0) |
| 30 | +#define __builtin_va_start(x, p) |
| 31 | +#define __builtin_va_end(x) |
| 32 | + |
| 33 | +#define __swi(x) |
| 34 | +#define __align(n) |
| 35 | +#define __forceinline |
| 36 | +#define __restrict |
| 37 | +#define __alignof__(x) sizeof(x) |
| 38 | +#define __ALIGNOF__ __alignof__ |
| 39 | +#define __asm(x) |
| 40 | +#define __global_reg(n) |
| 41 | +#define __inline inline |
| 42 | +#define __INTADDR__(x) x |
| 43 | +#define __irq |
| 44 | +#define __packed |
| 45 | +#define __pure |
| 46 | +#define __smc(x) |
| 47 | +#define __softfp |
| 48 | +#define __svc(x) |
| 49 | +#define __svc_indirect(x) |
| 50 | +#define __svc_indirect_r7(x) |
| 51 | +#define __value_in_regs |
| 52 | +#define __weak |
| 53 | +#define __writeonly |
| 54 | +#define __declspec(x) |
| 55 | +#define __int64 long long |
| 56 | +#define __register |
| 57 | + |
| 58 | +#define __va_arg(ap, type) __builtin_va_arg(ap, type) |
| 59 | +#define __va_start(ap, param) __builtin_va_start(ap, param) |
| 60 | +#define __va_end(ap) __builtin_va_end(ap) |
| 61 | + |
| 62 | +#define OS_RUNPRIV 1 |
| 63 | +#define __MODULE__ "" |
| 64 | + |
| 65 | +#ifdef __cplusplus |
| 66 | +float __fabs(float val); |
| 67 | +#define __ARRAY_OPERATORS |
| 68 | +#endif |
| 69 | + |
| 70 | +#ifndef __arm__ |
| 71 | +#define __arm__ |
| 72 | +#endif |
| 73 | + |
| 74 | +#define __EDG__ |
| 75 | +#define __sizeof_int 4 |
| 76 | +#define __sizeof_long 4 |
| 77 | +#define __sizeof_ptr 4 |
| 78 | +#define __STDC__ |
| 79 | + |
| 80 | +// intrinsic function prototypes |
| 81 | +void __breakpoint(int val); |
| 82 | +void __cdp(unsigned int coproc, unsigned int ops, unsigned int regs); |
| 83 | +void __clrex(void); |
| 84 | +unsigned char __clz(unsigned int val); |
| 85 | +unsigned int __current_pc(void); |
| 86 | +unsigned int __current_sp(void); |
| 87 | +int __disable_fiq(void); |
| 88 | +int __disable_irq(void); |
| 89 | +void __enable_fiq(void); |
| 90 | +void __enable_irq(void); |
| 91 | +double __fabs(double val); |
| 92 | +void __force_stores(void); |
| 93 | +unsigned int __ldrex(volatile void *ptr); |
| 94 | +unsigned long long __ldrexd(volatile void *ptr); |
| 95 | +unsigned int __ldrt(const volatile void *ptr); |
| 96 | +void __memory_changed(void); |
| 97 | +void __nop(void); |
| 98 | +//void __pld(...); |
| 99 | +//void __pldw(...); |
| 100 | +//void __pli(...); |
| 101 | +void __promise(unsigned int); |
| 102 | +int __qadd(int val1, int val2); |
| 103 | +int __qdbl(int val); |
| 104 | +int __qsub(int val1, int val2); |
| 105 | +unsigned int __rbit(unsigned int val); |
| 106 | +unsigned int __rev(unsigned int val); |
| 107 | +unsigned int __return_address(void); |
| 108 | +unsigned int __ror(unsigned int val, unsigned int shift); |
| 109 | +void __schedule_barrier(void); |
| 110 | +int __semihost(int val, const void *ptr); |
| 111 | +void __sev(void); |
| 112 | +double __sqrt(double val); |
| 113 | +float __sqrtf(float val); |
| 114 | +int __ssat(int val, unsigned int sat); |
| 115 | +int __strex(unsigned int val, volatile void *ptr); |
| 116 | +int __strexd(unsigned long long val, volatile void *ptr); |
| 117 | +void __strt(unsigned int val, volatile void *ptr); |
| 118 | +unsigned int __swp(unsigned int val, volatile void *ptr); |
| 119 | +int __usat(unsigned int val, unsigned int sat); |
| 120 | +void __wfe(void); |
| 121 | +void __wfi(void); |
| 122 | +void __yield(void); |
| 123 | + |
| 124 | +void __isb(unsigned int); |
| 125 | +void __dsb(unsigned int); |
| 126 | +void __dmb(unsigned int); |
| 127 | + |
| 128 | +void __dci(unsigned bitpatterm); |
| 129 | +void __dci_n(unsigned bitpattern); |
| 130 | +void __dci_w(unsigned bitpattern); |
| 131 | + |
| 132 | +// ARMv6 SIMD intrinsics |
| 133 | +unsigned int __qadd16(unsigned int val1, unsigned int val2); |
| 134 | +unsigned int __qadd8(unsigned int val1, unsigned int val2); |
| 135 | +unsigned int __qasx(unsigned int val1, unsigned int val2); |
| 136 | +unsigned int __qsax(unsigned int val1, unsigned int val2); |
| 137 | +unsigned int __qsub16(unsigned int val1, unsigned int val2); |
| 138 | +unsigned int __qsub8(unsigned int val1, unsigned int val2); |
| 139 | +unsigned int __sadd16(unsigned int val1, unsigned int val2); |
| 140 | +unsigned int __sadd8(unsigned int val1, unsigned int val2); |
| 141 | +unsigned int __sasx(unsigned int val1, unsigned int val2); |
| 142 | +unsigned int __sel(unsigned int val1, unsigned int val2); |
| 143 | +unsigned int __shadd16(unsigned int val1, unsigned int val2); |
| 144 | +unsigned int __shadd8(unsigned int val1, unsigned int val2); |
| 145 | +unsigned int __shasx(unsigned int val1, unsigned int val2); |
| 146 | +unsigned int __shsax(unsigned int val1, unsigned int val2); |
| 147 | +unsigned int __shsub16(unsigned int val1, unsigned int val2); |
| 148 | +unsigned int __shsub8(unsigned int val1, unsigned int val2); |
| 149 | +unsigned int __smlad(unsigned int val1, unsigned int val2, unsigned int val3); |
| 150 | +unsigned int __smladx(unsigned int val1, unsigned int val2, unsigned int val3); |
| 151 | +unsigned long long __smlald(unsigned int val1, unsigned int val2, unsigned long long val3); |
| 152 | +unsigned long long __smlaldx(unsigned int val1, unsigned int val2, unsigned long long val3); |
| 153 | +unsigned int __smlsd(unsigned int val1, unsigned int val2, unsigned int val3); |
| 154 | +unsigned int __smlsdx(unsigned int val1, unsigned int val2, unsigned int val3); |
| 155 | +unsigned long long __smlsld(unsigned int val1, unsigned int val2, unsigned long long val3); |
| 156 | +unsigned long long __smlsldx(unsigned int val1, unsigned int val2, unsigned long long val3); |
| 157 | +unsigned int __smuad(unsigned int val1, unsigned int val2); |
| 158 | +unsigned int __smuadx(unsigned int val1, unsigned int val2); |
| 159 | +unsigned int __smusd(unsigned int val1, unsigned int val2); |
| 160 | +unsigned int __smusdx(unsigned int val1, unsigned int val2); |
| 161 | +unsigned int __saturate_halfwords(unsigned int val1, unsigned int val2); |
| 162 | +unsigned int __ssax(unsigned int val1, unsigned int val2); |
| 163 | +unsigned int __ssub16(unsigned int val1, unsigned int val2); |
| 164 | +unsigned int __ssub8(unsigned int val1, unsigned int val2); |
| 165 | +unsigned int __sxtab16(unsigned int val1, unsigned int val2); |
| 166 | +unsigned int __sxtb16(unsigned int val); |
| 167 | +unsigned int __uadd16(unsigned int val1, unsigned int val2); |
| 168 | +unsigned int __uadd8(unsigned int val1, unsigned int val2); |
| 169 | +unsigned int __uasx(unsigned int val1, unsigned int val2); |
| 170 | +unsigned int __uhadd16(unsigned int val1, unsigned int val2); |
| 171 | +unsigned int __uhadd8(unsigned int val1, unsigned int val2); |
| 172 | +unsigned int __uhasx(unsigned int val1, unsigned int val2); |
| 173 | +unsigned int __uhsax(unsigned int val1, unsigned int val2); |
| 174 | +unsigned int __uhsub16(unsigned int val1, unsigned int val2); |
| 175 | +unsigned int __uhsub8(unsigned int val1, unsigned int val2); |
| 176 | +unsigned int __uqadd16(unsigned int val1, unsigned int val2); |
| 177 | +unsigned int __uqadd8(unsigned int val1, unsigned int val2); |
| 178 | +unsigned int __uqasx(unsigned int val1, unsigned int val2); |
| 179 | +unsigned int __uqsax(unsigned int val1, unsigned int val2); |
| 180 | +unsigned int __uqsub16(unsigned int val1, unsigned int val2); |
| 181 | +unsigned int __uqsub8(unsigned int val1, unsigned int val2); |
| 182 | +unsigned int __usad8(unsigned int val1, unsigned int val2); |
| 183 | +unsigned int __usada8(unsigned int val1, unsigned int val2, unsigned int val3); |
| 184 | +unsigned int __usax(unsigned int val1, unsigned int val2); |
| 185 | +unsigned int __usat16(unsigned int val1, /* constant */ unsigned int val2); |
| 186 | +unsigned int __usub16(unsigned int val1, unsigned int val2); |
| 187 | +unsigned int __usub8(unsigned int val1, unsigned int val2); |
| 188 | +unsigned int __uxtab16(unsigned int val1, unsigned int val2); |
| 189 | +unsigned int __uxtb16(unsigned int val); |
| 190 | + |
| 191 | +// synchronization and barrier intrinsics |
| 192 | +void __dbg(void); |
| 193 | +int __saturation_occurred(void); |
| 194 | +void __set_saturation_occurred(int); |
| 195 | +void __ignore_saturation(void); |
| 196 | +unsigned int __rev(unsigned int x); |
| 197 | +unsigned int __rev16(unsigned int x); |
| 198 | +short __revsh(short x); |
| 199 | + |
| 200 | +// CMSIS embedded assembler functions |
| 201 | +unsigned int __REV16(unsigned int x); |
| 202 | +int __REVSH(int x); |
| 203 | +unsigned int __RRX(unsigned int x); |
| 204 | + |
| 205 | +// 16-bit multiplications |
| 206 | +int __smulbb(int a, int b); |
| 207 | +int __smulbt(int a, int b); |
| 208 | +int __smultb(int a, int b); |
| 209 | +int __smultt(int a, int b); |
| 210 | +int __smulwb(int a, int b); |
| 211 | +int __smulwt(int a, int b); |
| 212 | + |
| 213 | +// accumulating multiplication intrinsics |
| 214 | +int __smlabb(int a, int b, int c); |
| 215 | +int __smlabt(int a, int b, int c); |
| 216 | +int __smlatb(int a, int b, int c); |
| 217 | +int __smlatt(int a, int b, int c); |
| 218 | +int __smlawb(int a, int b, int c); |
| 219 | +int __smlawt(int a, int b, int c); |
0 commit comments