contiki:howto_compile
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
contiki:howto_compile [2012/03/15 06:42] – [Installation vom instant-contiki und Kompilieren eines ersten Programms] admin | contiki:howto_compile [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
==== Installation vom instant-contiki und Kompilieren eines ersten Programms ==== | ==== Installation vom instant-contiki und Kompilieren eines ersten Programms ==== | ||
- | - Installiere | + | - Installiere |
- | - Instant-contiki | + | - HowTo für den VMWare Player: http:// |
- | - und als virtuelle maschine im VMWare Player | + | |
- | - **Vorsicht: | + | |
- (optional) aus Bequemlichkeit arbeite ich auf einem gesharten Verzeichnis (also ein Verzeichnis, | - (optional) aus Bequemlichkeit arbeite ich auf einem gesharten Verzeichnis (also ein Verzeichnis, | ||
* Im VMWare Player unter "Edit virtual machine settings" | * Im VMWare Player unter "Edit virtual machine settings" | ||
- | * Lasche | + | * den Reiter |
* " | * " | ||
* contiki-2.5 source code (http:// | * contiki-2.5 source code (http:// | ||
Zeile 18: | Zeile 16: | ||
* '' | * '' | ||
* Die neu erstelle Datei '' | * Die neu erstelle Datei '' | ||
- | * Um das eeprom-binary zu erstellen, muss man noch folgendes command ausführen: | + | * Um das eeprom-binary zu erstellen, muss man noch folgendes command ausführen: |
- | - Eigenes Programm kompilieren (einfaches Beispiel aus dem Gedächtnis - meine Anfangstests waren noch mit 2.4) | + | - Eigenes Programm kompilieren (einfaches Beispiel aus dem Gedächtnis - keine Garantie!) |
* '' | * '' | ||
* '' | * '' | ||
Zeile 25: | Zeile 23: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * die Zeile AUTOSTART_PROCESSES(...) erweitern mit einem zweiten contiki Process: | + | * die Zeile AUTOSTART_PROCESSES(...) erweitern mit einem zweiten contiki Process:'' |
* dann den eigenen " | * dann den eigenen " | ||
* <code c> | * <code c> | ||
Zeile 33: | Zeile 31: | ||
PORTD |= (1 << PIN7); |
PORTD |= (1 << PIN7); | ||
| | ||
- | | + | |
{ | { | ||
PORTD ^= (1 << PIN7); // Toggle PD7 z.B. angeschlossene LED
| PORTD ^= (1 << PIN7); // Toggle PD7 z.B. angeschlossene LED
| ||
Zeile 50: | Zeile 48: | ||
static struct etimer myetimer; </ | static struct etimer myetimer; </ | ||
* Der Beispiel-Prozess oben toggelt den Pin7 vom PortD alle 2 Sekunden. Wenn man dieses Programm mit " | * Der Beispiel-Prozess oben toggelt den Pin7 vom PortD alle 2 Sekunden. Wenn man dieses Programm mit " | ||
- | * make | + | * '' |
* wie vorher ist " | * wie vorher ist " | ||
Zeile 56: | Zeile 54: | ||
==== Programmieren eines Mikrocontrollers ==== | ==== Programmieren eines Mikrocontrollers ==== | ||
+ | === Programmiersoftware installieren === | ||
+ | |||
+ | Bei Atmel anmelden und AVR Studio runterladen und installieren (http:// | ||
=== Testaufbau === | === Testaufbau === | ||
+ | {{: | ||
- | Oben ist ein Testaufbau, in dem ich das Ravenboard mit dem Atmel STK500 über die ISP Schnittstelle programmiere. Alternativ kann man auch mit anderen Programmiergeräten (z.B. Atmel Dragon oder Atmel JTAGICEmkII) und auch über die JTAG Schnittstelle programmieren. Das Prinzip ist aber eigentlich immer gleich. | + | Oben ist ein Testaufbau |
- | * Ravenboard | + | ISP Schnittstelle programmiere. |
+ | Alternativ kann man auch mit anderen Programmiergeräten (z.B. Atmel Dragon oder | ||
+ | Atmel JTAGICEmkII) und auch über die JTAG Schnittstelle programmieren. | ||
+ | Das Prinzip ist aber eigentlich immer gleich. | ||
+ | |||
+ | ==Empfohlene Einschaltreihenfolge== | ||
+ | * Ravenboard | ||
* Ravenboard mit dem Programmiergerät verbinden. Ich habe bisher nur den ATmega1284p programmiert. Die Anschlüsse sind die zweiten von rechts. Oben ist die ISP Schnittstelle, | * Ravenboard mit dem Programmiergerät verbinden. Ich habe bisher nur den ATmega1284p programmiert. Die Anschlüsse sind die zweiten von rechts. Oben ist die ISP Schnittstelle, | ||
- | * Programmiergerät an den Computer anschließen. Beim STK500 über serielle Schnittstelle, | + | * Programmiergerät an den Computer anschließen. Beim STK500 über serielle Schnittstelle, |
+ | * Ravenboard mit Spannung versorgen (entweder über die interne Batterie oder über ein Netzteil mit 5-12V DC an der Pinleiste J401 unten: an den Anschluss ganz links muss 5-12V und an den zweiten von links muss Ground) | ||
- | === Programmiersoftware installieren === | + | == JTAGICE mkII == |
+ | |||
+ | **Kommentar Atmel:** When the JTAGICE mkII is properly connected to the target and the host PC, the power can be turned on. It's recommended to power up the JTAGICE mkII before the target is powered, to avert the possibility of current flowing from the target into the unpowered JTAGICE mkII. | ||
+ | |||
+ | Two of the LEDs on the JTAGICE mkII indicates if power is present on respectively target and ICE itself: | ||
+ | |||
+ | ^ Nr ^ Color ^ Description ^ | ||
+ | | 1 | Green |Indicates Target Power | | ||
+ | | 2 | Red | ||
+ | | 3 | Green/ | ||
+ | |||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * //**No light:**// Idle, connected to AVR Studio (if LED2 is lit) | ||
- | Bei Atmel anmelden und AVR Studio runterladen und installieren (http:// | ||
=== Programm flashen === | === Programm flashen === | ||
Zeile 81: | Zeile 103: | ||
- | Ich habe festgestellt, | + | Ich habe festgestellt, |
+ | |||
+ | Der Einfachheit halber gibt es schon erstellte .elf files für alle Raven Microcontroller von der contiki hompage: (https:// | ||
* ravenlcd_3290.elf der Ravenboard LCD Microcontroller (Anschlüsse ganz rechts) | * ravenlcd_3290.elf der Ravenboard LCD Microcontroller (Anschlüsse ganz rechts) | ||
* webserver6.elf der Ravenboard ATmega1284p (siehe Beschreibung) | * webserver6.elf der Ravenboard ATmega1284p (siehe Beschreibung) | ||
* ravenusbstick.elf der RZUSBSTICK | * ravenusbstick.elf der RZUSBSTICK | ||
- | |||
Zeile 114: | Zeile 137: | ||
</ | </ | ||
* RZUSBSTICK einstecken (und evtl. über dem VMWare Player der virtuellen Maschine zuordnen) | * RZUSBSTICK einstecken (und evtl. über dem VMWare Player der virtuellen Maschine zuordnen) | ||
- | * folgende | + | * folgende |
- | * < | + | * < |
sudo ip -6 address add aaaa::1/64 dev usb0 | sudo ip -6 address add aaaa::1/64 dev usb0 | ||
sudo / | sudo / | ||
* damit ist der RZUSBSTICK über das device usb0 konfiguriert. Jetzt sollte das RavenBoard erreichbar sein: | * damit ist der RZUSBSTICK über das device usb0 konfiguriert. Jetzt sollte das RavenBoard erreichbar sein: | ||
- | * < | + | * < |
Zeile 127: | Zeile 150: | ||
==== Noch ein paar Hilfen ==== | ==== Noch ein paar Hilfen ==== | ||
- | http://www.sics.se/contiki/ | + | * [[http://www.contiki-os.org/start.html|Installation von Instant Contiki]] |
- | http://www.sics.se/contiki/wiki/index.php/Develop_your_first_application | + | * [[https://github.com/contiki-os/contiki/tree/master/examples/ |
- | http://www.sics.se/contiki/wiki/index.php/Avr_Raven | + | * [[http://anrg.usc.edu/ |
- | http://www.wsncloud-murdoch.org/wiki/index.php/ | + | * [[https://github.com/contiki-os/contiki/wiki/AVR-Raven| AVR Raven]] |
- | http:// | + | |
+ | | ||
+ | **Programmierbeispiele (extern):** | ||
+ | * http:// |
contiki/howto_compile.1331793720.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)