mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-10-23 10:29:07 +00:00
96dd24836c
The current CC2538 linker script in Contiki places the vector table at the beginning of the flash memory / .text output section. However, this location is arbitrary (the only requirement is that the vector table is 512-byte aligned), and custom linker scripts may be used with Contiki, which means that Contiki may be used with a vector table placed elsewhere. Thus, using the flash/.text start address in the CCA and as the default NVIC VTABLE value was wrong. This commit rather uses the address of the vectors[] array from startup-gcc.c, which makes it possible to freely move around the vector table without breaking anything or having to use a custom startup-gcc.c and to configure the NVIC driver for that. Moreover, referencing the vectors[] array naturally prevents it and its input section from being garbage-collected by the linker, so this commit also removes the now-unneeded "used" and "KEEP" keywords from the vector table. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com> |
||
---|---|---|
.. | ||
adc.c | ||
adc.h | ||
aes.c | ||
aes.h | ||
ana-regs.h | ||
bignum-driver.c | ||
bignum-driver.h | ||
cc2538-dev.h | ||
cc2538-rf.c | ||
cc2538-rf.h | ||
cc2538-sensors.h | ||
cc2538-temp-sensor.c | ||
cc2538-temp-sensor.h | ||
ccm.c | ||
ccm.h | ||
cctest.h | ||
crypto.c | ||
crypto.h | ||
ecc-algorithm.c | ||
ecc-algorithm.h | ||
ecc-curve.c | ||
ecc-curve.h | ||
ecc-driver.c | ||
ecc-driver.h | ||
flash.h | ||
gpio.c | ||
gpio.h | ||
gptimer.h | ||
i2c.c | ||
i2c.h | ||
ioc.c | ||
ioc.h | ||
mpu.h | ||
nvic.c | ||
nvic.h | ||
pka.c | ||
pka.h | ||
random.c | ||
rfcore-ffsm.h | ||
rfcore-sfr.h | ||
rfcore-xreg.h | ||
rfcore.h | ||
rom-util.h | ||
scb.h | ||
sha256.c | ||
sha256.h | ||
smwdthrosc.h | ||
soc-adc.h | ||
spi.c | ||
ssi.h | ||
sys-ctrl.c | ||
sys-ctrl.h | ||
systick.h | ||
uart1.h | ||
uart.c | ||
uart.h | ||
udma.c | ||
udma.h | ||
usb-regs.h | ||
vdd3-sensor.c | ||
vdd3-sensor.h | ||
watchdog.c |