The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Go to file
Benoît Thébaudeau 1cd3c9e7e5 cc2538: Initialize .data/.bss using ROM functions
This is safer because the previous code assumed that the start and end
VMAs of .data and .bss were word-aligned, which is not always the case,
so the initialization code could write data outside these sections. The
ROM functions support any address boundary.

This is faster because the ROM functions are ultra optimized, using
realignment and the LDM/STM instructions, which is much better than the
previous simple loops of single word accesses.

This is smaller because the ROM functions don't require to add any code
to the target device other than simple function calls.

This makes the code simpler and more maintainable because standard
functions are not reimplemented and no assembly is used.

Note that this is also faster and smaller than the corresponding
functions from the standard string library.

Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-05-23 18:50:52 +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: Initialize .data/.bss using ROM functions 2015-05-23 18:50:52 +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