====== 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