Skip to content

Commit d0c1157

Browse files
committed
config: add device.x file to define default handlers
Adds default interrupt handler symbols in `device.x` file. Enables weakly defined symbols that default to `DefaultHandler` implementations. Handlers can be redefined, as in `examples/interrupt.rs`.
1 parent 4526999 commit d0c1157

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

.cargo/config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
runner = 'riscv64-unknown-elf-gdb -x openocd.gdb'
33
rustflags = [
44
"-C", "link-arg=-Tmemory-c8.x",
5+
"-C", "link-arg=-Tdevice.x",
56
"-C", "link-arg=-Tlink.x",
67
]
78

device.x

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
PROVIDE(INT_SFT = DefaultHandler);
2+
PROVIDE(INT_TMR = DefaultHandler);
3+
PROVIDE(INT_BWEI = DefaultHandler);
4+
PROVIDE(INT_PMOVI = DefaultHandler);
5+
PROVIDE(WWDGT = DefaultHandler);
6+
PROVIDE(EXTI_LVD = DefaultHandler);
7+
PROVIDE(TAMPER = DefaultHandler);
8+
PROVIDE(RTC = DefaultHandler);
9+
PROVIDE(FMC = DefaultHandler);
10+
PROVIDE(RCU = DefaultHandler);
11+
PROVIDE(EXTI_LINE0 = DefaultHandler);
12+
PROVIDE(EXTI_LINE1 = DefaultHandler);
13+
PROVIDE(EXTI_LINE2 = DefaultHandler);
14+
PROVIDE(EXTI_LINE3 = DefaultHandler);
15+
PROVIDE(EXTI_LINE4 = DefaultHandler);
16+
PROVIDE(DMA0_CHANNEL0 = DefaultHandler);
17+
PROVIDE(DMA0_CHANNEL1 = DefaultHandler);
18+
PROVIDE(DMA0_CHANNEL2 = DefaultHandler);
19+
PROVIDE(DMA0_CHANNEL3 = DefaultHandler);
20+
PROVIDE(DMA0_CHANNEL4 = DefaultHandler);
21+
PROVIDE(DMA0_CHANNEL5 = DefaultHandler);
22+
PROVIDE(DMA0_CHANNEL6 = DefaultHandler);
23+
PROVIDE(ADC0_1 = DefaultHandler);
24+
PROVIDE(CAN0_TX = DefaultHandler);
25+
PROVIDE(CAN0_RX0 = DefaultHandler);
26+
PROVIDE(CAN0_RX1 = DefaultHandler);
27+
PROVIDE(CAN0_EWMC = DefaultHandler);
28+
PROVIDE(EXTI_LINE9_5 = DefaultHandler);
29+
PROVIDE(TIMER0_BRK = DefaultHandler);
30+
PROVIDE(TIMER0_UP = DefaultHandler);
31+
PROVIDE(TIMER0_TRG_CMT = DefaultHandler);
32+
PROVIDE(TIMER0_CHANNEL = DefaultHandler);
33+
PROVIDE(TIMER1 = DefaultHandler);
34+
PROVIDE(TIMER2 = DefaultHandler);
35+
PROVIDE(TIMER3 = DefaultHandler);
36+
PROVIDE(I2C0_EV = DefaultHandler);
37+
PROVIDE(I2C0_ER = DefaultHandler);
38+
PROVIDE(I2C1_EV = DefaultHandler);
39+
PROVIDE(I2C1_ER = DefaultHandler);
40+
PROVIDE(SPI0 = DefaultHandler);
41+
PROVIDE(SPI1 = DefaultHandler);
42+
PROVIDE(USART0 = DefaultHandler);
43+
PROVIDE(USART1 = DefaultHandler);
44+
PROVIDE(USART2 = DefaultHandler);
45+
PROVIDE(EXTI_LINE15_10 = DefaultHandler);
46+
PROVIDE(RTC_ALARM = DefaultHandler);
47+
PROVIDE(USBFS_WKUP = DefaultHandler);
48+
PROVIDE(TIMER4 = DefaultHandler);
49+
PROVIDE(SPI2 = DefaultHandler);
50+
PROVIDE(UART3 = DefaultHandler);
51+
PROVIDE(UART4 = DefaultHandler);
52+
PROVIDE(TIMER5 = DefaultHandler);
53+
PROVIDE(TIMER6 = DefaultHandler);
54+
PROVIDE(DMA1_CHANNEL0 = DefaultHandler);
55+
PROVIDE(DMA1_CHANNEL1 = DefaultHandler);
56+
PROVIDE(DMA1_CHANNEL2 = DefaultHandler);
57+
PROVIDE(DMA1_CHANNEL3 = DefaultHandler);
58+
PROVIDE(DMA1_CHANNEL4 = DefaultHandler);
59+
PROVIDE(CAN1_TX = DefaultHandler);
60+
PROVIDE(CAN1_RX0 = DefaultHandler);
61+
PROVIDE(CAN1_RX1 = DefaultHandler);
62+
PROVIDE(CAN1_EWMC = DefaultHandler);
63+
PROVIDE(USBFS = DefaultHandler);
64+

0 commit comments

Comments
 (0)