Produkcja


Elektronika
Minimoduły
Programatory
Adaptery SMD/DIL
Contiki OS
Contiki Instant IDE
Do pobrania

Luksfery
Ręcznie malowane
Podświetlane LED
Zegary
Lampy

System operacyjny Contiki OS

Ekran serwera VNC uruchomionego pod Contiki OS w wersji dla AVR

Ekran serwera VNC uruchomionego pod Contiki OS w wersji dla AVR

Contiki OS   jest nazwą projektu open-source, który rozwija przenośny, wielozadaniowy system operacyjny dla sieciowych systemów sterowania i akwizycji danych opartych na kontrolerach jednoukladowych z niewielką ilościa pamięci.

 

Pomimo dużej funkjonalności ( wielozadaniowość, wbudowany stos TCP/IP ) Contiki OS potrzebuje do działania jednynie kilku kilobajtów pamięci programu oraz kilkuset bajtów pamięci RAM.  Pełny system, skompilowany razem z graficznym interfejsem uzytkownika potrzebuje około  30kB RAM.

Jądro systemu (kernel) oraz wiekszość funkcji systemowych zaprojektował Adam Dunkels ( Szwecki instytut informatyki ).

 

Kod systemu Contiki OS mozna uruchomić na wielu platformach sprzętowych - od mikrokontrolerów jednoukładowych takich jak m.in. TI MSP430, Atmel AVR, ARM, aż po stare 8-mio bitowe mikrokomputery takie jak C64  lub Appple II. Kod źródłowy systemu ( w języku C )  jest w znacznej części wspólny dla wszystkich platform sprzętowych. Aktualna wersja robocza oraz stabilne wersje kodu są dostępne na stronie sourceforge. Dostępne jest również preinstalowane graficzne środkowsko oparte o Eclipse oraz Ubuntu - Contiki Instant IDE.

Wersja kodu źródłowego z obsługą modułów MB-128/MB-128-USBCAN  jest do pobrania tutaj

 

Charakterystyka systemu

Strona generowana przez serwer www pod systemem Contiki OS ( moduł MB-128 )

Strona generowana przez serwer www pod systemem Contiki OS ( moduł MB-128 )

Contiki OS obsługuje ( jako opcje ) wielowątkowość w ramach jednego procesu, komunikację między procesami przy użyciu kolejek komunikatów i zdarzeń., jak również opcjonalny graficzny interfejs użytkownika (GUI). GUI może być zrealizowany albo na lokalnym wyświetlaczu albo na zdalnym terminalu graficznym podłączonym przez protokół VNC lub Telnet.

 

  • Wielozadaniowy kernel
  • Opcjonalną wielowątkowość z wywłaszczaniem w ramach jednego procesu
  • Koncepcja uproszczonych wątków (Protothreads) pracujących na wspólnym stosie
  • Pełny stos TCP/IP, z obsługą IPv6
  • System graficzny komunikacji z użytkownikiem
  • Zdalna konsola przez serwer VNC (Virtual Network Computing)
  • Przeglądarka www (wg autorów najmniejsza na świecie pod względem wielkości kodu)
  • wbudowany server www
  • Serwer oraz klient telnet
  • Wygaszacz ekranu
  • Dynamiczne ładowanie kodu progamu podczas pracy systemu ( w formacie elf )
  • liczne aplikacje do akwizycji danych i sterowania , dedykowane na konkretne platformy sprzętowe

 

 


Przykładowa aplikacja sterująca ( applet Java ) uruchomiona z serwera www w module MB-128