51 #define NVIC_VTABLE_IN_SRAM 0x20000000
52 #define NVIC_VTABLE_IN_CODE 0x00000000
54 #define NVIC_INTERRUPT_ENABLED 0x00000001
55 #define NVIC_INTERRUPT_DISABLED 0x00000000
57 #ifndef NVIC_CONF_VTABLE_BASE
58 #define NVIC_CONF_VTABLE_BASE NVIC_VTABLE_IN_CODE
61 #ifndef NVIC_CONF_VTABLE_OFFSET
62 #define NVIC_CONF_VTABLE_OFFSET 0x200000
69 #define NVIC_INT_GPIO_PORT_A 0
70 #define NVIC_INT_GPIO_PORT_B 1
71 #define NVIC_INT_GPIO_PORT_C 2
72 #define NVIC_INT_GPIO_PORT_D 3
73 #define NVIC_INT_UART0 5
74 #define NVIC_INT_UART1 6
75 #define NVIC_INT_SSI0 7
76 #define NVIC_INT_I2C 8
77 #define NVIC_INT_ADC 14
78 #define NVIC_INT_WDT 18
79 #define NVIC_INT_GPTIMER_0A 19
80 #define NVIC_INT_GPTIMER_0B 20
81 #define NVIC_INT_GPTIMER_1A 21
82 #define NVIC_INT_GPTIMER_1B 22
83 #define NVIC_INT_GPTIMER_2A 23
84 #define NVIC_INT_GPTIMER_2B 24
85 #define NVIC_INT_ADC_CMP 25
86 #define NVIC_INT_RF_RXTX_ALT 26
87 #define NVIC_INT_RF_ERR_ALT 27
88 #define NVIC_INT_SYS_CTRL 28
89 #define NVIC_INT_FLASH_CTRL 29
90 #define NVIC_INT_AES_ALT 30
91 #define NVIC_INT_PKA_ALT 31
92 #define NVIC_INT_SM_TIMER_ALT 32
93 #define NVIC_INT_MAC_TIMER_ALT 33
94 #define NVIC_INT_SSI1 34
95 #define NVIC_INT_GPTIMER_3A 35
96 #define NVIC_INT_GPTIMER_3B 36
97 #define NVIC_INT_UDMA 46
98 #define NVIC_INT_UDMA_ERR 47
99 #define NVIC_INT_USB 140
100 #define NVIC_INT_RF_RXTX 141
101 #define NVIC_INT_RF_ERR 142
102 #define NVIC_INT_AES 143
103 #define NVIC_INT_PKA 144
104 #define NVIC_INT_SM_TIMER 145
105 #define NVIC_INT_MACTIMER 146
111 #define NVIC_EN0 0xE000E100
112 #define NVIC_EN1 0xE000E104
113 #define NVIC_EN2 0xE000E108
114 #define NVIC_EN3 0xE000E10C
115 #define NVIC_EN4 0xE000E110
116 #define NVIC_DIS0 0xE000E180
117 #define NVIC_DIS1 0xE000E184
118 #define NVIC_DIS2 0xE000E188
119 #define NVIC_DIS3 0xE000E18C
120 #define NVIC_DIS4 0xE000E190
121 #define NVIC_PEND0 0xE000E200
122 #define NVIC_PEND1 0xE000E204
123 #define NVIC_PEND2 0xE000E208
124 #define NVIC_PEND3 0xE000E20C
125 #define NVIC_PEND4 0xE000E210
126 #define NVIC_UNPEND0 0xE000E280
127 #define NVIC_UNPEND1 0xE000E284
128 #define NVIC_UNPEND2 0xE000E288
129 #define NVIC_UNPEND3 0xE000E28C
130 #define NVIC_UNPEND4 0xE000E290
131 #define NVIC_ACTIVE0 0xE000E300
132 #define NVIC_ACTIVE1 0xE000E304
133 #define NVIC_ACTIVE2 0xE000E308
134 #define NVIC_ACTIVE3 0xE000E30C
135 #define NVIC_ACTIVE4 0xE000E310
136 #define NVIC_PRI0 0xE000E400
137 #define NVIC_PRI1 0xE000E404
138 #define NVIC_PRI2 0xE000E408
139 #define NVIC_PRI3 0xE000E40C
140 #define NVIC_PRI4 0xE000E410
141 #define NVIC_PRI5 0xE000E414
142 #define NVIC_PRI6 0xE000E418
143 #define NVIC_PRI7 0xE000E41C
144 #define NVIC_PRI8 0xE000E420
145 #define NVIC_PRI9 0xE000E424
146 #define NVIC_PRI10 0xE000E428
147 #define NVIC_PRI11 0xE000E42C
148 #define NVIC_PRI12 0xE000E430
149 #define NVIC_PRI13 0xE000E434
150 #define NVIC_PRI14 0xE000E438
151 #define NVIC_PRI15 0xE000E43C
152 #define NVIC_PRI16 0xE000E440
153 #define NVIC_PRI17 0xE000E444
154 #define NVIC_PRI18 0xE000E448
155 #define NVIC_PRI19 0xE000E44C
156 #define NVIC_PRI20 0xE000E450
157 #define NVIC_PRI21 0xE000E454
158 #define NVIC_PRI22 0xE000E458
159 #define NVIC_PRI23 0xE000E45C
160 #define NVIC_PRI24 0xE000E460
161 #define NVIC_PRI25 0xE000E464
162 #define NVIC_PRI26 0xE000E468
163 #define NVIC_PRI27 0xE000E46C
164 #define NVIC_PRI28 0xE000E470
165 #define NVIC_PRI29 0xE000E474
166 #define NVIC_PRI30 0xE000E478
167 #define NVIC_PRI31 0xE000E47C
168 #define NVIC_PRI32 0xE000E480
169 #define NVIC_PRI33 0xE000E480
170 #define NVIC_PRI34 0xE000E484
171 #define NVIC_PRI35 0xE000E488
172 #define NVIC_PRI36 0xE000E48c
void nvic_interrupt_pend(uint32_t intr)
Sets intr to pending.
void nvic_interrupt_disable(uint32_t intr)
Disables interrupt intr.
void nvic_init()
Initialises the NVIC driver.
void nvic_interrupt_enable(uint32_t intr)
Enables interrupt intr.
void nvic_interrupt_unpend(uint32_t intr)
Sets intr to no longer pending.
uint8_t nvic_interrupt_en_save(uint32_t intr)
Checks the interrupt enabled status for intr.
void nvic_interrupt_en_restore(uint32_t intr, uint8_t v)
Enables interrupt intr if v > 0.