Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.

Upstream: https://github.com/ARMmbed/DAPLink

Committer:
Pawel Zarembski
Date:
Tue Apr 07 12:55:42 2020 +0200
Revision:
0:01f31e923fe2
hani: DAPLink with reset workaround

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pawel Zarembski 0:01f31e923fe2 1 /**************************************************************************//**
Pawel Zarembski 0:01f31e923fe2 2 * @file cmsis_compiler.h
Pawel Zarembski 0:01f31e923fe2 3 * @brief CMSIS compiler generic header file
Pawel Zarembski 0:01f31e923fe2 4 * @version V5.1.0
Pawel Zarembski 0:01f31e923fe2 5 * @date 09. October 2018
Pawel Zarembski 0:01f31e923fe2 6 ******************************************************************************/
Pawel Zarembski 0:01f31e923fe2 7 /*
Pawel Zarembski 0:01f31e923fe2 8 * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
Pawel Zarembski 0:01f31e923fe2 9 *
Pawel Zarembski 0:01f31e923fe2 10 * SPDX-License-Identifier: Apache-2.0
Pawel Zarembski 0:01f31e923fe2 11 *
Pawel Zarembski 0:01f31e923fe2 12 * Licensed under the Apache License, Version 2.0 (the License); you may
Pawel Zarembski 0:01f31e923fe2 13 * not use this file except in compliance with the License.
Pawel Zarembski 0:01f31e923fe2 14 * You may obtain a copy of the License at
Pawel Zarembski 0:01f31e923fe2 15 *
Pawel Zarembski 0:01f31e923fe2 16 * www.apache.org/licenses/LICENSE-2.0
Pawel Zarembski 0:01f31e923fe2 17 *
Pawel Zarembski 0:01f31e923fe2 18 * Unless required by applicable law or agreed to in writing, software
Pawel Zarembski 0:01f31e923fe2 19 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
Pawel Zarembski 0:01f31e923fe2 20 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Pawel Zarembski 0:01f31e923fe2 21 * See the License for the specific language governing permissions and
Pawel Zarembski 0:01f31e923fe2 22 * limitations under the License.
Pawel Zarembski 0:01f31e923fe2 23 */
Pawel Zarembski 0:01f31e923fe2 24
Pawel Zarembski 0:01f31e923fe2 25 #ifndef __CMSIS_COMPILER_H
Pawel Zarembski 0:01f31e923fe2 26 #define __CMSIS_COMPILER_H
Pawel Zarembski 0:01f31e923fe2 27
Pawel Zarembski 0:01f31e923fe2 28 #include <stdint.h>
Pawel Zarembski 0:01f31e923fe2 29
Pawel Zarembski 0:01f31e923fe2 30 /*
Pawel Zarembski 0:01f31e923fe2 31 * Arm Compiler 4/5
Pawel Zarembski 0:01f31e923fe2 32 */
Pawel Zarembski 0:01f31e923fe2 33 #if defined ( __CC_ARM )
Pawel Zarembski 0:01f31e923fe2 34 #include "cmsis_armcc.h"
Pawel Zarembski 0:01f31e923fe2 35
Pawel Zarembski 0:01f31e923fe2 36
Pawel Zarembski 0:01f31e923fe2 37 /*
Pawel Zarembski 0:01f31e923fe2 38 * Arm Compiler 6.6 LTM (armclang)
Pawel Zarembski 0:01f31e923fe2 39 */
Pawel Zarembski 0:01f31e923fe2 40 #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) && (__ARMCC_VERSION < 6100100)
Pawel Zarembski 0:01f31e923fe2 41 #include "cmsis_armclang_ltm.h"
Pawel Zarembski 0:01f31e923fe2 42
Pawel Zarembski 0:01f31e923fe2 43 /*
Pawel Zarembski 0:01f31e923fe2 44 * Arm Compiler above 6.10.1 (armclang)
Pawel Zarembski 0:01f31e923fe2 45 */
Pawel Zarembski 0:01f31e923fe2 46 #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6100100)
Pawel Zarembski 0:01f31e923fe2 47 #include "cmsis_armclang.h"
Pawel Zarembski 0:01f31e923fe2 48
Pawel Zarembski 0:01f31e923fe2 49
Pawel Zarembski 0:01f31e923fe2 50 /*
Pawel Zarembski 0:01f31e923fe2 51 * GNU Compiler
Pawel Zarembski 0:01f31e923fe2 52 */
Pawel Zarembski 0:01f31e923fe2 53 #elif defined ( __GNUC__ )
Pawel Zarembski 0:01f31e923fe2 54 #include "cmsis_gcc.h"
Pawel Zarembski 0:01f31e923fe2 55
Pawel Zarembski 0:01f31e923fe2 56
Pawel Zarembski 0:01f31e923fe2 57 /*
Pawel Zarembski 0:01f31e923fe2 58 * IAR Compiler
Pawel Zarembski 0:01f31e923fe2 59 */
Pawel Zarembski 0:01f31e923fe2 60 #elif defined ( __ICCARM__ )
Pawel Zarembski 0:01f31e923fe2 61 #include <cmsis_iccarm.h>
Pawel Zarembski 0:01f31e923fe2 62
Pawel Zarembski 0:01f31e923fe2 63
Pawel Zarembski 0:01f31e923fe2 64 /*
Pawel Zarembski 0:01f31e923fe2 65 * TI Arm Compiler
Pawel Zarembski 0:01f31e923fe2 66 */
Pawel Zarembski 0:01f31e923fe2 67 #elif defined ( __TI_ARM__ )
Pawel Zarembski 0:01f31e923fe2 68 #include <cmsis_ccs.h>
Pawel Zarembski 0:01f31e923fe2 69
Pawel Zarembski 0:01f31e923fe2 70 #ifndef __ASM
Pawel Zarembski 0:01f31e923fe2 71 #define __ASM __asm
Pawel Zarembski 0:01f31e923fe2 72 #endif
Pawel Zarembski 0:01f31e923fe2 73 #ifndef __INLINE
Pawel Zarembski 0:01f31e923fe2 74 #define __INLINE inline
Pawel Zarembski 0:01f31e923fe2 75 #endif
Pawel Zarembski 0:01f31e923fe2 76 #ifndef __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 77 #define __STATIC_INLINE static inline
Pawel Zarembski 0:01f31e923fe2 78 #endif
Pawel Zarembski 0:01f31e923fe2 79 #ifndef __STATIC_FORCEINLINE
Pawel Zarembski 0:01f31e923fe2 80 #define __STATIC_FORCEINLINE __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 81 #endif
Pawel Zarembski 0:01f31e923fe2 82 #ifndef __NO_RETURN
Pawel Zarembski 0:01f31e923fe2 83 #define __NO_RETURN __attribute__((noreturn))
Pawel Zarembski 0:01f31e923fe2 84 #endif
Pawel Zarembski 0:01f31e923fe2 85 #ifndef __USED
Pawel Zarembski 0:01f31e923fe2 86 #define __USED __attribute__((used))
Pawel Zarembski 0:01f31e923fe2 87 #endif
Pawel Zarembski 0:01f31e923fe2 88 #ifndef __WEAK
Pawel Zarembski 0:01f31e923fe2 89 #define __WEAK __attribute__((weak))
Pawel Zarembski 0:01f31e923fe2 90 #endif
Pawel Zarembski 0:01f31e923fe2 91 #ifndef __PACKED
Pawel Zarembski 0:01f31e923fe2 92 #define __PACKED __attribute__((packed))
Pawel Zarembski 0:01f31e923fe2 93 #endif
Pawel Zarembski 0:01f31e923fe2 94 #ifndef __PACKED_STRUCT
Pawel Zarembski 0:01f31e923fe2 95 #define __PACKED_STRUCT struct __attribute__((packed))
Pawel Zarembski 0:01f31e923fe2 96 #endif
Pawel Zarembski 0:01f31e923fe2 97 #ifndef __PACKED_UNION
Pawel Zarembski 0:01f31e923fe2 98 #define __PACKED_UNION union __attribute__((packed))
Pawel Zarembski 0:01f31e923fe2 99 #endif
Pawel Zarembski 0:01f31e923fe2 100 #ifndef __UNALIGNED_UINT32 /* deprecated */
Pawel Zarembski 0:01f31e923fe2 101 struct __attribute__((packed)) T_UINT32 { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 102 #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
Pawel Zarembski 0:01f31e923fe2 103 #endif
Pawel Zarembski 0:01f31e923fe2 104 #ifndef __UNALIGNED_UINT16_WRITE
Pawel Zarembski 0:01f31e923fe2 105 __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 106 #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 107 #endif
Pawel Zarembski 0:01f31e923fe2 108 #ifndef __UNALIGNED_UINT16_READ
Pawel Zarembski 0:01f31e923fe2 109 __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 110 #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 111 #endif
Pawel Zarembski 0:01f31e923fe2 112 #ifndef __UNALIGNED_UINT32_WRITE
Pawel Zarembski 0:01f31e923fe2 113 __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 114 #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 115 #endif
Pawel Zarembski 0:01f31e923fe2 116 #ifndef __UNALIGNED_UINT32_READ
Pawel Zarembski 0:01f31e923fe2 117 __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 118 #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 119 #endif
Pawel Zarembski 0:01f31e923fe2 120 #ifndef __ALIGNED
Pawel Zarembski 0:01f31e923fe2 121 #define __ALIGNED(x) __attribute__((aligned(x)))
Pawel Zarembski 0:01f31e923fe2 122 #endif
Pawel Zarembski 0:01f31e923fe2 123 #ifndef __RESTRICT
Pawel Zarembski 0:01f31e923fe2 124 #define __RESTRICT __restrict
Pawel Zarembski 0:01f31e923fe2 125 #endif
Pawel Zarembski 0:01f31e923fe2 126 #ifndef __COMPILER_BARRIER
Pawel Zarembski 0:01f31e923fe2 127 #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
Pawel Zarembski 0:01f31e923fe2 128 #define __COMPILER_BARRIER() (void)0
Pawel Zarembski 0:01f31e923fe2 129 #endif
Pawel Zarembski 0:01f31e923fe2 130
Pawel Zarembski 0:01f31e923fe2 131
Pawel Zarembski 0:01f31e923fe2 132 /*
Pawel Zarembski 0:01f31e923fe2 133 * TASKING Compiler
Pawel Zarembski 0:01f31e923fe2 134 */
Pawel Zarembski 0:01f31e923fe2 135 #elif defined ( __TASKING__ )
Pawel Zarembski 0:01f31e923fe2 136 /*
Pawel Zarembski 0:01f31e923fe2 137 * The CMSIS functions have been implemented as intrinsics in the compiler.
Pawel Zarembski 0:01f31e923fe2 138 * Please use "carm -?i" to get an up to date list of all intrinsics,
Pawel Zarembski 0:01f31e923fe2 139 * Including the CMSIS ones.
Pawel Zarembski 0:01f31e923fe2 140 */
Pawel Zarembski 0:01f31e923fe2 141
Pawel Zarembski 0:01f31e923fe2 142 #ifndef __ASM
Pawel Zarembski 0:01f31e923fe2 143 #define __ASM __asm
Pawel Zarembski 0:01f31e923fe2 144 #endif
Pawel Zarembski 0:01f31e923fe2 145 #ifndef __INLINE
Pawel Zarembski 0:01f31e923fe2 146 #define __INLINE inline
Pawel Zarembski 0:01f31e923fe2 147 #endif
Pawel Zarembski 0:01f31e923fe2 148 #ifndef __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 149 #define __STATIC_INLINE static inline
Pawel Zarembski 0:01f31e923fe2 150 #endif
Pawel Zarembski 0:01f31e923fe2 151 #ifndef __STATIC_FORCEINLINE
Pawel Zarembski 0:01f31e923fe2 152 #define __STATIC_FORCEINLINE __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 153 #endif
Pawel Zarembski 0:01f31e923fe2 154 #ifndef __NO_RETURN
Pawel Zarembski 0:01f31e923fe2 155 #define __NO_RETURN __attribute__((noreturn))
Pawel Zarembski 0:01f31e923fe2 156 #endif
Pawel Zarembski 0:01f31e923fe2 157 #ifndef __USED
Pawel Zarembski 0:01f31e923fe2 158 #define __USED __attribute__((used))
Pawel Zarembski 0:01f31e923fe2 159 #endif
Pawel Zarembski 0:01f31e923fe2 160 #ifndef __WEAK
Pawel Zarembski 0:01f31e923fe2 161 #define __WEAK __attribute__((weak))
Pawel Zarembski 0:01f31e923fe2 162 #endif
Pawel Zarembski 0:01f31e923fe2 163 #ifndef __PACKED
Pawel Zarembski 0:01f31e923fe2 164 #define __PACKED __packed__
Pawel Zarembski 0:01f31e923fe2 165 #endif
Pawel Zarembski 0:01f31e923fe2 166 #ifndef __PACKED_STRUCT
Pawel Zarembski 0:01f31e923fe2 167 #define __PACKED_STRUCT struct __packed__
Pawel Zarembski 0:01f31e923fe2 168 #endif
Pawel Zarembski 0:01f31e923fe2 169 #ifndef __PACKED_UNION
Pawel Zarembski 0:01f31e923fe2 170 #define __PACKED_UNION union __packed__
Pawel Zarembski 0:01f31e923fe2 171 #endif
Pawel Zarembski 0:01f31e923fe2 172 #ifndef __UNALIGNED_UINT32 /* deprecated */
Pawel Zarembski 0:01f31e923fe2 173 struct __packed__ T_UINT32 { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 174 #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
Pawel Zarembski 0:01f31e923fe2 175 #endif
Pawel Zarembski 0:01f31e923fe2 176 #ifndef __UNALIGNED_UINT16_WRITE
Pawel Zarembski 0:01f31e923fe2 177 __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 178 #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 179 #endif
Pawel Zarembski 0:01f31e923fe2 180 #ifndef __UNALIGNED_UINT16_READ
Pawel Zarembski 0:01f31e923fe2 181 __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 182 #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 183 #endif
Pawel Zarembski 0:01f31e923fe2 184 #ifndef __UNALIGNED_UINT32_WRITE
Pawel Zarembski 0:01f31e923fe2 185 __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 186 #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 187 #endif
Pawel Zarembski 0:01f31e923fe2 188 #ifndef __UNALIGNED_UINT32_READ
Pawel Zarembski 0:01f31e923fe2 189 __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 190 #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 191 #endif
Pawel Zarembski 0:01f31e923fe2 192 #ifndef __ALIGNED
Pawel Zarembski 0:01f31e923fe2 193 #define __ALIGNED(x) __align(x)
Pawel Zarembski 0:01f31e923fe2 194 #endif
Pawel Zarembski 0:01f31e923fe2 195 #ifndef __RESTRICT
Pawel Zarembski 0:01f31e923fe2 196 #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
Pawel Zarembski 0:01f31e923fe2 197 #define __RESTRICT
Pawel Zarembski 0:01f31e923fe2 198 #endif
Pawel Zarembski 0:01f31e923fe2 199 #ifndef __COMPILER_BARRIER
Pawel Zarembski 0:01f31e923fe2 200 #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
Pawel Zarembski 0:01f31e923fe2 201 #define __COMPILER_BARRIER() (void)0
Pawel Zarembski 0:01f31e923fe2 202 #endif
Pawel Zarembski 0:01f31e923fe2 203
Pawel Zarembski 0:01f31e923fe2 204
Pawel Zarembski 0:01f31e923fe2 205 /*
Pawel Zarembski 0:01f31e923fe2 206 * COSMIC Compiler
Pawel Zarembski 0:01f31e923fe2 207 */
Pawel Zarembski 0:01f31e923fe2 208 #elif defined ( __CSMC__ )
Pawel Zarembski 0:01f31e923fe2 209 #include <cmsis_csm.h>
Pawel Zarembski 0:01f31e923fe2 210
Pawel Zarembski 0:01f31e923fe2 211 #ifndef __ASM
Pawel Zarembski 0:01f31e923fe2 212 #define __ASM _asm
Pawel Zarembski 0:01f31e923fe2 213 #endif
Pawel Zarembski 0:01f31e923fe2 214 #ifndef __INLINE
Pawel Zarembski 0:01f31e923fe2 215 #define __INLINE inline
Pawel Zarembski 0:01f31e923fe2 216 #endif
Pawel Zarembski 0:01f31e923fe2 217 #ifndef __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 218 #define __STATIC_INLINE static inline
Pawel Zarembski 0:01f31e923fe2 219 #endif
Pawel Zarembski 0:01f31e923fe2 220 #ifndef __STATIC_FORCEINLINE
Pawel Zarembski 0:01f31e923fe2 221 #define __STATIC_FORCEINLINE __STATIC_INLINE
Pawel Zarembski 0:01f31e923fe2 222 #endif
Pawel Zarembski 0:01f31e923fe2 223 #ifndef __NO_RETURN
Pawel Zarembski 0:01f31e923fe2 224 // NO RETURN is automatically detected hence no warning here
Pawel Zarembski 0:01f31e923fe2 225 #define __NO_RETURN
Pawel Zarembski 0:01f31e923fe2 226 #endif
Pawel Zarembski 0:01f31e923fe2 227 #ifndef __USED
Pawel Zarembski 0:01f31e923fe2 228 #warning No compiler specific solution for __USED. __USED is ignored.
Pawel Zarembski 0:01f31e923fe2 229 #define __USED
Pawel Zarembski 0:01f31e923fe2 230 #endif
Pawel Zarembski 0:01f31e923fe2 231 #ifndef __WEAK
Pawel Zarembski 0:01f31e923fe2 232 #define __WEAK __weak
Pawel Zarembski 0:01f31e923fe2 233 #endif
Pawel Zarembski 0:01f31e923fe2 234 #ifndef __PACKED
Pawel Zarembski 0:01f31e923fe2 235 #define __PACKED @packed
Pawel Zarembski 0:01f31e923fe2 236 #endif
Pawel Zarembski 0:01f31e923fe2 237 #ifndef __PACKED_STRUCT
Pawel Zarembski 0:01f31e923fe2 238 #define __PACKED_STRUCT @packed struct
Pawel Zarembski 0:01f31e923fe2 239 #endif
Pawel Zarembski 0:01f31e923fe2 240 #ifndef __PACKED_UNION
Pawel Zarembski 0:01f31e923fe2 241 #define __PACKED_UNION @packed union
Pawel Zarembski 0:01f31e923fe2 242 #endif
Pawel Zarembski 0:01f31e923fe2 243 #ifndef __UNALIGNED_UINT32 /* deprecated */
Pawel Zarembski 0:01f31e923fe2 244 @packed struct T_UINT32 { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 245 #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
Pawel Zarembski 0:01f31e923fe2 246 #endif
Pawel Zarembski 0:01f31e923fe2 247 #ifndef __UNALIGNED_UINT16_WRITE
Pawel Zarembski 0:01f31e923fe2 248 __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 249 #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 250 #endif
Pawel Zarembski 0:01f31e923fe2 251 #ifndef __UNALIGNED_UINT16_READ
Pawel Zarembski 0:01f31e923fe2 252 __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
Pawel Zarembski 0:01f31e923fe2 253 #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 254 #endif
Pawel Zarembski 0:01f31e923fe2 255 #ifndef __UNALIGNED_UINT32_WRITE
Pawel Zarembski 0:01f31e923fe2 256 __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 257 #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
Pawel Zarembski 0:01f31e923fe2 258 #endif
Pawel Zarembski 0:01f31e923fe2 259 #ifndef __UNALIGNED_UINT32_READ
Pawel Zarembski 0:01f31e923fe2 260 __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
Pawel Zarembski 0:01f31e923fe2 261 #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
Pawel Zarembski 0:01f31e923fe2 262 #endif
Pawel Zarembski 0:01f31e923fe2 263 #ifndef __ALIGNED
Pawel Zarembski 0:01f31e923fe2 264 #warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
Pawel Zarembski 0:01f31e923fe2 265 #define __ALIGNED(x)
Pawel Zarembski 0:01f31e923fe2 266 #endif
Pawel Zarembski 0:01f31e923fe2 267 #ifndef __RESTRICT
Pawel Zarembski 0:01f31e923fe2 268 #warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
Pawel Zarembski 0:01f31e923fe2 269 #define __RESTRICT
Pawel Zarembski 0:01f31e923fe2 270 #endif
Pawel Zarembski 0:01f31e923fe2 271 #ifndef __COMPILER_BARRIER
Pawel Zarembski 0:01f31e923fe2 272 #warning No compiler specific solution for __COMPILER_BARRIER. __COMPILER_BARRIER is ignored.
Pawel Zarembski 0:01f31e923fe2 273 #define __COMPILER_BARRIER() (void)0
Pawel Zarembski 0:01f31e923fe2 274 #endif
Pawel Zarembski 0:01f31e923fe2 275
Pawel Zarembski 0:01f31e923fe2 276
Pawel Zarembski 0:01f31e923fe2 277 #else
Pawel Zarembski 0:01f31e923fe2 278 #error Unknown compiler.
Pawel Zarembski 0:01f31e923fe2 279 #endif
Pawel Zarembski 0:01f31e923fe2 280
Pawel Zarembski 0:01f31e923fe2 281
Pawel Zarembski 0:01f31e923fe2 282 #endif /* __CMSIS_COMPILER_H */
Pawel Zarembski 0:01f31e923fe2 283