5 Portierung von ContikiOS 2.4
Die Portierung auf neue Hardware-Plattformen wird dadurch erleichtert, dass bei der
Entwicklung des Betriebssystems Contiki nach der Premisse vorgegangen wurde, den
hardwareabhängigen Code vollständig von dem funktionalen Code des Betriebssystems zu
trennen. Bei einer Portierung sind folgende Bereiche betroffen und müssen gegebenenfalls
neu implementiert werden: [24]
• die Zeitsteuerung (clock)
•
die I/O-Einheiten (Treiber für Netzwerk, Sensoren, serielle Schnittstelle und ähnli-
ches)
• der ELF-Loader
• die Implementierungen zum Multi-Threading
• Anpassungen an die Eigenheiten der Compiler
• die Makefiles
Vereinfacht wird die Portierung, falls bereits Implementierungen innerhalb des Contiki-
Betriebssystems für den Prozessor, beziehungsweise die Prozessor-Familie enthalten sind
und der Quellcode lediglich an spezifische Eigenheiten der Hardware-Plattform angepasset
werden muss. Da der innerhalb dieses Praxisprojekts zum Einsatz kommende Prozessor
ATmega128RFA1 des Herstellers Atmel zu anderen Prozessoren und Plattformen der
AVR-Serie, wie dem Raven Board, verwandt ist, werden als Basis für die Portierung die
entsprechenden, bereits in Contiki implementierten Treiber genutzt.
5.1 Erstellen einer neuen Hardware-Plattform
Um auf Basis einer bereits vorhandenen eine neue Hardware-Plattform zu erstellen,
wird das zugehörige Plattform-Verzeichnis (platform/avr-raven) kopiert und die Kopie zum
Beispiel in platform/avr-atmega128rfa1 umbenannt. Wichtig ist hierbei, dass der neue Name
dieses Verzeichnisses gleichzeitig die Bezeichnung der neuen Plattform innerhalb des ge-
samten Contiki-Systems darstellt und von nun an unverändert bei der Vollziehung weiterer
Schritte übernommen werden muss. Da der Hauptaugenmerk dieses Praxisprojekts auf der
Realisierung der Kommunikation über das 6LoWPAN-Protokoll liegt, gehen die nächsten
Abschnitte vorwiegend auf Änderungen an den innerhalb des Plattform-Verzeichnisses
liegenden Dateien ein, die für die Implementierung der drahtlosen Kommunikation not-
wendig sind.
30
Comentários a estes Manuais