contiki/cpu/cc2538/dev
Benoît Thébaudeau 96dd24836c cc2538: Use &vectors instead of flash/.text start address
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>
2015-11-19 01:18:33 +01:00
..
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 cc2538: Use &vectors instead of flash/.text start address 2015-11-19 01:18:33 +01:00
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