72 lines
2.7 KiB
Plaintext
72 lines
2.7 KiB
Plaintext
/**
|
|
|
|
\mainpage 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.
|
|
|
|
\sa \ref esb "The Scatterweb/ESB board"
|
|
|
|
\section contiki-esb-threads Processes, multi-threading and protothreads
|
|
|
|
Contiki is based on an event-driven kernel but provides support for
|
|
both multi-threading and a lightweight stackless thread-like construct
|
|
called protothreads.
|
|
|
|
\sa \ref process "Contiki processes"
|
|
\sa \ref mt "Contiki multi-threading"
|
|
\sa \ref pt "Protothreads"
|
|
|
|
\section contiki-sensors Sensor interfaces
|
|
|
|
\section contiki-esb-communication Communication
|
|
|
|
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.
|
|
|
|
\sa \ref uip "The uIP TCP/IP stack documentation"
|
|
\sa \ref tcpip "The Contiki/uIP interface"
|
|
\sa \ref psock "Protosockets library"
|
|
|
|
\section contiki-esb-lib Libraries
|
|
|
|
Contiki provides a set of convenience libraries for memory management
|
|
and linked list operations.
|
|
|
|
\sa \ref etimer "Event timer library"
|
|
\sa \ref timer "Simple timer library"
|
|
\sa \ref memb "Memory block management"
|
|
\sa \ref list "Linked list library"
|
|
|
|
*/ |