Image Processing Reference
In-Depth Information
Components
Design and edit
Interface optimization and
source code generation
Compiling and linking
Evaluation
Node software
FIGURE .
Development process of node software.
can be started to improve project settings. As a result of the design flow, optimized node application
software is generated. he node application now consists of special tailored parts only needed by the
specific application of the node.
Optionally, software components in a node can be linked together statically or dynamically. Stat-
ically linking facilitates an optimization of interfaces between several components within a node. A
dynamic link process is used for components exchanged during runtime, for example, algorithms
downloaded from other nodes. This procedure results in system-wide interfaces with significant
overhead and prevents interface optimization.
12.3.8 Contiki
Contiki is a lightweight and flexible OS for  bit computers and integrated microcontrollers. It is built
around an event-driven kernel []. Optional preemptive multithreading is provided as a linkable
process library. Contiki was developed by Adam Dunkels et al. at the Swedish Institute of Computer
Science (SICS). Dunkels also developed Protothreads which are extreme lightweight and stackless
threads for memory-constrained systems and he developed a TCP/IP stack for embedded systems
called uIP. Both, Protothreads and uIP, are part of Contiki.
The OS as well as its components are developed under an open-source license, which simpli-
fies porting onto a wide range of computers and microcontrollers. his includes Texas Instruments
MSP and Atmels AVR controllers which are used in a wide range of sensor networks [].
12.3.8.1 Architecture
Contiki is divided into a core, containing fixed code, and a program part, containing reloadable
components. hese components are executed processes. Due to a few similarities to existing sensor
network platforms, Contiki's core provides only a small functionality. Even the communication stack
isimplementedasaserviceontopofthekernel,althoughitbelongslogicallytothecore.herefore,
Contiki uses an event-driven kernel.
 
Search WWH ::




Custom Search