Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Contiki als Linux Prozess
Project Configuration File
Verwendung einer projektspezifischen Grundkonfiguration in Contiki
Die Reihenfolge mit der die Definitionen bei der Compilierung eingebunden werden ist die folgende:
- Definitionen in
contiki-x.x/core/contiki-default-conf.h
- Definitionen in
contiki-x.x/platform/xy/contiki-conf.h
- Definitionen in
contiki-x.x/examples/your_working_folder/project-conf.h
Es ist meistens sinnvoll projektspezifische Änderungen über eine projektspezifische Konfigurationsdatei
hinzuzufügen, statt Änderungen direkt in core
oder platform
vorzunehmen.
Ein Contiki Projekt kann dazu die optionale Konfigurationsdatei project-conf.h
verwenden.
Die Benutzung dieser Datei ist allerdings nicht voreingestellt sonder muss noch aktiviert werden.
Zur Aktivierung sind die folgenden Schritte notwendig:
Schritt 1: Füge die project-conf.h Datei zum Makefile hinzu
Dazu muss die folgende Zeile zum Makefile des Projekts hinzugefügt werden:
CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"
Zum Beispiel so:
ifndef TARGET TARGET = minimal-net endif CONTIKI = ../.. CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"
Schritt 2: Mache die project-conf.h Datei in Plattform bekannt
Um die projektspezifischen Einstellungen wirksam werden zu lassen muss in den allermeisten
Fällen die Datei contiki/platform/minimal-net/contiki-conf.h
angepasst werden. Nur in
wenigen Fällen werden hier bereits projektspezifische Einstellungen korrekt geladen.
In den meisten Fällen werden projektspezifische Einstellungen gar nicht, oder erst am Ende der Plattformkonfiguration geladen. Wir müssen diese aber bereits am Anfang hinzufügen, damit die Abhängigkeiten korrekt aufgelöst werden.
... #ifndef CONTIKI_CONF_H #define CONTIKI_CONF_H /*---------------------------------------------------------------------------*/ /* Include project specific config */ /* PROJECT_CONF_H might be defined in the project Makefile */ #ifdef PROJECT_CONF_H #include PROJECT_CONF_H #endif /* PROJECT_CONF_H */ /*---------------------------------------------------------------------------*/
Schritt 3: Anpassen der Datei project-conf.h
contiki-x.x/examples/your_working_folder/project-conf.h
#ifndef PROJECT_CONF_H__ #define PROJECT_CONF_H__ #ifdef UIP_CONF_IPV6_RPL #undef UIP_CONF_IPV6_RPL #define UIP_CONF_IPV6_RPL 0 #endif /*UIP_CONF_IPV6_RPL*/ #ifdef RPL_BORDER_ROUTER #undef RPL_BORDER_ROUTER #define RPL_BORDER_ROUTER 0 #endif /*RPL_BORDER_ROUTER*/ #endif /* PROJECT_CONF_H */
Schritt 4: Recompile
make clean make TARGET=xyz