Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:howto_compile

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:howto_compile [2012/04/05 17:24] – [Programmieren eines Mikrocontrollers] admincontiki: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 den VMWare Player (http://www.vmware.com/products/player/+  - Installiere die Contiki Entwicklungsumgebung wie [[contiki:installation_der_contiki_entwicklungsumgebung| hier]] beschrieben
-  - Instant-contiki runterladen von (http://sourceforge.net/projects/contiki/files/Instant%20Contiki/Instant%20Contiki%202.5/) +  - HowTo für den VMWare Player: http://www.contiki-os.org/start.html
-  - und als virtuelle maschine im VMWare Player einbinden und starten (HowTo unter: http://www.contiki-os.org/p/instant-contiki.html+
-  - **Vorsicht:** bitte im Ubuntu kein Update machen (habe ich beim ersten Mal gemacht und danach Probleme bekommen)+
   - (optional) aus Bequemlichkeit arbeite ich auf einem gesharten Verzeichnis (also ein Verzeichnis, dass ich im Instant-Contiki-Ubuntu und im Windows-Wirtsystem lesen und schreiben kann)   - (optional) aus Bequemlichkeit arbeite ich auf einem gesharten Verzeichnis (also ein Verzeichnis, dass ich im Instant-Contiki-Ubuntu und im Windows-Wirtsystem lesen und schreiben kann)
     * Im VMWare Player unter "Edit virtual machine settings"     * Im VMWare Player unter "Edit virtual machine settings"
Zeile 18: Zeile 16:
     * ''make''     * ''make''
     * Die neu erstelle Datei ''webserver6-avr-raven.hex'' ist das flash-binary für den ATmega1284p auf dem Raven-Board.     * Die neu erstelle Datei ''webserver6-avr-raven.hex'' ist das flash-binary für den ATmega1284p auf dem Raven-Board.
-    * Um das eeprom-binary zu erstellen, muss man noch folgendes command ausführen: avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 webserver6-avr-raven.elf webserver6-avr-raven_eeprom.hex“ +    * Um das eeprom-binary zu erstellen, muss man noch folgendes command ausführen: ''avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 webserver6-avr-raven.elf webserver6-avr-raven_eeprom.he'' 
-  - 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!)
     * ''cd contiki-2.5/examples''     * ''cd contiki-2.5/examples''
     * ''cp -rp webserver-ipv6-raven myHelloWorld''     * ''cp -rp webserver-ipv6-raven myHelloWorld''
Zeile 25: Zeile 23:
     * ''make clean''     * ''make clean''
     * ''vi webserver6.c'' (vi oder bevorzugten editor)     * ''vi webserver6.c'' (vi oder bevorzugten editor)
-    * die Zeile AUTOSTART_PROCESSES(...) erweitern mit einem zweiten contiki Process: "AUTOSTART_PROCESSES(&hello_world_process,&webserver_nogui_process);"+    * die Zeile AUTOSTART_PROCESSES(...) erweitern mit einem zweiten contiki Process:''AUTOSTART_PROCESSES(&hello_world_process,&webserver_nogui_process);''
     * dann den eigenen "hello_world_process" weiter unten beschreiben:\\     * dann den eigenen "hello_world_process" weiter unten beschreiben:\\
     * <code c>PROCESS_THREAD(hello_world_process, ev, data)
     * <code c>PROCESS_THREAD(hello_world_process, ev, data)

Zeile 33: Zeile 31:
 
   PORTD |= (1 << PIN7);      // PD7 an PORTD als Ausgang setzen
   
   PORTD |= (1 << PIN7);      // PD7 an PORTD als Ausgang setzen
  
    printf("Hello, world\n");

    printf("Hello, world\n");


-   while(1)      // Endlosschleife
  +   while(1)                   // Endlosschleife
  
    {    {
       PORTD ^= (1 << PIN7);   // Toggle PD7 z.B. angeschlossene LED
           PORTD ^= (1 << PIN7);   // Toggle PD7 z.B. angeschlossene LED
    
Zeile 61: Zeile 59:
  
 === Testaufbau === === Testaufbau ===
 +{{:contiki:testaufbau_steckdose.png?100|}}
  
-Oben ist ein Testaufbau, in dem ich das Ravenboard mit dem Atmel STK500 über die +Oben ist ein Testaufbau abgebildet, in dem ich das Ravenboard mit dem Atmel STK500 über die 
 ISP Schnittstelle programmiere.  ISP Schnittstelle programmiere. 
 Alternativ kann man auch mit anderen Programmiergeräten (z.B. Atmel Dragon oder  Alternativ kann man auch mit anderen Programmiergeräten (z.B. Atmel Dragon oder 
Zeile 139: Zeile 138:
     * 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 Kommandos in einer shell ausführen:     * folgende Kommandos in einer shell ausführen:
-    * <code>sudo ip -6 address add fe80::0012:13ff:fe14:1516/64 scope link dev usb0+    * <code bash>sudo ip -6 address add fe80::0012:13ff:fe14:1516/64 scope link dev usb0
 sudo ip -6 address add aaaa::1/64 dev usb0 sudo ip -6 address add aaaa::1/64 dev usb0
 sudo /etc/init.d/radvd start </code> sudo /etc/init.d/radvd start </code>
     * 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: 
-    * <code>ping6 -s aaaa::1 aaaa::11:22ff:fe33:4455</code> Und man sollte über den Browser drauf zuzugreifen können: „http://[aaaa::0011:22ff:fe33:4455]“.+    * <code bash>ping6 -s aaaa::1 aaaa::11:22ff:fe33:4455</code> Und man sollte über den Browser drauf zuzugreifen können: „http://[aaaa::0011:22ff:fe33:4455]“.
  
  
Zeile 151: Zeile 150:
 ==== Noch ein paar Hilfen ==== ==== Noch ein paar Hilfen ====
  
-http://www.sics.se/contiki/wiki/index.php/Install_Instant_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/hello-world|Contiki 'Hello World' Example]] 
-http://www.sics.se/contiki/wiki/index.php/Avr_Raven +  * [[http://anrg.usc.edu/contiki/index.php/Build_your_own_application_in_Contiki|Develop your first application]]  
-http://www.wsncloud-murdoch.org/wiki/index.php/Configuration_of_Atmel_Ravens_with_Contiki +  * [[https://github.com/contiki-os/contiki/wiki/AVR-Raven| AVR Raven]]
-http://www.atmel.com/dyn/resources/prod_documents/doc8117.pdf+
  
 +  * http://www.atmel.com/dyn/resources/prod_documents/doc8117.pdf
 +
 +**Programmierbeispiele (extern):**
 +  * http://senstools.gforge.inria.fr/doku.php?id=contiki:examples
contiki/howto_compile.1333646648.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)