The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Find a file
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
apps www.c: Explicitly declare itoa as it is non-standard and not necessarily in stdlib.h 2015-11-10 14:38:22 +01:00
core RPL: clearer naming and documentation of DAO delay constants 2015-11-18 14:06:18 +01:00
cpu cc2538: Use &vectors instead of flash/.text start address 2015-11-19 01:18:33 +01:00
dev Merge pull request #1293 from simonduq/pr/fix-warnings 2015-11-10 08:49:11 +01:00
doc Add support for the CC13xx CPU 2015-08-23 19:54:42 +01:00
examples Ported jn516x slip-bridge to new uip_fallback_interface 2015-11-10 09:30:36 +01:00
platform cc2538: Define and use device features 2015-11-19 01:18:33 +01:00
regression-tests Compile-test: show make variables in log output 2015-11-18 17:39:42 +01:00
tools Merge pull request #1337 from tsparber/pr-ccittcrc-crlf 2015-11-02 14:00:51 +01:00
.gitattributes Add binary files file extension 2015-10-22 16:19:39 +02:00
.gitignore Have Git ignore .zip files. 2015-10-28 09:47:22 +01:00
.gitmodules Add support for the CC13xx CPU 2015-08-23 19:54:42 +01:00
.travis.yml Merge pull request #1219 from simonduq/jn516x-port 2015-09-25 12:09:52 +02:00
CONTRIBUTING.md Updated CONTRIBUTING.md to reflect Contiki's new merging policy 2015-08-18 22:06:56 +02:00
LICENSE Removed the explicit year 2012 to make it more generic 2012-10-25 23:08:54 +02:00
Makefile.include Makefile.include: Remove unused MODULESSUBST 2015-06-01 22:09:58 +02: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 Travis icon in README.md: show build status of the current master rather than latest build status (can be any pull request) 2015-08-19 09:21:38 +02: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