nes-proj/cpu/cc2538
Benoît Thébaudeau 0d260f61a0 cc2538: Fix .data LMA/VMA mismatch with some toolchains
Some toolchains, like Sourcery CodeBench Lite 2013.05-23 arm-none-eabi
(http://sourcery.mentor.com/public/gnu_toolchain/arm-none-eabi/)
automatically force the alignment of an output section LMA to use the
maximum alignment of all its input sections. This toolchain uses GNU
binutils 2.23, and this automatic behavior is the same as the manual
behavior of the ALIGN_WITH_INPUT feature of GNU binutils 2.24+.

This behavior is not an issue per se, but it creates a gap between
_etext and the LMA of the .data output section if _etext does not have
the same alignment, while reset_handler() initialized this section by
copying the data from _etext to its VMA, hence an offset in the
addresses of loaded data, and missing data.

This commit fixes this issue by making reset_handler() directly use the
LMA of the .data section using LOADADDR(.data), rather than assuming
that _etext is this LMA.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-05-23 18:12:53 +02:00
..
dev cc2538: Allow for configuration of processor speed 2015-05-19 18:55:55 +02:00
usb Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
cc2538.lds cc2538: Fix .data LMA/VMA mismatch with some toolchains 2015-05-23 18:12:53 +02:00
clock.c cc2538: Allow for configuration of processor speed 2015-05-19 18:55:55 +02:00
cpu.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
cpu.h Re-structure CC2538 doxygen module hierarchy 2015-02-16 10:17:58 +01:00
dbg.c cc2538: uart: Make it possible to use several UARTs simultaneously 2014-04-17 18:53:44 +02:00
dbg.h Improve wording 2015-02-16 10:17:58 +01:00
debug-uart.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
ieee-addr.c Improve documentation for the CC2538 IEEE address re-ordering 2014-06-06 18:33:28 +01:00
ieee-addr.h Make the CC2538 secondary IEEE address location configurable 2014-06-06 18:15:07 +01:00
lpm.c cc2538: Allow for configuration of processor speed 2015-05-19 18:55:55 +02:00
lpm.h cc2538: lpm: Fix build for LPM_CONF_ENABLE == 0 2014-01-28 20:21:06 +01:00
Makefile.cc2538 Merge pull request #968 from g-oikonomou/cc2538-contrib-on-chip-sensors 2015-05-14 19:21:56 +02:00
mtarch.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
reg.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
rtimer-arch.c cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
rtimer-arch.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
slip-arch.c cc2538: uart: Make it possible to use several UARTs simultaneously 2014-04-17 18:53:44 +02:00
spi-arch.h CC2538: added support for SSI1 2015-05-18 10:02:55 +02:00
startup-gcc.c cc2538: Fix .data LMA/VMA mismatch with some toolchains 2015-05-23 18:12:53 +02:00