3.3.2 Ablauf der Datenübertragung . . . . . . . . . . . . . . . . . . . . . 18
3.3.2.1 Initialisierung und Konfiguration des Transceiver-Moduls 18
3.3.2.2 Empfang von Daten . . . . . . . . . . . . . . . . . . . . . 19
3.3.2.3 Versenden von Daten . . . . . . . . . . . . . . . . . . . . 20
3.4 Erste Funktionsüberprüfung . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 Grundlagen zu ContikiOS 22
4.1 Multi-Threading und Protothreads . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Events und Interprozesskommunikation . . . . . . . . . . . . . . . . . . . 22
4.3 Verzeichnisstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3.1 Das Anwendungsverzeichnis (apps) . . . . . . . . . . . . . . . . . . 23
4.3.2 Das Systemverzeichis (core) . . . . . . . . . . . . . . . . . . . . . . 23
4.3.3 Prozessorspezifischer Code (cpu) . . . . . . . . . . . . . . . . . . . 24
4.3.4 Dokumentation zu Contiki (doc) . . . . . . . . . . . . . . . . . . . 25
4.3.5 Beispielprojekte (examples) . . . . . . . . . . . . . . . . . . . . . . 25
4.3.6 Plattformspezifischer Code (platform) . . . . . . . . . . . . . . . . 25
4.3.7 Hilfsprogramme (tools) . . . . . . . . . . . . . . . . . . . . . . . . 25
4.4 Das Contiki Build-System . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4.1 Nutzung des Programmes make unter Windows . . . . . . . . . . . 26
4.4.2 Aufbau der Makefiles . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Portierung von ContikiOS 2.4 30
5.1 Erstellen einer neuen Hardware-Plattform . . . . . . . . . . . . . . . . . . 30
5.2 Anpassen der CPU-spezifischen Hardware-Abstraktionen und Treiber . . . 31
5.2.1 Die Registermap . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.2 Der Kommunikationstreiber . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Portierung auf eine bisher nicht implementierte Prozessor-Familie . . . . . 34
5.4 Probleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6 Arbeiten mit ContikiOS 2.5 35
6.1 Kompatibilität zu älteren Contiki-Versionen . . . . . . . . . . . . . . . . . 35
6.1.1 Kompatibilität der Befehle . . . . . . . . . . . . . . . . . . . . . . 35
6.1.2 Kompatibilität des Kommunikationsprotokolls . . . . . . . . . . . 36
6.2 Tests zur Datenübertragungsgeschwindigkeit . . . . . . . . . . . . . . . . . 36
7 Fazit / Ausblick 38
A Anhang 40
A.1 Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
A.2 Protokolle der Geschwindigkeitstests . . . . . . . . . . . . . . . . . . . . . 47
Abbildungsverzeichnis 49
Tabellenverzeichnis 50
IV
Kommentare zu diesen Handbüchern