Skip to content

Commit 2748dd6

Browse files
Merge pull request electro-smith#189 from electro-smith/new_clock_tree
New Clock Tree and Upgraded HAL
2 parents 0c753cb + 37c6fc4 commit 2748dd6

File tree

861 files changed

+285165
-24296
lines changed

Some content is hidden

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

861 files changed

+285165
-24296
lines changed

Drivers/CMSIS/Core/Include/cmsis_armcc.h

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

Drivers/CMSIS/Core/Include/cmsis_armclang.h

Lines changed: 1869 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 266 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,266 @@
1+
/**************************************************************************//**
2+
* @file cmsis_compiler.h
3+
* @brief CMSIS compiler generic header file
4+
* @version V5.0.4
5+
* @date 10. January 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 (armclang)
39+
*/
40+
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
41+
#include "cmsis_armclang.h"
42+
43+
44+
/*
45+
* GNU Compiler
46+
*/
47+
#elif defined ( __GNUC__ )
48+
#include "cmsis_gcc.h"
49+
50+
51+
/*
52+
* IAR Compiler
53+
*/
54+
#elif defined ( __ICCARM__ )
55+
#include <cmsis_iccarm.h>
56+
57+
58+
/*
59+
* TI Arm Compiler
60+
*/
61+
#elif defined ( __TI_ARM__ )
62+
#include <cmsis_ccs.h>
63+
64+
#ifndef __ASM
65+
#define __ASM __asm
66+
#endif
67+
#ifndef __INLINE
68+
#define __INLINE inline
69+
#endif
70+
#ifndef __STATIC_INLINE
71+
#define __STATIC_INLINE static inline
72+
#endif
73+
#ifndef __STATIC_FORCEINLINE
74+
#define __STATIC_FORCEINLINE __STATIC_INLINE
75+
#endif
76+
#ifndef __NO_RETURN
77+
#define __NO_RETURN __attribute__((noreturn))
78+
#endif
79+
#ifndef __USED
80+
#define __USED __attribute__((used))
81+
#endif
82+
#ifndef __WEAK
83+
#define __WEAK __attribute__((weak))
84+
#endif
85+
#ifndef __PACKED
86+
#define __PACKED __attribute__((packed))
87+
#endif
88+
#ifndef __PACKED_STRUCT
89+
#define __PACKED_STRUCT struct __attribute__((packed))
90+
#endif
91+
#ifndef __PACKED_UNION
92+
#define __PACKED_UNION union __attribute__((packed))
93+
#endif
94+
#ifndef __UNALIGNED_UINT32 /* deprecated */
95+
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
96+
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
97+
#endif
98+
#ifndef __UNALIGNED_UINT16_WRITE
99+
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
100+
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val))
101+
#endif
102+
#ifndef __UNALIGNED_UINT16_READ
103+
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
104+
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
105+
#endif
106+
#ifndef __UNALIGNED_UINT32_WRITE
107+
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
108+
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
109+
#endif
110+
#ifndef __UNALIGNED_UINT32_READ
111+
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
112+
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
113+
#endif
114+
#ifndef __ALIGNED
115+
#define __ALIGNED(x) __attribute__((aligned(x)))
116+
#endif
117+
#ifndef __RESTRICT
118+
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
119+
#define __RESTRICT
120+
#endif
121+
122+
123+
/*
124+
* TASKING Compiler
125+
*/
126+
#elif defined ( __TASKING__ )
127+
/*
128+
* The CMSIS functions have been implemented as intrinsics in the compiler.
129+
* Please use "carm -?i" to get an up to date list of all intrinsics,
130+
* Including the CMSIS ones.
131+
*/
132+
133+
#ifndef __ASM
134+
#define __ASM __asm
135+
#endif
136+
#ifndef __INLINE
137+
#define __INLINE inline
138+
#endif
139+
#ifndef __STATIC_INLINE
140+
#define __STATIC_INLINE static inline
141+
#endif
142+
#ifndef __STATIC_FORCEINLINE
143+
#define __STATIC_FORCEINLINE __STATIC_INLINE
144+
#endif
145+
#ifndef __NO_RETURN
146+
#define __NO_RETURN __attribute__((noreturn))
147+
#endif
148+
#ifndef __USED
149+
#define __USED __attribute__((used))
150+
#endif
151+
#ifndef __WEAK
152+
#define __WEAK __attribute__((weak))
153+
#endif
154+
#ifndef __PACKED
155+
#define __PACKED __packed__
156+
#endif
157+
#ifndef __PACKED_STRUCT
158+
#define __PACKED_STRUCT struct __packed__
159+
#endif
160+
#ifndef __PACKED_UNION
161+
#define __PACKED_UNION union __packed__
162+
#endif
163+
#ifndef __UNALIGNED_UINT32 /* deprecated */
164+
struct __packed__ T_UINT32 { uint32_t v; };
165+
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
166+
#endif
167+
#ifndef __UNALIGNED_UINT16_WRITE
168+
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
169+
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
170+
#endif
171+
#ifndef __UNALIGNED_UINT16_READ
172+
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
173+
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
174+
#endif
175+
#ifndef __UNALIGNED_UINT32_WRITE
176+
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
177+
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
178+
#endif
179+
#ifndef __UNALIGNED_UINT32_READ
180+
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
181+
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
182+
#endif
183+
#ifndef __ALIGNED
184+
#define __ALIGNED(x) __align(x)
185+
#endif
186+
#ifndef __RESTRICT
187+
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
188+
#define __RESTRICT
189+
#endif
190+
191+
192+
/*
193+
* COSMIC Compiler
194+
*/
195+
#elif defined ( __CSMC__ )
196+
#include <cmsis_csm.h>
197+
198+
#ifndef __ASM
199+
#define __ASM _asm
200+
#endif
201+
#ifndef __INLINE
202+
#define __INLINE inline
203+
#endif
204+
#ifndef __STATIC_INLINE
205+
#define __STATIC_INLINE static inline
206+
#endif
207+
#ifndef __STATIC_FORCEINLINE
208+
#define __STATIC_FORCEINLINE __STATIC_INLINE
209+
#endif
210+
#ifndef __NO_RETURN
211+
// NO RETURN is automatically detected hence no warning here
212+
#define __NO_RETURN
213+
#endif
214+
#ifndef __USED
215+
#warning No compiler specific solution for __USED. __USED is ignored.
216+
#define __USED
217+
#endif
218+
#ifndef __WEAK
219+
#define __WEAK __weak
220+
#endif
221+
#ifndef __PACKED
222+
#define __PACKED @packed
223+
#endif
224+
#ifndef __PACKED_STRUCT
225+
#define __PACKED_STRUCT @packed struct
226+
#endif
227+
#ifndef __PACKED_UNION
228+
#define __PACKED_UNION @packed union
229+
#endif
230+
#ifndef __UNALIGNED_UINT32 /* deprecated */
231+
@packed struct T_UINT32 { uint32_t v; };
232+
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
233+
#endif
234+
#ifndef __UNALIGNED_UINT16_WRITE
235+
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
236+
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
237+
#endif
238+
#ifndef __UNALIGNED_UINT16_READ
239+
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
240+
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
241+
#endif
242+
#ifndef __UNALIGNED_UINT32_WRITE
243+
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
244+
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
245+
#endif
246+
#ifndef __UNALIGNED_UINT32_READ
247+
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
248+
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
249+
#endif
250+
#ifndef __ALIGNED
251+
#warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
252+
#define __ALIGNED(x)
253+
#endif
254+
#ifndef __RESTRICT
255+
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
256+
#define __RESTRICT
257+
#endif
258+
259+
260+
#else
261+
#error Unknown compiler.
262+
#endif
263+
264+
265+
#endif /* __CMSIS_COMPILER_H */
266+

0 commit comments

Comments
 (0)