IRQ Usage of TX16S¶
| IRQn | IRQ handler acronym | Used for | Priority | Prio Addr | Description | Address |
|---|---|---|---|---|---|---|
| 0 | WWDG_IRQHandler | - | - | 0xE000E400 | Window WatchDog | 0x00000040 |
| 1 | PVD_IRQHandler | - | - | 0xE000E401 | PVD through EXTI Line detection | 0x00000044 |
| 2 | TAMP_STAMP_IRQHandler | - | - | 0xE000E402 | Tamper and TimeStamps through the EXTI line | 0x00000048 |
| 3 | RTC_WKUP_IRQHandler | - | - | 0xE000E403 | RTC Wakeup through the EXTI line | 0x0000004C |
| 4 | FLASH_IRQHandler | - | - | 0xE000E404 | FLASH | 0x00000050 |
| 5 | RCC_IRQHandler | - | - | 0xE000E405 | RCC | 0x00000054 |
| 6 | EXTI0_IRQHandler | - | - | 0xE000E406 | EXTI Line0 | 0x00000058 |
| 7 | EXTI1_IRQHandler | - | - | 0xE000E407 | EXTI Line1 | 0x0000005C |
| 8 | EXTI2_IRQHandler | TOUCH_INT_EXTI | 9 | 0xE000E408 | EXTI Line2 | 0x00000060 |
| 9 | EXTI3_IRQHandler | - | - | 0xE000E409 | EXTI Line3 | 0x00000064 |
| 10 | EXTI4_IRQHandler | - | - | 0xE000E40A | EXTI Line4 | 0x00000068 |
| 11 | DMA1_Stream0_IRQHandler | - | - | 0xE000E40B | DMA1 Stream 0 | 0x0000006C |
| 12 | DMA1_Stream1_IRQHandler (only HARDWARE_EXTERNAL_ACCESS_MOD) | EXTMODULE_TIMER_DMA | 7 | 0xE000E40C | DMA1 Stream 1 | 0x00000070 |
| 13 | DMA1_Stream2_IRQHandler | - | - | 0xE000E40D | DMA1 Stream 2 | 0x00000074 |
| 14 | DMA1_Stream3_IRQHandler | - | - | 0xE000E40E | DMA1 Stream 3 | 0x00000078 |
| 15 | DMA1_Stream4_IRQHandler | FLYSKY_HALL_TX_DMA | 7 | 0xE000E40F | DMA1 Stream 4 | 0x0000007C |
| 16 | DMA1_Stream5_IRQHandler | AUDIO_DMA | 7 | 0xE000E410 | DMA1 Stream 5 | 0x00000080 |
| 17 | DMA1_Stream6_IRQHandler | TELEMETRY_DMA_TX | 1 | 0xE000E411 | DMA1 Stream 6 | 0x00000084 |
| 18 | ADC_IRQHandler | - | - | 0xE000E412 | ADC1, ADC2 and ADC3s | 0x00000088 |
| 19 | CAN1_TX_IRQHandler | - | - | 0xE000E413 | CAN1 TX | 0x0000008C |
| 20 | CAN1_RX0_IRQHandler | - | - | 0xE000E414 | CAN1 RX0 | 0x00000090 |
| 21 | CAN1_RX1_IRQHandler | - | - | 0xE000E415 | CAN1 RX1 | 0x00000094 |
| 22 | CAN1_SCE_IRQHandler | - | - | 0xE000E416 | CAN1 SCE | 0x00000098 |
| 23 | EXTI9_5_IRQHandler | TELEMETRY_EXTI | 0 | 0xE000E417 | External Line[9:5]s | 0x0000009C |
| 24 | TIM1_BRK_TIM9_IRQHandler | - | - | 0xE000E418 | TIM1 Break and TIM9 | 0x000000A0 |
| 25 | TIM1_UP_TIM10_IRQHandler | - | - | 0xE000E419 | TIM1 Update and TIM10 | 0x000000A4 |
| 26 | TIM1_TRG_COM_TIM11_IRQHandler | TELEMETRY_TIMER | 0 | 0xE000E41A | TIM1 Trigger and Commutation and TIM11 | 0x000000A8 |
| 27 | TIM1_CC_IRQHandler | EXTMODULE_TIMER | 7 | 0xE000E41B | TIM1 Capture Compare | 0x000000AC |
| 28 | TIM2_IRQHandler (only HARDWARE_EXTERNAL_ACCESS_MOD) | EXTMODULE_TIMER | 7 | 0xE000E41C | TIM2 | 0x000000B0 |
| 29 | TIM3_IRQHandler | TRAINER_TIMER | 7 | 0xE000E41D | TIM3 | 0x000000B4 |
| 30 | TIM4_IRQHandler | ROTARY_ENCODER_TIMER | 7 | 0xE000E41E | TIM4 | 0x000000B8 |
| 31 | I2C1_EV_IRQHandler | - | - | 0xE000E41F | I2C1 Event | 0x000000BC |
| 32 | I2C1_ER_IRQHandler | - | - | 0xE000E420 | I2C1 Error | 0x000000C0 |
| 33 | I2C2_EV_IRQHandler | - | - | 0xE000E421 | I2C2 Event | 0x000000C4 |
| 34 | I2C2_ER_IRQHandler | - | - | 0xE000E422 | I2C2 Error | 0x000000C8 |
| 35 | SPI1_IRQHandler | - | - | 0xE000E423 | SPI1 | 0x000000CC |
| 36 | SPI2_IRQHandler | - | - | 0xE000E424 | SPI2 | 0x000000D0 |
| 37 | USART1_IRQHandler | INTMODULE_USART | 6 | 0xE000E425 | USART1 | 0x000000D4 |
| 38 | USART2_IRQHandler | TELEMETRY_USART | 6 | 0xE000E426 | USART2 | 0x000000D8 |
| 39 | USART3_IRQHandler | AUX_SERIAL_USART (EXTMODULE_USART with HARDWARE_EXTERNAL_ACCESS_MOD) | 7 (6 with HARDWARE_EXTERNAL_ACCESS_MOD) | 0xE000E427 | USART3 | 0x000000DC |
| 40 | EXTI15_10_IRQHandler | ROTARY_ENCODER_EXTI and INTMODULE_HEARTBEAT | rotaryEncoderInit() sets to 8, but is overridden by init_intmodule_heartbeat() to 5 | 0xE000E428 | External Line[15:10]s | 0x000000E0 |
| 41 | RTC_Alarm_IRQHandler | - | - | 0xE000E429 | RTC Alarm (A and B) through EXTI Line | 0x000000E4 |
| 42 | OTG_FS_WKUP_IRQHandler | - | - | 0xE000E42A | USB OTG FS Wakeup through EXTI line | 0x000000E8 |
| 43 | TIM8_BRK_TIM12_IRQHandler | - | - | 0xE000E42B | TIM8 Break and TIM12 | 0x000000EC |
| 44 | TIM8_UP_TIM13_IRQHandler | MIXER_SCHEDULER_TIMER | 5 | 0xE000E42C | TIM8 Update and TIM13 | 0x000000F0 |
| 45 | TIM8_TRG_COM_TIM14_IRQHandler | INTERRUPT_xMS | 4 (bootloader uses 0) | 0xE000E42D | TIM8 Trigger and Commutation and TIM14 | 0x000000F4 |
| 46 | TIM8_CC_IRQHandler | - | - | 0xE000E42E | TIM8 Capture Compare | 0x000000F8 |
| 47 | DMA1_Stream7_IRQHandler | - | - | 0xE000E42F | DMA1 Stream7 | 0x000000FC |
| 48 | FSMC_IRQHandler | - | - | 0xE000E430 | FSMC | 0x00000100 |
| 49 | SDIO_IRQHandler | SDIO | 0 | 0xE000E431 | SDIO | 0x00000104 |
| 50 | TIM5_IRQHandler | - | - | 0xE000E432 | TIM5 | 0x00000108 |
| 51 | SPI3_IRQHandler | - | - | 0xE000E433 | SPI3 | 0x0000010C |
| 52 | UART4_IRQHandler | - | - | 0xE000E434 | UART4 | 0x00000110 |
| 53 | UART5_IRQHandler | - | - | 0xE000E435 | UART5 | 0x00000114 |
| 54 | TIM6_DAC_IRQHandler | AUDIO_TIM | 7 | 0xE000E436 | TIM6 and DAC1&2 underrun errors | 0x00000118 |
| 55 | TIM7_IRQHandler | - | - | 0xE000E437 | TIM7 | 0x0000011C |
| 56 | DMA2_Stream0_IRQHandler | - | - | 0xE000E438 | DMA2 Stream 0 | 0x00000120 |
| 57 | DMA2_Stream1_IRQHandler | - | - | 0xE000E439 | DMA2 Stream 1 | 0x00000124 |
| 58 | DMA2_Stream2_IRQHandler | - | - | 0xE000E43A | DMA2 Stream 2 | 0x00000128 |
| 59 | DMA2_Stream3_IRQHandler | SD_SDIO_DMA | 1 | 0xE000E43B | DMA2 Stream 3 | 0x0000012C |
| 60 | DMA2_Stream4_IRQHandler | - | - | 0xE000E43C | DMA2 Stream 4 | 0x00000130 |
| 61 | ETH_IRQHandler | - | - | 0xE000E43D | Ethernet | 0x00000134 |
| 62 | ETH_WKUP_IRQHandler | - | - | 0xE000E43E | Ethernet Wakeup through EXTI line | 0x00000138 |
| 63 | CAN2_TX_IRQHandler | - | - | 0xE000E43F | CAN2 TX | 0x0000013C |
| 64 | CAN2_RX0_IRQHandler | - | - | 0xE000E440 | CAN2 RX0 | 0x00000140 |
| 65 | CAN2_RX1_IRQHandler | - | - | 0xE000E441 | CAN2 RX1 | 0x00000144 |
| 66 | CAN2_SCE_IRQHandler | - | - | 0xE000E442 | CAN2 SCE | 0x00000148 |
| 67 | OTG_FS_IRQHandler | OTG_FS (USB) | 11 | 0xE000E443 | USB OTG FS | 0x0000014C |
| 68 | DMA2_Stream5_IRQHandler | EXTMODULE_TIMER_DMA | 7 | 0xE000E444 | DMA2 Stream 5 | 0x00000150 |
| 69 | DMA2_Stream6_IRQHandler | - | - | 0xE000E445 | DMA2 Stream 6 | 0x00000154 |
| 70 | DMA2_Stream7_IRQHandler | INTMODULE_DMA | 7 | 0xE000E446 | DMA2 Stream 7 | 0x00000158 |
| 71 | USART6_IRQHandler | AUX2_SERIAL_USART (optional GPS_USART and BT_USART) | 7 (GPS 9, BT 6) | 0xE000E447 | USART6 | 0x0000015C |
| 72 | I2C3_EV_IRQHandler | - | - | 0xE000E448 | I2C3 event | 0x00000160 |
| 73 | I2C3_ER_IRQHandler | - | - | 0xE000E449 | I2C3 error | 0x00000164 |
| 74 | OTG_HS_EP1_OUT_IRQHandler | - | - | 0xE000E44A | USB OTG HS End Point 1 Out | 0x00000168 |
| 75 | OTG_HS_EP1_IN_IRQHandler | - | - | 0xE000E44B | USB OTG HS End Point 1 In | 0x0000016C |
| 76 | OTG_HS_WKUP_IRQHandler | - | - | 0xE000E44C | USB OTG HS Wakeup through EXTI | 0x00000170 |
| 77 | OTG_HS_IRQHandler | - | - | 0xE000E44D | USB OTG HS | 0x00000174 |
| 78 | DCMI_IRQHandler | - | - | 0xE000E44E | DCMI | 0x00000178 |
| 79 | CRYP_IRQHandler | - | - | 0xE000E44F | CRYP crypto | 0x0000017C |
| 80 | HASH_RNG_IRQHandler | - | - | 0xE000E450 | Hash and Rng | 0x00000180 |
| 81 | FPU_IRQHandler | - | - | 0xE000E451 | FPU | 0x00000184 |
| 82 | UART7_IRQHandler | - | - | 0xE000E452 | UART7 | 0x00000188 |
| 83 | UART8_IRQHandler | - | - | 0xE000E453 | UART8 | 0x0000018C |
| 84 | SPI4_IRQHandler | - | - | 0xE000E454 | SPI4 | 0x00000190 |
| 85 | SPI5_IRQHandler | - | - | 0xE000E455 | SPI5 | 0x00000194 |
| 86 | SPI6_IRQHandler | - | - | 0xE000E456 | SPI6 | 0x00000198 |
| 87 | SAI1_IRQHandler | - | - | 0xE000E457 | SAI1 | 0x0000019C |
| 88 | LTDC_IRQHandler | LTDC | 4 (LCD_Init sets first to 7) | 0xE000E458 | LTDC | 0x000001A0 |
| 89 | LTDC_ER_IRQHandler | - | - | 0xE000E459 | LTDC error | 0x000001A4 |
| 90 | DMA2D_IRQHandler | - | - | 0xE000E45A | DMA2D | 0x000001A8 |
All interrupt priorities higher than configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY must not call any FreeRTOS functions! Note that on Cortex ARM architectures higher priorities have lower value.
With an in-circuit-debugger, the read out on a TX16S with only internal module configured resulted in the following NVIC register readouts (all values as hex values):
Interrupt enable state (NVIC_ISER) from 0xE000E100:
Interrupt priority (NVIC_IPR) from 0xE000E400:
00 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00
70 10 00 00 00 00 00 00 00 00 00 00 00 70 70 00
00 00 00 00 00 60 60 70 50 00 00 00 50 40 00 00
00 00 00 00 00 00 70 00 00 00 00 10 00 00 00 00
00 00 00 00 00 00 00 70 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00