The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Find a file
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
apps Merge pull request #883 from cmorty/pull/global-macros 2015-05-18 21:33:00 +02:00
core Remove redundant assignment 2015-05-20 15:37:32 +05:30
cpu cc2538: Fix .data LMA/VMA mismatch with some toolchains 2015-05-23 18:12:53 +02:00
dev Disable PACKETBUF_ATTR_PACKET_TYPE in the non-Rime case by default 2015-05-06 16:36:15 +02:00
doc Do not try to build cc26xxware documentation 2015-05-17 15:01:02 +01:00
examples Merge pull request #1074 from g-oikonomou/cc26xx/contrib/new-cc26xxware 2015-05-21 10:01:00 +02:00
platform Z1: tmp102: simple: fixed wrong cast 2015-05-22 18:15:26 +02:00
regression-tests Add regression-test for tools 2015-05-17 12:26:08 +02:00
tools Merge pull request #1040 from atiselsts/cooja_multichannel 2015-05-19 08:59:06 +02:00
.gitignore Add CC26xx build artifacts to .gitignore 2015-02-25 13:16:07 +01:00
.gitmodules Pull CC26xxware as a submodule 2015-05-17 15:01:01 +01:00
.travis.yml Merge pull request #1074 from g-oikonomou/cc26xx/contrib/new-cc26xxware 2015-05-21 10:01:00 +02:00
CONTRIBUTING.md Adding a CONTRIBUTING file to use github feature 2014-07-04 09:29:12 +02:00
LICENSE Removed the explicit year 2012 to make it more generic 2012-10-25 23:08:54 +02:00
Makefile.include Cleanup UIP_CONF_IPV6_RPL configuration 2014-12-02 12:38:55 +01:00
README-BUILDING.md Rename to md 2013-03-26 23:15:37 +01:00
README-EXAMPLES.md Several minor consistency improvements. 2013-07-31 00:55:31 +02:00
README.md Rename to md 2013-03-26 23:15:37 +01:00

The Contiki Operating System

Build Status

Contiki is an open source operating system that runs on tiny low-power microcontrollers and makes it possible to develop applications that make efficient use of the hardware while providing standardized low-power wireless communication for a range of hardware platforms.

Contiki is used in numerous commercial and non-commercial systems, such as city sound monitoring, street lights, networked electrical power meters, industrial monitoring, radiation monitoring, construction site monitoring, alarm systems, remote house monitoring, and so on.

For more information, see the Contiki website:

http://contiki-os.org