Tool to change all interrupt priorities at once. Check the header file for supported mbed targets.

Dependents:   CC3000_Hostdriver KL25Z_FFT_Demo cc3000_hello_world_demo cc3000_simple_socket_demo ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers NVIC_set_all_priorities.h Source File

NVIC_set_all_priorities.h

00001 #ifndef SET_ALL_PRIO
00002 #define SET_ALL_PRIO
00003 
00004 #include "mbed.h"
00005 
00006 /*
00007 NOTE
00008 ----
00009 SysTick_IRQn is vector -1.
00010 The vector mentioned in the comment after SysTick_IRQn is vector 0 
00011 */
00012 
00013 enum FIRST_LAST_IRQ {
00014 // ************************** Freescale **************************
00015 // --------- TARGET_K20XX
00016 #ifdef TARGET_K20D50M
00017     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00018     last_IRQ_number  = SWI_IRQn,
00019 #elif defined TARGET_TEENSY3_1
00020     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00021     last_IRQ_number  = SWI_IRQn,
00022 
00023 // --------- TARGET_K22F
00024 #elif defined TARGET_K22F
00025     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00026     last_IRQ_number  = Reserved101_IRQn,
00027 
00028 // --------- TARGET_KLXX
00029 #elif defined TARGET_KL05Z
00030     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00031     last_IRQ_number  = PORTB_IRQn,
00032 #elif defined TARGET_KL25Z
00033     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00034     last_IRQ_number  = PORTD_IRQn,
00035 #elif defined TARGET_KL43Z    
00036     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00037     last_IRQ_number  = PORTCD_IRQn,
00038 #elif defined TARGET_KL46Z    
00039     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00040     last_IRQ_number  = PORTC_PORTD_IRQn,
00041 
00042 // --------- TARGET_MCU_K64F
00043 #elif defined TARGET_MCU_K64F    
00044     first_IRQ_number = SysTick_IRQn, // DMA0_IRQn
00045     last_IRQ_number  = ENET_Error_IRQn,
00046 
00047 // **************************   Nordic  **************************
00048 // --------- TARGET_MCU_NRF51822
00049 #elif defined TARGET_MCU_NRF51822    
00050     first_IRQ_number = SysTick_IRQn, // POWER_CLOCK_IRQn
00051     last_IRQ_number  = SWI5_IRQn,
00052 
00053 // **************************    NXP    **************************
00054 #elif defined TARGET_LPC11U6X
00055     first_IRQ_number = SysTick_IRQn, // PIN_INT0_IRQn
00056     last_IRQ_number  = USBWAKEUP_IRQn,
00057 #elif defined TARGET_LPC11UXX
00058     first_IRQ_number = SysTick_IRQn, // FLEX_INT0_IRQn
00059     last_IRQ_number  = Reserved6_IRQn,
00060 #elif defined TARGET_LPC11XX_11CXX
00061     first_IRQ_number = SysTick_IRQn, // WAKEUP0_IRQn
00062     last_IRQ_number  = EINT0_IRQn,
00063 #elif defined TARGET_LPC13XX
00064     first_IRQ_number = SysTick_IRQn, // PIN_INT0_IRQn
00065     last_IRQ_number  = Reserved5_IRQn,
00066 #elif defined TARGET_LPC15XX
00067     first_IRQ_number = SysTick_IRQn, // WDT_IRQn
00068     last_IRQ_number  = RTC_WAKE_IRQn,
00069 #elif defined TARGET_LPC176X
00070     first_IRQ_number = SysTick_IRQn, // WDT_IRQn
00071     last_IRQ_number  = CANActivity_IRQn,
00072 #elif defined TARGET_LPC23XX
00073     first_IRQ_number = TIMER0_IRQn,
00074     last_IRQ_number  = I2S_IRQn,
00075 #elif defined TARGET_LPC408X
00076     first_IRQ_number = SysTick_IRQn, // WDT_IRQn
00077     last_IRQ_number  = CMP1_IRQn,
00078 #elif defined TARGET_LPC43XX
00079     first_IRQ_number = SysTick_IRQn, // DAC_IRQn
00080     last_IRQ_number  = QEI_IRQn,
00081 #elif defined TARGET_LPC81X
00082     first_IRQ_number = SysTick_IRQn, // SPI0_IRQn
00083     last_IRQ_number  = PININT7_IRQn,
00084 #elif defined TARGET_LPC82X
00085     first_IRQ_number = SysTick_IRQn, // SPI0_IRQn
00086     last_IRQ_number  = PININT7_IRQn,
00087 
00088 // **************************  Renesas  **************************
00089 // --------- TARGET_RZ_A1H
00090 #elif defined TARGET_RZ_A1H
00091     first_IRQ_number = SGI0_IRQn,
00092     last_IRQ_number  = TINT170_IRQn,
00093 
00094 // **************************    STM    **************************
00095 // --------- TARGET_DISCO_F100RB
00096 #elif defined TARGET_DISCO_F100RB
00097     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00098     last_IRQ_number  = DMA1_Channel7_IRQn,
00099     #ifdef STM32F10X_LD
00100         last_IRQ_number  = USBWakeUp_IRQn,
00101     #endif /* STM32F10X_LD */  
00102     #ifdef STM32F10X_LD_VL
00103         last_IRQ_number  = TIM7_IRQn,
00104     #endif /* STM32F10X_LD_VL */
00105     #ifdef STM32F10X_MD
00106         last_IRQ_number  = USBWakeUp_IRQn,
00107     #endif /* STM32F10X_MD */  
00108     #ifdef STM32F10X_MD_VL
00109         last_IRQ_number  = TIM7_IRQn,
00110     #endif /* STM32F10X_MD_VL */
00111     #ifdef STM32F10X_HD
00112         last_IRQ_number  = DMA2_Channel4_5_IRQn,
00113     #endif /* STM32F10X_HD */  
00114     #ifdef STM32F10X_HD_VL
00115         last_IRQ_number  = DMA2_Channel5_IRQn,
00116     #endif /* STM32F10X_HD_VL */
00117     #ifdef STM32F10X_XL
00118         last_IRQ_number  = DMA2_Channel4_5_IRQn,
00119     #endif /* STM32F10X_XL */  
00120     #ifdef STM32F10X_CL
00121         last_IRQ_number  = OTG_FS_IRQn,
00122     #endif /* STM32F10X_CL */
00123 
00124 // --------- TARGET_NUCLEO_F103RB
00125 #elif defined TARGET_NUCLEO_F103RB
00126     first_IRQ_number =  SysTick_IRQn, // WWDG_IRQn
00127     last_IRQ_number  = DMA1_Channel7_IRQn,
00128     #ifdef STM32F10X_LD
00129         last_IRQ_number  = USBWakeUp_IRQn,
00130     #endif /* STM32F10X_LD */  
00131     #ifdef STM32F10X_LD_VL
00132         last_IRQ_number  = TIM7_IRQn,
00133     #endif /* STM32F10X_LD_VL */
00134     #ifdef STM32F10X_MD
00135         last_IRQ_number  = USBWakeUp_IRQn,
00136     #endif /* STM32F10X_MD */  
00137     #ifdef STM32F10X_MD_VL
00138         last_IRQ_number  = TIM7_IRQn,
00139     #endif /* STM32F10X_MD_VL */
00140     #ifdef STM32F10X_HD
00141         last_IRQ_number  = DMA2_Channel4_5_IRQn,
00142     #endif /* STM32F10X_HD */  
00143     #ifdef STM32F10X_HD_VL
00144         last_IRQ_number  = DMA2_Channel5_IRQn,
00145     #endif /* STM32F10X_HD_VL */
00146     #ifdef STM32F10X_XL
00147         last_IRQ_number  = DMA2_Channel4_5_IRQn,
00148     #endif /* STM32F10X_XL */  
00149     #ifdef STM32F10X_CL
00150         last_IRQ_number  = OTG_FS_IRQn,
00151     #endif /* STM32F10X_CL */
00152 
00153 // --------- TARGET_STM32F0
00154 #elif defined TARGET_DISCO_F051R8
00155     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00156     last_IRQ_number  = CEC_CAN_IRQn,
00157 #elif defined TARGET_NUCLEO_F030R8
00158     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00159     last_IRQ_number  = USART2_IRQn,
00160 #elif defined TARGET_NUCLEO_F070RB
00161     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00162     last_IRQ_number  = USB_IRQn,
00163 #elif defined TARGET_NUCLEO_F072RB
00164     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00165     last_IRQ_number  = USB_IRQn,
00166 #elif defined TARGET_NUCLEO_F091RC
00167     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00168     last_IRQ_number  = CEC_CAN_IRQn,
00169 
00170 // --------- TARGET_STM32F3
00171 #elif defined TARGET_DISCO_F303VC
00172     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00173     last_IRQ_number  = FPU_IRQn,
00174 #elif defined TARGET_DISCO_F334C8
00175     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00176     last_IRQ_number  = FPU_IRQn,
00177 #elif defined TARGET_NUCLEO_F302R8
00178     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00179     last_IRQ_number  = FPU_IRQn,
00180 #elif defined TARGET_NUCLEO_F303RE
00181     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00182     last_IRQ_number  = SPI4_IRQn,
00183 #elif defined TARGET_NUCLEO_F334R8
00184     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00185     last_IRQ_number  = FPU_IRQn,
00186 
00187 // --------- TARGET_STM32F3XX
00188 #elif defined TARGET_STM32F3XX
00189     first_IRQ_number = WWDG_IRQn,
00190     last_IRQ_number  = FPU_IRQn,
00191     #ifdef STM32F303xC 
00192         first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00193         last_IRQ_number  = FPU_IRQn,
00194     #endif /* STM32F303xC */
00195     #ifdef STM32F334x8 
00196         first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00197         last_IRQ_number  = FPU_IRQn,
00198     #endif /* STM32F334x8 */
00199     #ifdef STM32F302x8 
00200         first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00201         last_IRQ_number  = FPU_IRQn,
00202     #endif /* STM32F302x8 */
00203 
00204 // --------- TARGET_STM32F4
00205 #elif defined TARGET_DISCO_F401VC
00206     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00207     last_IRQ_number  = SPI4_IRQn,
00208 #elif defined TARGET_DISCO_F429ZI
00209     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00210     last_IRQ_number  = DMA2D_IRQn,
00211 #elif defined TARGET_MTS_DRAGONFLY_F411RE
00212     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00213     last_IRQ_number  = SPI5_IRQn,
00214 #elif defined TARGET_MTS_MDOT_F405RG
00215     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00216     last_IRQ_number  = FPU_IRQn,
00217 #elif defined TARGET_MTS_MDOT_F411RE
00218     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00219     last_IRQ_number  = SPI5_IRQn,
00220 #elif defined TARGET_NUCLEO_F401RE
00221     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00222     last_IRQ_number  = SPI4_IRQn,
00223 #elif defined TARGET_NUCLEO_F411RE
00224     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00225     last_IRQ_number  = SPI5_IRQn,
00226 #elif defined TARGET_STM32F407VG
00227     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00228     last_IRQ_number  = FPU_IRQn,
00229 
00230 // --------- TARGET_STM32F4XX
00231 #elif defined TARGET_STM32F4XX
00232     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00233     last_IRQ_number  = HASH_RNG_IRQn,
00234     #ifdef STM32F40XX
00235         last_IRQ_number  = FPU_IRQn,
00236     #endif /* STM32F40XX */
00237     #ifdef STM32F427X 
00238         last_IRQ_number  = SPI6_IRQn,
00239     #endif /* STM32F427X */
00240 
00241 // --------- TARGET_STM32F446XX
00242 #elif defined TARGET_NUCLEO_F446RE
00243     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00244     last_IRQ_number  = FMPI2C1_ER_IRQn,
00245 
00246 // --------- TARGET_STM32L0
00247 #elif defined TARGET_DISCO_L053C8
00248     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00249     last_IRQ_number  = USB_IRQn,
00250 #elif defined TARGET_NUCLEO_L053R8
00251     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00252     last_IRQ_number  = USB_IRQn,
00253 
00254 // --------- TARGET_STM32L1
00255 #elif defined TARGET_NUCLEO_L152RE
00256     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00257     last_IRQ_number  = COMP_ACQ_IRQn,
00258 
00259 // --------- TARGET_STM32F7
00260 #elif defined TARGET_DISCO_F746NG
00261     first_IRQ_number = SysTick_IRQn, // WWDG_IRQn
00262     last_IRQ_number  = SPDIF_RX_IRQn,
00263 #endif
00264 };
00265 
00266 void NVIC_set_all_irq_priorities(int priority);
00267 
00268 #endif // SET_ALL_PRIO