Choco OS  V.0.16.9.0
Join to the chocolate world
oc_interrupts_defs.h
1 
28 #ifndef SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_INTERRUPTS_DEFS_H_
29 #define SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_INTERRUPTS_DEFS_H_
30 
31 #include <oc_1word.h>
32 
33 //==========================================================================================================================================
40 //==========================================================================================================================================
41 #define oC_MACHINE_PRIO_BITS 4
42 
43 //==========================================================================================================================================
48 //==========================================================================================================================================
49 #define oC_DEFAULT_INTERRUPT_HANDLER_NAME oC_DefaultInterrupt
50 
51 //==========================================================================================================================================
56 //==========================================================================================================================================
57 #define oC_MAXIMUM_INTERRUPT_PRIORITY 0
58 //==========================================================================================================================================
63 //==========================================================================================================================================
64 #define oC_MINIMUM_INTERRUPT_PRIORITY 0xFF
65 
66 //==========================================================================================================================================
82 //==========================================================================================================================================
83 #define oC_MACHINE_INTERRUPTS_TYPES_LIST(ADD_INTERRUPT_TYPE) \
84  ADD_INTERRUPT_TYPE( NonMaskableInterrupt )\
85  ADD_INTERRUPT_TYPE( HardFault )\
86  ADD_INTERRUPT_TYPE( MemoryManagement )\
87  ADD_INTERRUPT_TYPE( BusFault )\
88  ADD_INTERRUPT_TYPE( UsageFault )\
89  ADD_INTERRUPT_TYPE( SVCall )\
90  ADD_INTERRUPT_TYPE( DebugMonitor )\
91  ADD_INTERRUPT_TYPE( PendSV )\
92  ADD_INTERRUPT_TYPE( SysTick )\
93  ADD_INTERRUPT_TYPE( PeripheralInterrupt )\
94  ADD_INTERRUPT_TYPE( ADCSequence0 )\
95  ADD_INTERRUPT_TYPE( ADCSequence1 )\
96  ADD_INTERRUPT_TYPE( ADCSequence2 )\
97  ADD_INTERRUPT_TYPE( ADCSequence3 )\
98  ADD_INTERRUPT_TYPE( TimerA )\
99  ADD_INTERRUPT_TYPE( TimerB )\
100  ADD_INTERRUPT_TYPE( SystemControl )\
101  ADD_INTERRUPT_TYPE( FlashMemCtlAndE2ROMCtl )\
102  ADD_INTERRUPT_TYPE( HibernationModule )\
103  ADD_INTERRUPT_TYPE( USB )\
104  ADD_INTERRUPT_TYPE( Software )\
105  ADD_INTERRUPT_TYPE( Error )\
106  ADD_INTERRUPT_TYPE( SystemException )\
107  ADD_INTERRUPT_TYPE( WatchdogInterrupt )\
108  ADD_INTERRUPT_TYPE( PVD )\
109  ADD_INTERRUPT_TYPE( TimeStamp )\
110  ADD_INTERRUPT_TYPE( RccGlobalInterrupt )\
111  ADD_INTERRUPT_TYPE( Stream0 )\
112  ADD_INTERRUPT_TYPE( Stream1 )\
113  ADD_INTERRUPT_TYPE( Stream2 )\
114  ADD_INTERRUPT_TYPE( Stream3 )\
115  ADD_INTERRUPT_TYPE( Stream4 )\
116  ADD_INTERRUPT_TYPE( Stream5 )\
117  ADD_INTERRUPT_TYPE( Stream6 )\
118  ADD_INTERRUPT_TYPE( Stream7 )\
119  ADD_INTERRUPT_TYPE( Tx )\
120  ADD_INTERRUPT_TYPE( Rx0 )\
121  ADD_INTERRUPT_TYPE( Rx1 )\
122  ADD_INTERRUPT_TYPE( Sce )\
123  ADD_INTERRUPT_TYPE( BreakInterrupt )\
124  ADD_INTERRUPT_TYPE( UpdateInterrupt )\
125  ADD_INTERRUPT_TYPE( TriggerInterrupt )\
126  ADD_INTERRUPT_TYPE( CaptureCompareInterrupt )\
127  ADD_INTERRUPT_TYPE( RtcAlarms )\
128  ADD_INTERRUPT_TYPE( Fsmc )\
129  ADD_INTERRUPT_TYPE( WakeUp )\
130  ADD_INTERRUPT_TYPE( OnTheGoEp1OutInterrupt )\
131  ADD_INTERRUPT_TYPE( OnTheGoEp1InInterrupt )\
132  ADD_INTERRUPT_TYPE( OnTheGoWakeUpInterrupt )\
133  ADD_INTERRUPT_TYPE( OnTheGoInterrupt )\
134  ADD_INTERRUPT_TYPE( OnTheGoInterruptWakeUp )\
135  ADD_INTERRUPT_TYPE( SPDIFRX )\
136  ADD_INTERRUPT_TYPE( EXTI0 )\
137  ADD_INTERRUPT_TYPE( EXTI1 )\
138  ADD_INTERRUPT_TYPE( EXTI2 )\
139  ADD_INTERRUPT_TYPE( EXTI3 )\
140  ADD_INTERRUPT_TYPE( EXTI4 )\
141  ADD_INTERRUPT_TYPE( EXTI5_9 )\
142  ADD_INTERRUPT_TYPE( EXTI10_15 )\
143 
144 //==========================================================================================================================================
163 //==========================================================================================================================================
164 #define oC_MACHINE_INTERRUPTS_LIST(ADD_INTERRUPT) \
165  ADD_INTERRUPT( System , NonMaskableInterrupt , -14 , 0x008 / 4 )\
166  ADD_INTERRUPT( System , HardFault , -13 , 0x00C / 4 )\
167  ADD_INTERRUPT( System , MemoryManagement , -12 , 0x010 / 4 )\
168  ADD_INTERRUPT( System , BusFault , -11 , 0x014 / 4 )\
169  ADD_INTERRUPT( System , UsageFault , -10 , 0x018 / 4 )\
170  ADD_INTERRUPT( System , SVCall , -5 , 0x02C / 4 )\
171  ADD_INTERRUPT( System , DebugMonitor , -4 , 0x030 / 4 )\
172  ADD_INTERRUPT( System , PendSV , -2 , 0x038 / 4 )\
173  ADD_INTERRUPT( System , SysTick , -1 , 0x03C / 4 )\
174  ADD_INTERRUPT( System , WatchdogInterrupt , 0 , 0x040 / 4 )\
175  ADD_INTERRUPT( System , PVD , 1 , 0x044 / 4 )\
176  ADD_INTERRUPT( System , TimeStamp , 2 , 0x048 / 4 )\
177  ADD_INTERRUPT( EXTI , EXTI0 , 6 , 0x058 / 4 )\
178  ADD_INTERRUPT( EXTI , EXTI1 , 7 , 0x05C / 4 )\
179  ADD_INTERRUPT( EXTI , EXTI2 , 8 , 0x060 / 4 )\
180  ADD_INTERRUPT( EXTI , EXTI3 , 9 , 0x064 / 4 )\
181  ADD_INTERRUPT( EXTI , EXTI4 , 10 , 0x068 / 4 )\
182  ADD_INTERRUPT( DMA1 , Stream0 , 11 , 0x06C / 4 )\
183  ADD_INTERRUPT( DMA1 , Stream1 , 12 , 0x070 / 4 )\
184  ADD_INTERRUPT( DMA1 , Stream2 , 13 , 0x074 / 4 )\
185  ADD_INTERRUPT( DMA1 , Stream3 , 14 , 0x078 / 4 )\
186  ADD_INTERRUPT( DMA1 , Stream4 , 15 , 0x07C / 4 )\
187  ADD_INTERRUPT( DMA1 , Stream5 , 16 , 0x080 / 4 )\
188  ADD_INTERRUPT( DMA1 , Stream6 , 17 , 0x084 / 4 )\
189  ADD_INTERRUPT( ADC_COMMON , PeripheralInterrupt , 18 , 0x088 / 4 )\
190  ADD_INTERRUPT( CAN1 , Tx , 19 , 0x08C / 4 )\
191  ADD_INTERRUPT( CAN1 , Rx0 , 20 , 0x090 / 4 )\
192  ADD_INTERRUPT( CAN1 , Rx1 , 21 , 0x094 / 4 )\
193  ADD_INTERRUPT( CAN1 , Sce , 22 , 0x098 / 4 )\
194  ADD_INTERRUPT( EXTI , EXTI5_9 , 23 , 0x09C / 4 )\
195  ADD_INTERRUPT( TIM1 , BreakInterrupt , 24 , 0x0A0 / 4 )\
196  ADD_INTERRUPT( TIM1 , UpdateInterrupt , 25 , 0x0A4 / 4 )\
197  ADD_INTERRUPT( TIM1 , TriggerInterrupt , 26 , 0x0A8 / 4 )\
198  ADD_INTERRUPT( TIM1 , CaptureCompareInterrupt , 27 , 0x0AC / 4 )\
199  ADD_INTERRUPT( TIM2 , PeripheralInterrupt , 28 , 0x0B0 / 4 )\
200  ADD_INTERRUPT( TIM3 , PeripheralInterrupt , 29 , 0x0B4 / 4 )\
201  ADD_INTERRUPT( TIM4 , PeripheralInterrupt , 30 , 0x0B8 / 4 )\
202  ADD_INTERRUPT( I2C1 , PeripheralInterrupt , 31 , 0x0BC / 4 )\
203  ADD_INTERRUPT( I2C1 , Error , 32 , 0x0C0 / 4 )\
204  ADD_INTERRUPT( I2C2 , PeripheralInterrupt , 33 , 0x0C4 / 4 )\
205  ADD_INTERRUPT( I2C2 , Error , 34 , 0x0C8 / 4 )\
206  ADD_INTERRUPT( SPI1 , PeripheralInterrupt , 35 , 0x0CC / 4 )\
207  ADD_INTERRUPT( SPI2 , PeripheralInterrupt , 36 , 0x0D0 / 4 )\
208  ADD_INTERRUPT( USART1 , PeripheralInterrupt , 37 , 0x0D4 / 4 )\
209  ADD_INTERRUPT( USART2 , PeripheralInterrupt , 38 , 0x0D8 / 4 )\
210  ADD_INTERRUPT( USART3 , PeripheralInterrupt , 39 , 0x0DC / 4 )\
211  ADD_INTERRUPT( EXTI , EXTI10_15 , 40 , 0x0E0 / 4 )\
212  ADD_INTERRUPT( System , RtcAlarms , 41 , 0x0E4 / 4 )\
213  ADD_INTERRUPT( USB_OTG_FS , OnTheGoInterruptWakeUp , 42 , 0x0E8 / 4 )\
214  ADD_INTERRUPT( TIM8 , BreakInterrupt , 43 , 0x0EC / 4 )\
215  ADD_INTERRUPT( TIM8 , UpdateInterrupt , 44 , 0x0F0 / 4 )\
216  ADD_INTERRUPT( TIM8 , TriggerInterrupt , 45 , 0x0F4 / 4 )\
217  ADD_INTERRUPT( TIM8 , CaptureCompareInterrupt , 46 , 0x0F8 / 4 )\
218  ADD_INTERRUPT( DMA1 , Stream7 , 47 , 0x0FC / 4 )\
219  ADD_INTERRUPT( System , Fsmc , 48 , 0x100 / 4 )\
220  ADD_INTERRUPT( SDMMC1 , PeripheralInterrupt , 49 , 0x104 / 4 )\
221  ADD_INTERRUPT( TIM5 , PeripheralInterrupt , 50 , 0x108 / 4 )\
222  ADD_INTERRUPT( SPI3 , PeripheralInterrupt , 51 , 0x10C / 4 )\
223  ADD_INTERRUPT( UART4 , PeripheralInterrupt , 52 , 0x110 / 4 )\
224  ADD_INTERRUPT( UART5 , PeripheralInterrupt , 53 , 0x114 / 4 )\
225  ADD_INTERRUPT( TIM6 , PeripheralInterrupt , 54 , 0x118 / 4 )\
226  ADD_INTERRUPT( TIM7 , PeripheralInterrupt , 55 , 0x11C / 4 )\
227  ADD_INTERRUPT( DMA2 , Stream0 , 56 , 0x120 / 4 )\
228  ADD_INTERRUPT( DMA2 , Stream1 , 57 , 0x124 / 4 )\
229  ADD_INTERRUPT( DMA2 , Stream2 , 58 , 0x128 / 4 )\
230  ADD_INTERRUPT( DMA2 , Stream3 , 59 , 0x12C / 4 )\
231  ADD_INTERRUPT( DMA2 , Stream4 , 60 , 0x130 / 4 )\
232  ADD_INTERRUPT( ETHERNET_MAC , PeripheralInterrupt , 61 , 0x134 / 4 )\
233  ADD_INTERRUPT( ETHERNET_MAC , WakeUp , 62 , 0x138 / 4 )\
234  ADD_INTERRUPT( CAN2 , Tx , 63 , 0x13C / 4 )\
235  ADD_INTERRUPT( CAN2 , Rx0 , 64 , 0x140 / 4 )\
236  ADD_INTERRUPT( CAN2 , Rx1 , 65 , 0x144 / 4 )\
237  ADD_INTERRUPT( CAN2 , Sce , 66 , 0x148 / 4 )\
238  ADD_INTERRUPT( USB_OTG_FS , OnTheGoInterrupt , 67 , 0x14C / 4 )\
239  ADD_INTERRUPT( DMA2 , Stream5 , 68 , 0x150 / 4 )\
240  ADD_INTERRUPT( DMA2 , Stream6 , 69 , 0x154 / 4 )\
241  ADD_INTERRUPT( DMA2 , Stream7 , 70 , 0x158 / 4 )\
242  ADD_INTERRUPT( USART6 , PeripheralInterrupt , 71 , 0x15C / 4 )\
243  ADD_INTERRUPT( I2C3 , PeripheralInterrupt , 72 , 0x160 / 4 )\
244  ADD_INTERRUPT( I2C3 , Error , 73 , 0x164 / 4 )\
245  ADD_INTERRUPT( USB_OTG_HS , OnTheGoEp1OutInterrupt , 74 , 0x168 / 4 )\
246  ADD_INTERRUPT( USB_OTG_HS , OnTheGoEp1InInterrupt , 75 , 0x16C / 4 )\
247  ADD_INTERRUPT( USB_OTG_HS , OnTheGoWakeUpInterrupt , 76 , 0x170 / 4 )\
248  ADD_INTERRUPT( USB_OTG_HS , OnTheGoInterrupt , 77 , 0x174 / 4 )\
249  ADD_INTERRUPT( DCMI , PeripheralInterrupt , 78 , 0x178 / 4 )\
250  ADD_INTERRUPT( CRYP , PeripheralInterrupt , 79 , 0x17C / 4 )\
251  ADD_INTERRUPT( UART7 , PeripheralInterrupt , 82 , 0x188 / 4 )\
252  ADD_INTERRUPT( UART8 , PeripheralInterrupt , 83 , 0x18C / 4 )\
253  ADD_INTERRUPT( SPI4 , PeripheralInterrupt , 84 , 0x190 / 4 )\
254  ADD_INTERRUPT( SPI5 , PeripheralInterrupt , 85 , 0x194 / 4 )\
255  ADD_INTERRUPT( SPI6 , PeripheralInterrupt , 86 , 0x198 / 4 )\
256  ADD_INTERRUPT( SAI1 , PeripheralInterrupt , 87 , 0x19C / 4 )\
257  ADD_INTERRUPT( LCD_TFT , PeripheralInterrupt , 88 , 0x1A0 / 4 )\
258  ADD_INTERRUPT( LCD_TFT , Error , 89 , 0x1A4 / 4 )\
259  ADD_INTERRUPT( DMA2D , PeripheralInterrupt , 90 , 0x1A8 / 4 )\
260  ADD_INTERRUPT( SAI2 , PeripheralInterrupt , 91 , 0x1AC / 4 )\
261  ADD_INTERRUPT( QUADSPI , PeripheralInterrupt , 92 , 0x1B0 / 4 )\
262  ADD_INTERRUPT( LPTIM1 , PeripheralInterrupt , 93 , 0x1B4 / 4 )\
263  ADD_INTERRUPT( HDMI_CEC , PeripheralInterrupt , 94 , 0x1B8 / 4 )\
264  ADD_INTERRUPT( I2C4 , PeripheralInterrupt , 95 , 0x1BC / 4 )\
265  ADD_INTERRUPT( I2C4 , Error , 96 , 0x1C0 / 4 )\
266  ADD_INTERRUPT( System , SPDIFRX , 97 , 0x1C4 / 4 )\
267 
268 #endif /* SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_INTERRUPTS_DEFS_H_ */
Contains macros for creating one word from more words in macros.