The Contiki Operating System
- Author:
- Adam Dunkels <adam@sics.se>
The Contiki operating system is a highly portable, minimalistic operating system for a variety of resource constrained systems with memory size on the order of a few kilobytes. Contiki provides a simple event-driven kernel with optional preemptive multithreading, interprocess communication using message passing signals, a dynamic process structure and support for loading and unloading programs, native TCP/IP support using the uIP TCP/IP stack, and a graphical subsystem with either direct graphic support for directly connected terminals or networked virtual display with VNC or Telnet.
Contiki is written in the C programming language and is freely available as open source under a BSD-style license. More information about Contiki can be found at the Contiki home page: http://www.sics.se/~adam/contiki/
The ESB (Embedded Sensor Board) is a prototype wireless sensor network device developed at Freie Universität Berlin. The ESB consists of a Texas Instruments MSP430 low-power microcontroller with 2k RAM and 60k flash ROM, a TR1001 radio transceiver, a 32k serial EEPROM, an RS232 port, a JTAG port, a beeper, and a number of sensors (passive IR, active IR sender/receiver, vibration/tilt, microphone, temperature).
The Contiki/ESB port brings support for TCP/IP, loadable programs (over-the-air programming), event-based multitasking, and cooperative multi-threading (preemptive threading is implemented but not yet fully tested) to the ESB. The Contiki/ESB port contains drivers for most of the sensors. The drivers were mostly adapted from sources written by FU Berlin.
- See also:
- The Scatterweb/ESB board
Contiki is based on an event-driven kernel but provides support for both multi-threading and a lightweight stackless thread-like construct called protothreads.
- See also:
- Contiki processes
Contiki multi-threading
Protothreads
Contiki includes the uIP TCP/IP stack (http://www.sics.se/~adam/uip/) that provides Contiki with TCP/IP networking support. uIP provides the protocols TCP, UDP, IP, and ARP.
In Contiki, the TCP/IP stack typically is used for all communication.
- See also:
- The uIP TCP/IP stack documentation
The Contiki/uIP interface
Protosockets library
Contiki provides a set of convenience libraries for memory management and linked list operations.
- See also:
- Event timer library
Simple timer library
Memory block management
Linked list library
Generated on Wed Jul 6 01:18:59 2005 for Contiki/ESB by
1.3.6