Skip to content

Commit f357451

Browse files
Pritchard, Michael (A&F, Black Mountain)Pritchard, Michael (A&F, Black Mountain)
authored andcommitted
convert to platformio framework
1 parent 149b648 commit f357451

File tree

854 files changed

+329225
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

854 files changed

+329225
-0
lines changed

CMSIS/ARM.CMSIS.pdsc

Lines changed: 4241 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/CMSIS/Core/Include/cmsis_armcc.h

Lines changed: 869 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/CMSIS/Core/Include/cmsis_armclang.h

Lines changed: 1420 additions & 0 deletions
Large diffs are not rendered by default.

CMSIS/CMSIS/Core/Include/cmsis_armclang_ltm.h

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

0 commit comments

Comments
 (0)