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