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