You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/rp2_common/pico_crt0/crt0.S
+13Lines changed: 13 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -26,11 +26,21 @@ pico_default_asm_setup
26
26
.section .vectors,"ax"
27
27
.align2
28
28
29
+
// PICO_CONFIG: PICO_MINIMAL_VECTOR_TABLE, Use Minimal Vector Table - this prevents use of all interrupts, type=bool, default=0, advanced=true, group=pico_crt0
30
+
#ifndef PICO_MINIMAL_VECTOR_TABLE
31
+
#define PICO_MINIMAL_VECTOR_TABLE 0
32
+
#endif
33
+
29
34
.global__vectors, __VECTOR_TABLE
30
35
__VECTOR_TABLE:
31
36
__vectors:
32
37
.word __StackTop
33
38
.word _reset_handler
39
+
40
+
#if PICO_MINIMAL_VECTOR_TABLE
41
+
.word isr_invalid // NMI
42
+
.word isr_invalid // HardFault
43
+
#else
34
44
.word isr_nmi
35
45
.word isr_hardfault
36
46
.word isr_invalid // Reserved, should never fire
@@ -146,6 +156,7 @@ if_irq_word 79 isr_irq79
146
156
#error more IRQ entries required
147
157
#endif
148
158
#endif
159
+
#endif // #if !PICO_MINIMAL_VECTOR_TABLE
149
160
150
161
// all default exception handlers do nothing,and we can check for them being set to our
151
162
// default values by seeing if they point to somewhere between __defaults_isrs_start and __default_isrs_end
0 commit comments