====== Contiki auf dem (Windows-)PC ====== Für das schnelle Prototyping von Applikationen empfiehlt es sich Contiki erst einmal auf dem PC laufen zu lassen. Anwendungen lassen sich dann mit dem Target ''TARGET=minimal-net'' für die native Umgebung kompilieren. Voraussetzungen: * Windows7 * Cygwin32 (64-bit funktioniert wg. des Compilers nicht) * gcc * Patch für WPCAP in \usr\include\w32api\in6addr.h [[https://github.com/contiki-os/contiki/blob/master/examples/er-rest-example/in6addr.patch|Link]] [[https://github.com/contiki-os/contiki/tree/master/examples/er-rest-example |Beschreibung]] **Einstellungen:** * ''platform/minimal-net/contiki_conf.h'' dort kann die WPCAP Interface-Addresse angegeben werden, dann muss beim Start der Contiki-Anwendung nicht die IP-Adresse des Interfaces angegeben werden. * In ''core/contiki-default-conf.h'' die ''UIP_CONF_BUFFER_SIZE'' auf einen größeren Wert als 128 setzen **Stuff:** * sollte Contiki abstürzen, lässt sich mittels ''awk '/^[0-9]/{print $2}' testprog.exe.stackdump | addr2line -f -e testprog.exe'' herausfinden, in welcher Funktion der Absturz erfolgte **FAQ:** * Es können Pakete gesendet werden, Wireshark zeigt auch eingehenden Traffic an, in Contiki kommt aber scheinbar nichts an: Lösung die ''UIP_CONF_BUFFER_SIZE'' ist zu klein (Standard 128 Byte). Größere Pakete werden verworfen. * Debugging muss in den einzelnen Source-Dateien ein, bzw. ausgeschaltet werden: //#define DEBUG DEBUG_NONE #define DEBUG DEBUG_FULL * Contiki sendet selbst Router Advertisements und RPL-Nachrichten: standardmäßig ist RPL aktiv (ausschalten?): Change **/platform/minimal-net/contiki-conf.h** to #define UIP_CONF_IPV6_RPL 1 #define RPL_BORDER_ROUTER 1