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<69>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"
|
|||
|
|
|||
|
*/
|