Inhaltsverzeichnis
Installation der Contiki Entwicklungsumgebung
Es existieren verschiedene Möglichkeiten zu einer lauffähige Contiki-Entwicklungsumgebung zu gelangen.
- Am einfachsten ist die Verwendung von Instant Contiki innerhalb einer Virtuellen Maschine
- Contiki auch direkt unter Linux
- oder Windows übersetzt werden.
- So lässt sich die Funktion der Entwicklungsumgebung überprüfen.
1. Instant Contiki
Benötigte Hardware:
- PC mit Windows/Linux oder einen Mac
- optional: ein Mikrocontroller-Board: z.B. AVR Raven (ATmega1284P und ATmega3290P sowie AT86RF230 802.15.4 Funkchip) + Raven RZ USB Stick
- ein Programmieradapter z.B. JTAGICE3
Benötigte Software:
- VirtualBox oder VMware Player installieren,
- Instant Contiki Image Datei herunterladen und in der VM starten.
Installation der Virtualisierungssoftware
Je nachdem, welches Betriebsystem genutzt wird, müssen die passenden VMware Player oder VirtualBox-Installationsdateien heruntergeladen werden. Wenn Sie den VMWare Player benutzen ist es notwendig sich zuvor bei VMware zu registrieren.
2. Direktes Übersetzen unter Linux
Um Contiki Programme nativ auszuführen TARGET=minimal-net
oder TARGET=nativ
wird nur der normale gcc
benötigt.
Soll Contiki aber für eine bestimmte Hardware-Plattform eines Mikrocontrollers übersetzt werden, so muss wird ein entsprechend angepasster
gcc und die Bibliotheken für diese Plattform benötigt.
Die folgenden Befehle installieren die AVR-Toolchain unter Ubuntu:
apt-get update apt-get install lib32z1 apt-get install gcc-avr gdb-avr avrdude binutils-avr avr-libc apt-get install git build-essential lib32ncurses5-dev git clone git://github.com/contiki-os/contiki.git /home/contiki
Anleitung analog zu: https://github.com/sieben/instant_contiki
Hier findet sich eine weitere, etwas detailliertere Anleitung: contiki:installation_linux
3. Direktes Übersetzen unter Windows (mit Cygwin)
- Windows mit folgender Software:
- Cygwin + make
- AVR Studio 6 (wenn der JTAG ICE3 Programmer benutzt wird)
- WinAVR enthält den AVR-GCC Compiler
Um auf dem Windows Gastsystem Contiki Software kompilieren zu können wird Cygwin + make Utility sowie WinAVR benötigt. Cygwin kann unter http://cygwin.com/install.html heruntergeladen werden. Während der Installation ist es möglich das Make Utility mit zu installieren. WinAVR kann unter http://sourceforge.net/projects/winavr/files/WinAVR/ heruntergeladen werden.
Installation von Cygwin
1. Cygwin herunterladen und installieren -> http://cygwin.com/setup-x86.exe 2. Cygwin Setup ausführen -> "Install from the Internet" wählen (Bei der Installation auf mehreren Rechnern kann es eventuell auch hilfreich sein hier eine andere Option zu wählen und die Dateien erstmal herunterzuladen.) -> Root Verzeichnis C:\cygwin -> Setup weiter folgen bis: "Auswahl der Download Quelle" -> einen bevorzugten Download-Server wählen (z.B. ruhr-uni-bochum.de) -> Bei "Select Packages": - "Devel" expandieren - Neben dem Namen "Devel" auf das Pfeilkreissymbol klicken bis "Install" erscheint (ebenso können auch Pakete abgewählt werden). - Dann auf "weiter" klicken.
Zum Programmupload auf den Mikrocontroller kann das AVR Studio genutzt werden. Es wird empfohlen AVR Studio 6 zu verwenden, da dieses die Möglichkeit bietet .elf Files zu Nutzen, diese Funktion ist in AVR Studio 5 nicht vorhanden. Unter http://www.mikrocontroller.net/articles/AVR-Studio#Direktlinks_Installer ist es möglich AVR Studio ohne Anmeldung herunterzuladen.
Nach Abschluß der Installation kann nun der JTAGICE mkII zuerst mit dem PC verbunden werden und anschließend mit dem Gastsystem verbunden werden. Dazu im laufenden Windows Gastsystem im Menü auf Virtual Machine/Removable Devices/ den Menüpunkt „atmel jtagice mkII“ auswählen und Windows die Treiber selbst suchen und installieren lassen.
4. Überprüfung der korrekten Installation
Nachdem Sie die Entwicklungsumgebung installiert haben, können Sie in das Verzeichnis /contiki/examples/hello-world/
wechseln und anhand der
folgenden Befehle überprüfen, ob alles korrekt installiert wurde:
cd home/contiki/examples/hello-world/ make TARGET=minimal-net clean make TARGET=minimal-net ./hello-world.minimal-net