1 /*
2  * Copyright (c) 2019-2022 Arm Limited
3  * Copyright (c) 2020 Nuvoton Technology Corp. All rights reserved.
4  *
5  * Licensed under the Apache License Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing software
12  * distributed under the License is distributed on an "AS IS" BASIS
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef __CMSIS_H__
19 #define __CMSIS_H__
20 
21 /* ======================  Start of section using anonymous unions  ============== */
22 #if   defined (__CC_ARM)
23   #pragma push
24   #pragma anon_unions
25 #elif defined (__ICCARM__)
26   #pragma language=extended
27 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
28   #pragma clang diagnostic push
29   #pragma clang diagnostic ignored "-Wc11-extensions"
30   #pragma clang diagnostic ignored "-Wreserved-id-macro"
31 #elif defined (__GNUC__)
32   /* anonymous unions are enabled by default */
33 #elif defined (__TMS470__)
34   /* anonymous unions are enabled by default */
35 #elif defined (__TASKING__)
36   #pragma warning 586
37 #elif defined (__CSMC__)
38   /* anonymous unions are enabled by default */
39 #else
40   #warning Not supported compiler type
41 #endif
42 
43 
44 /* ========  Configuration of Core Peripherals  ================================== */
45 #define __CM23_REV                0x0100U   /* Core revision r1p0 */
46 #define __SAUREGION_PRESENT       1U        /* SAU regions present */
47 #define __MPU_PRESENT             1U        /* MPU present */
48 #define __VTOR_PRESENT            1U        /* VTOR present */
49 #define __NVIC_PRIO_BITS          2U        /* Number of Bits used for Priority Levels */
50 #define __Vendor_SysTickConfig    0U        /* Set to 1 if different SysTick Config is used */
51 
52 #include "platform_description.h"
53 #include "system_core_init.h"
54 #include <core_cm23.h>    /*!< ARM Cortex-M23 processor and core peripherals */
55 
56 /* =====================  End of section using anonymous unions  ================ */
57 #if   defined (__CC_ARM)
58   #pragma pop
59 #elif defined (__ICCARM__)
60   /* leave anonymous unions enabled */
61 #elif (__ARMCC_VERSION >= 6010050)
62   #pragma clang diagnostic pop
63 #elif defined (__GNUC__)
64   /* anonymous unions are enabled by default */
65 #elif defined (__TMS470__)
66   /* anonymous unions are enabled by default */
67 #elif defined (__TASKING__)
68   #pragma warning restore
69 #elif defined (__CSMC__)
70   /* anonymous unions are enabled by default */
71 #else
72   #warning Not supported compiler type
73 #endif
74 
75 #endif  /* __CMSIS_H__ */
76