2006-06-17 22:41:10 +00:00
|
|
|
/**
|
|
|
|
|
|
|
|
\mainpage The Contiki Operating System 2.x
|
|
|
|
|
|
|
|
\author Adam Dunkels <adam@dunkels.com>
|
|
|
|
|
|
|
|
The Contiki operating system is a highly portable, minimalistic
|
|
|
|
operating system for a variety of constrained systems ranging from
|
|
|
|
modern 8-bit microcontrollers for embedded systems to old 8-bit
|
|
|
|
homecomputers. 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/
|
|
|
|
|
2006-10-02 22:04:09 +00:00
|
|
|
\section contiki-mainpage-getting-started Getting started with Contiki
|
2006-06-17 22:41:10 +00:00
|
|
|
|
2006-10-02 22:04:09 +00:00
|
|
|
Contiki is designed to run on many different \ref platform "platforms". It is also
|
|
|
|
possible to compile and build both the Contiki system and Contiki
|
|
|
|
applications on many different development platforms.
|
2006-06-17 22:41:10 +00:00
|
|
|
|
2006-10-02 22:04:09 +00:00
|
|
|
See \ref esb-getting-started "Getting started with Contiki for the ESB platform
|
|
|
|
|
|
|
|
\section contiki-mainpage-building Building the Contiki system and its applications
|
|
|
|
|
|
|
|
The Contiki build system is designed to make it easy to compile
|
|
|
|
Contiki applications for either to a hardware platform or into a
|
|
|
|
simulation platform by simply supplying different parameters to the
|
|
|
|
<tt>make</tt> command, without having to edit makefiles or modify
|
|
|
|
the application code.
|
|
|
|
|
|
|
|
See \ref buildsystem
|
2006-06-17 22:41:10 +00:00
|
|
|
|
|
|
|
\section contiki-mainpage-threads 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 pt "Protothreads"
|
|
|
|
\sa \ref etimer "Event timers"
|
|
|
|
\sa \ref mt "Optional multi-threading"
|
|
|
|
|
|
|
|
\section contiki-mainpage-lib Libraries
|
|
|
|
|
|
|
|
Contiki provides a set of convenience libraries for memory management
|
|
|
|
and linked list operations.
|
|
|
|
|
|
|
|
\sa \ref timer "Simple timer library"
|
|
|
|
\sa \ref memb "Memory block management"
|
|
|
|
\sa \ref list "Linked list library"
|
|
|
|
|
2006-10-02 22:04:09 +00:00
|
|
|
\section contiki-mainpage-tcpip TCP/IP support
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
\sa \ref uip "The uIP TCP/IP stack documentation"
|
|
|
|
\sa \ref tcpip "The Contiki/uIP interface"
|
|
|
|
\sa \ref psock "Protosockets library"
|
|
|
|
|
|
|
|
|
|
|
|
*/
|