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/12/09 11:01] – [Schritt 1: Füge die project-conf.h Datei zum Makefile hinzu] 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 =====
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> 
 + 
 +Weiterhin ist es sinnvoll im ''Makefile'' einen Default-Wert für das Target anzugeben:\\ 
 + 
 +<code make> 
 +# Project specific config file - start 
 +DEFINES+=PROJECT_CONF_H=\"project-conf.h\" 
 +# Project specific config file - end 
 + 
 +all: udp-server udp-client
  
-Weiterhin ist es sinnvoll einen Default-Wert für das Make-Target anzugeben.\\ 
-Zum Beispiel so: 
-<code bash> 
 # Project specific compile target - start # 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 # Project specific compile target - end
  
 CONTIKI = ../.. CONTIKI = ../..
-# Project specific config file - start 
-CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\" 
-# Project specific config file - end 
- 
 CONTIKI_WITH_IPV6 = 1 CONTIKI_WITH_IPV6 = 1
 +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 +
-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 +Die Datei  
-der Plattformkonfiguration geladen. Wir müssen diese aber bereits am Anfang hinzufügen, damit+''contiki/platform/minimal-net/contiki-conf.h'' muss angepasst werden.\\ 
 +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
 die Abhängigkeiten korrekt aufgelöst werden. die Abhängigkeiten korrekt aufgelöst werden.
  
Zeile 70: 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 83: 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.1481281302.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)