Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:minimal-net-linux

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:minimal-net-linux [2016/11/29 15:16] – [Schritt 3: Passe die Datei project-conf.h an] admincontiki:minimal-net-linux [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Contiki als Linux Prozess ====== ====== Contiki als Linux Prozess ======
  
- 
-===== Project Configuration File===== 
  
 ===== Verwendung einer projektspezifischen Grundkonfiguration in Contiki ===== ===== Verwendung einer projektspezifischen Grundkonfiguration in Contiki =====
  
  
-The sequence of the definitions that are taken into account while compiling is:+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/core/contiki-default-conf.h'' \\
Zeile 21: Zeile 19:
 ==== Schritt 1: Füge die project-conf.h Datei zum Makefile hinzu ==== ==== Schritt 1: Füge die project-conf.h Datei zum Makefile hinzu ====
  
-Dazu muss die folgende Zeile zum Makefile des Projekts hinzugefügt werden: +Dazu muss die folgende Zeile zum ''Makefile'' des Projekts hinzugefügt werden: 
-   CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\"+<code make>  
 + DEFINES+=PROJECT_CONF_H=\"project-conf.h\" 
 +</code>
  
-Zum Beispiel so+Weiterhin ist es sinnvoll im ''Makefile'' einen Default-Wert für das Target anzugeben:\\ 
-<code bash>+ 
 +<code make> 
 +# Project specific config file - start 
 +DEFINES+=PROJECT_CONF_H=\"project-conf.h\" 
 +# Project specific config file - end 
 + 
 +all: udp-server udp-client 
 + 
 +# Project specific compile target - start
 ifndef TARGET ifndef TARGET
 TARGET = minimal-net TARGET = minimal-net
 +CFLAGS += -DPROJECT_TARGET="minimal-net"
 endif endif
 +# Project specific compile target - end
  
 CONTIKI = ../.. CONTIKI = ../..
-CFLAGS +-DPROJECT_CONF_H=\"project-conf.h\"+CONTIKI_WITH_IPV6 
 +include $(CONTIKI)/Makefile.include
 </code> </code>
-==== Schritt 2: Mache die project-conf.h Datei in Plattform bekannt ====+==== Schritt 2: Integriere die Datei project-conf.h in die Plattform ====
  
-Um die projektspezifischen Einstellungen wirksam werden zu lassen muss in den allermeisten +Die Datei  
-Fällen die Datei ''contiki/platform/minimal-net/contiki-conf.h'' angepasst werden. Nur in  +''contiki/platform/minimal-net/contiki-conf.h'' muss angepasst werden.\\ 
-wenigen Fällen werden hier bereits projektspezifische Einstellungen korrekt geladen. +In den meisten Plattformen werden projektspezifische Einstellungen gar nicht, oder erst am Ende 
- +der Plattformkonfiguration geladen. Diese müssen aber bereits am Anfang bekannt sein, damit
-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. die Abhängigkeiten korrekt aufgelöst werden.
  
Zeile 63: Zeile 72:
  
 <code c> <code c>
-#ifndef PROJECT_CONF_H__ +/*  
-#define PROJECT_CONF_H__+*     My project-conf.h file  
 +*     for TARGET=minimal-net 
 +*/ 
 + 
 +#ifndef PROJECT_CONF_H_ 
 +#define PROJECT_CONF_H_
  
 #ifdef UIP_CONF_IPV6_RPL #ifdef UIP_CONF_IPV6_RPL
Zeile 76: Zeile 90:
 #endif /*RPL_BORDER_ROUTER*/ #endif /*RPL_BORDER_ROUTER*/
  
-#endif /* PROJECT_CONF_H */+UIP_CONF_BUFFER_SIZE 1300 
 + 
 +#endif /* PROJECT_CONF_H_ */
 </code> </code>
 ==== Schritt 4: Recompile ==== ==== Schritt 4: Recompile ====
  
 +<code bash>
     make clean     make clean
-    make TARGET=xyz+    make <TARGET=xyz
 +</code> 
 + 
 +===== Erkunden und Dokumentieren der Grundfähigkeiten des Systems ===== 
 + 
 +Da Contiki Programme meistens nicht interaktiv erkundet werden können, ist es ratsam wichtige Einstellungen 
 +direkt anzeigen zu lassen um Vergleiche zwischen verschiedenen Versionen von Binärprogrammen zu ermöglichen. 
 +Dazu wird der folgende Code an einer passenden Stelle im Programm eingefügt: 
 + 
 +<code c> 
 + PRINTF("Build --- %s\n",__DATE__); /*Compile-Datum*/ 
 + PRINTF("      --- %s\n",__TIME__); /*Compile-Zeit*/ 
 + PRINTF("      --- %s\n",__FILE__); /*Compile-Datei*/ 
 + 
 + printf("      --- " CONTIKI_VERSION_STRING "\n"); 
 + printf("\nUIP_APPDATA: %u\nUIP_CONF_BUFFER: %u\n", UIP_APPDATA_SIZE, UIP_CONF_BUFFER_SIZE); 
 + 
 +#if PROJECT_TARGET != minimal-net 
 + 
 +  printf("      --- " BOARD_STRING "\n"); 
 +  printf(" Net: "); 
 +  printf("%s\n", NETSTACK_NETWORK.name); 
 +  printf(" MAC: "); 
 +  printf("%s\n", NETSTACK_MAC.name); 
 +  printf(" RDC: "); 
 +  printf("%s", NETSTACK_RDC.name); 
 + 
 +#endif /* PROJECT_TARGET */ 
 + 
 + 
 +</code>
contiki/minimal-net-linux.1480432587.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)