1 /* 2 * Copyright (C) 2016 The Android Open Source Project 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 _CMSIS_H_ 18 #define _CMSIS_H_ 19 20 21 #ifdef __cplusplus 22 extern "C" { 23 #endif 24 25 #define __NVIC_PRIO_BITS 4 26 #define __FPU_PRESENT 1 27 #define __MPU_PRESENT 1 28 29 30 31 typedef enum IRQn 32 { 33 /* ------------------- Cortex Processor Exceptions Numbers ------------------ */ 34 NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ 35 HardFault_IRQn = -13, /*!< 3 HardFault Interrupt */ 36 MemoryManagement_IRQn = -12, /*!< 4 Memory Management Interrupt */ 37 BusFault_IRQn = -11, /*!< 5 Bus Fault Interrupt */ 38 UsageFault_IRQn = -10, /*!< 6 Usage Fault Interrupt */ 39 SVCall_IRQn = -5, /*!< 11 SV Call Interrupt */ 40 DebugMonitor_IRQn = -4, /*!< 12 Debug Monitor Interrupt */ 41 PendSV_IRQn = -2, /*!< 14 Pend SV Interrupt */ 42 SysTick_IRQn = -1, /*!< 15 System Tick Interrupt */ 43 44 /* ---------------------- STM32F411 Specific Interrupt Numbers ----------------- */ 45 WWDG_IRQn = 0, 46 PVD_IRQn = 1, 47 TAMP_STAMP_IRQn = 2, 48 RTC_WKUP_IRQn = 3, 49 FLASH_IRQn = 4, 50 RCC_IRQn = 5, 51 EXTI0_IRQn = 6, 52 EXTI1_IRQn = 7, 53 EXTI2_IRQn = 8, 54 EXTI3_IRQn = 9, 55 EXTI4_IRQn = 10, 56 DMA1_Stream0_IRQn = 11, 57 DMA1_Stream1_IRQn = 12, 58 DMA1_Stream2_IRQn = 13, 59 DMA1_Stream3_IRQn = 14, 60 DMA1_Stream4_IRQn = 15, 61 DMA1_Stream5_IRQn = 16, 62 DMA1_Stream6_IRQn = 17, 63 ADC_IRQn = 18, 64 CAN1_TX_IRQn = 19, 65 CAN1_RX0_IRQn = 20, 66 CAN1_RX1_IRQn = 21, 67 CAN1_SCE_IRQn = 22, 68 EXTI9_5_IRQn = 23, 69 TIM1_BRK_TIM9_IRQn = 24, 70 TIM1_UP_TIM10_IRQn = 25, 71 TIM1_TRG_COM_TIM11_IRQn = 26, 72 TIM1_CC_IRQn = 27, 73 TIM2_IRQn = 28, 74 TIM3_IRQn = 29, 75 TIM4_IRQn = 30, 76 I2C1_EV_IRQn = 31, 77 I2C1_ER_IRQn = 32, 78 I2C2_EV_IRQn = 33, 79 I2C2_ER_IRQn = 34, 80 SPI1_IRQn = 35, 81 SPI2_IRQn = 36, 82 USART1_IRQn = 37, 83 USART2_IRQn = 38, 84 USART3_IRQn = 39, 85 EXTI15_10_IRQn = 40, 86 RTC_Alarm_IRQn = 41, 87 OTG_FS_WKUP_IRQn = 42, 88 TIM8_BRK_TIM12_IRQn = 43, 89 TIM8_UP_TIM13_IRQn = 44, 90 TIM8_TRG_COM_TIM14_IRQn = 45, 91 TIM8_CC_IRQn = 46, 92 DMA1_Stream7_IRQn = 47, 93 FSMC_IRQn = 48, 94 SDIO_IRQn = 49, 95 TIM5_IRQn = 50, 96 SPI3_IRQn = 51, 97 UART4_IRQn = 52, 98 UART5_IRQn = 53, 99 TIM6_DAC_IRQn = 54, 100 TIM7_IRQn = 55, 101 DMA2_Stream0_IRQn = 56, 102 DMA2_Stream1_IRQn = 57, 103 DMA2_Stream2_IRQn = 58, 104 DMA2_Stream3_IRQn = 59, 105 DMA2_Stream4_IRQn = 60, 106 ETH_IRQn = 61, 107 ETH_WKUP_IRQn = 62, 108 CAN2_TX_IRQn = 63, 109 CAN2_RX0_IRQn = 64, 110 CAN2_RX1_IRQn = 65, 111 CAN2_SCE_IRQn = 66, 112 OTG_FS_IRQn = 67, 113 DMA2_Stream5_IRQn = 68, 114 DMA2_Stream6_IRQn = 69, 115 DMA2_Stream7_IRQn = 70, 116 USART6_IRQn = 71, 117 I2C3_EV_IRQn = 72, 118 I2C3_ER_IRQn = 73, 119 OTG_HS_EP1_OUT_IRQn = 74, 120 OTG_HS_EP1_IN_IRQn = 75, 121 OTG_HS_WKUP_IRQn = 76, 122 OTG_HS_IRQn = 77, 123 DCMI_IRQn = 78, 124 CRYP_IRQn = 79, 125 HASH_RNG_IRQn = 80, 126 FPU_IRQn = 81, 127 NUM_INTERRUPTS 128 } IRQn_Type; 129 130 #include <cpu/cmsis.h> 131 132 #ifdef __cplusplus 133 } 134 #endif 135 136 137 #endif 138 139