Atmel AVR2070 Bedienungsanleitung Seite 39

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 59
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 38
5 Portierung von ContikiOS 2.4
rf230bb.c
Die Implementierung der innerhalb der Headerdatei deklarierten Prototypen findet sich in
der Datei rf230bb.c wieder. Es ist nicht nötig, Anpassungen an dieser Datei vorzunehmen.
5.3 Portierung auf eine bisher nicht implementierte
Prozessor-Familie
Die Vorgehensweise bei der Portierung von Contiki an eine gänzlich neue Mikroprozessor-
Familie gestaltet sich dahingehend schwieriger, dass alle Hardware-Treiber durch den Pro-
grammierer neu entwickelt werden müssen. Allerdings beinhaltet das Contiki-Betriebssystem
eine native Implementierung (native interface) für den Mikroprozessor und die Hardware-
Plattform, die das Grundgerüst der Contiki-Funktionen abbildet und die Portierung auf
neue Prozessor-Typen vereinfacht.
5.4 Probleme
Nach der Bearbeitung der obigen Schritte sollte zumindest eine Kompilierung möglich
sein und die grundsätzlichen Kommunikationsfunktionen genutzt werden können. Der
erste Versuchs der Kompilierung war jedoch durch die Ausgabe von unerwartet vielen Feh-
lermeldungen gekennzeichnet. Obwohl einige dieser Fehler unterdrückt werden konnten,
war eine vollständige Kompilierung des Contiki-Betriebssystems nicht möglich gewor-
den. Als eine Fehlerquelle hat sich hierbei der Zugriff auf die Register und Subregister
herausgestellt.
Das erste Problem hierbei ist, dass bei der Adressierung der Register des ATmega128RFA1
die bisher innerhalb der Raven-Plattform genutzte Adressierungsbreite von 8 Bit für
die Kontrolle des Transceivers über das SPI-Register nicht mehr ausreicht und es so-
mit zu einer Diskrepanz (Mismatch) zwischen den in der Registermap angegebenen
Registeradressen und dem bei der Deklaration der Prototypen vorgesehenden Datentyp
uint8_t (8 Bit unsigned Integer) kommt. Dieser Fehler ließe sich durch eine Änderung an
der Prototypen-Deklaration und einer Überladung der implementierenden Funktionen
beheben. Allerdings müsste hierzu untersucht werden, ob neben den Treibern für die
Realsierung der Kommunikation weitere Teile von Contiki hiervon betroffen sind und
gegebenenfalls weitere Änderungen vorgenommen werden müssten.
Das größere Problem liegt jedoch in der Realisierung der Funktionen für die Zugriffe
auf die Subregister des ATmega128RFA1 über die in der Header-Dateien definierten
Makros. Obwohl sich außer der Breite der Registeradressen nichts an der Verarbeitung
der Registerzugriffe ändert, wird die Kompilierung mit der Meldung a/jointfilesconvert/442035/bgebrochen, dass
zu wenig Argumente für die Ausführung der Funktion vorhanden seien. Der Grund für
diesen Fehler konnte auch nach längerer Recherche nicht gefunden werden.
34
Seitenansicht 38
1 2 ... 34 35 36 37 38 39 40 41 42 43 44 ... 58 59

Kommentare zu diesen Handbüchern

Keine Kommentare