mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-11-20 10:35:34 +00:00
Contiki OS for 6502 based computers
7165a3866f
* the new version makes use of MAC-layer feedback so that bad paths can be identified quicker and then avoided. * the new code uses transport layer ACKs that contain feedback from the collect protocol: when a packet cannot be forwarded due to lack of resources, the ACK contains a flag that indicates that the packet could not be forwarded. ACKs also contain the routing metric of the sender, which improves agility in face of rapid path changes. * loop detection and management has been improved: with higher path metric agility, the system is more prone to short-lived routing loops. Instead of dropping looping packets, the new version adjusts the routing metric for the routes that exhibit loops so that the risk for future loops is reduced. * make use of packet attributes to inform the MAC layer of how many times packets should be retransmitted. |
||
---|---|---|
apps | ||
backyard | ||
core | ||
cpu | ||
doc | ||
examples | ||
platform | ||
tools | ||
Makefile.include | ||
README | ||
README-BUILDING | ||
README-EXAMPLES |
Contiki is an open source, highly portable, multi-tasking operating system for memory-constrained networked embedded systems written by Adam Dunkels at the Networked Embedded Systems group at the Swedish Institute of Computer Science. Contiki is designed for embedded systems with small amounts of memory. A typical Contiki configuration is 2 kilobytes of RAM and 40 kilobytes of ROM. Contiki consists of an event-driven kernel on top of which application programs are dynamically loaded and unloaded at runtime. Contiki processes use light-weight protothreads that provide a linear, thread-like programming style on top of the event-driven kernel. Contiki also supports per-process optional preemptive multi-threading, interprocess communication using message passing through events, as well as an optional GUI subsystem with either direct graphic support for locally connected terminals or networked virtual display with VNC or over Telnet. Contiki contains two communication stacks: uIP and Rime. uIP is a small RFC-compliant TCP/IP stack that makes it possible for Contiki to communicate over the Internet. Rime is a lightweight communication stack designed for low-power radios. Rime provides a wide range of communication primitives, from best-effort local area broadcast, to reliable multi-hop bulk data flooding. Contiki runs on a variety of platform ranging from embedded microcontrollers such as the MSP430 and the AVR to old homecomputers. Code footprint is on the order of kilobytes and memory usage can be configured to be as low as tens of bytes. 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/contiki/