mirror of
https://github.com/oliverschmidt/contiki.git
synced 2025-01-11 19:29:50 +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>