Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revisionBoth sides next revision
formica:start [2012/10/26 21:14] – [Überblick] nordlichtformica:start [2022/04/10 17:01] andi0
Line 6: Line 6:
 Name              : Formica Name              : Formica
 Beschreibung_wiki : Ein kleiner Schwarm kleiner Schwarmroboter Beschreibung_wiki : Ein kleiner Schwarm kleiner Schwarmroboter
 +Years             : 2012, 2013
 Links_urls        :  Links_urls        : 
-Bilder_imgs       : https://brezn.muc.ccc.de/~lilafisch/formica/formica.jpg+Bilder_imgs       : :formica:formica.jpg
 Source_url        : https://github.com/muccc/formica_rev1_muc Source_url        : https://github.com/muccc/formica_rev1_muc
 Lizenz            : -- Lizenz            : --
 Beteiligt         : bsx, lilafisch, nordlicht Beteiligt         : bsx, lilafisch, nordlicht
-Termine_page      : information:termine +Termine_page      :  
-Status            : (re)aktiviert, testen vorhandener formica+Status_s          : (re)aktiviert, testen vorhandener formica
 Kategorie_tags    : Hardware, Roboter Kategorie_tags    : Hardware, Roboter
 Verwandtes_tags   : -- Verwandtes_tags   : --
Line 19: Line 20:
 {{:formica:formica.jpg?150}} {{:formica:formica.jpg?150}}
  
-Die Formica Roboter wurden auf dem 25c3 vorgestellt (Scalable Swarm Robotics, [[http://video.google.com/videoplay?docid=-3973323702036529336&hl=en#auf Google Video]]). Zum Bau der Roboter werden neben Platinen nur häufig verwendete Bauteile benötigt, sie sind preiswert und gut nachzubauen.+Die Formica Roboter wurden auf dem 25c3 vorgestellt ([[https://media.ccc.de/v/25c3-2890-en-scalable_swarm_robotics|Scalable Swarm Robotics]]). Zum Bau der Roboter werden neben Platinen nur häufig verwendete Bauteile benötigt, sie sind preiswert und gut nachzubauen.
  
 ==== Überblick ==== ==== Überblick ====
Line 58: Line 59:
  
 ===== Entwicklung ===== ===== Entwicklung =====
-Da Formica auf dem [[http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/overview.page|TI MSP430]] Mikrocontroller basiert, stehen eine Reihe sehr kostengünstiger Entwicklungstools zur Verfügung. Diese können sowohl zur Programmierung des Formica als auch zum Sept-by-step Debuggen genutzt werden.+Da Formica auf dem [[http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/overview.page|TI MSP430]] Mikrocontroller basiert, stehen eine Reihe sehr kostengünstiger Entwicklungstools zur Verfügung. Diese können sowohl zur Programmierung des Formica als auch zum Step-by-step Debuggen genutzt werden.
  
 ==== Programmer / Debugger ==== ==== Programmer / Debugger ====
Line 87: Line 88:
 | msp430-gdb   | GNU Debugger für MSP430. Zum step-by-step Debuggen um Sourcecode | | msp430-gdb   | GNU Debugger für MSP430. Zum step-by-step Debuggen um Sourcecode |
  
- +Wie es weitergeht liest Du hier
-==== First Steps ==== +--> [[formica:firststeps|First Steps]]
- +
-Damit es losgehen kann, brauchst Du als erstes den Sourcecode der Formimca Firmware+
- +
-  cd /pfad/zu/meinem/projekt +
-  git clone https://github.com/muccc/formica_rev1_muc.git +
- +
-Wenn die Toolchain wie oben beschrieben installiert ist, solltest Du die Firmware compilieren können. Als Resultat erhältst Du ein File mit dem Namen ''formica.elf''+
- +
-  make +
- +
-Als nächstes wird die Firmware auf die Formica programmiert. Dafür benötigt man eigentlich nur ''mspdebug''. Damit wir danach gleich mit dem Debuggen loslegen können, werden wir aber gleich ''msp430-gdb'' mitstarten. Dar wird uns ermöglichen komfortabel Breakpoints zu setzen, Schritt für Schritt durch das Programm zu steppen und den Inhalt von Variablen anzuzeigen und zu beobachten. +
- +
-Ist die Formica über das ez430 Tool angeschlossen, kann man mit mspdebug eine Verbindung herstellen. Auch mit mspdebug kann man Peorgramme debuggen, jedoch nur auf Assamblerebene. Um den viel komfortableren gdb Debugger nutzen zu können, kann man über mspdebug einen Server starten, mit dem man sich von msp430-gdb aus verbinden kann. +
- +
-  mspdebug uif +
-  (mspdebug) gdb +
-  Bound to port 2000. Now waiting for connection... +
-   +
-Fürs Debugging starten wir in einem zweiten Temrinalfenster nun ''msp430-gdb''.  +
- +
-  msp430-gdb +
-   +
-  (gdb) target remote localhost:2000  +
-   +
-Als nächstes soll die vorher Kompilierte Firmware aus den Controller der Formica geflasht werden. Das machst Du am besten auch über gdb. Genau genommen machst Du es über mspdebug. Das lässt sich aber direkt aus gdb fernsteuern. Alle Anweisungen denen der Befehlt ''monitor'' oder kurz ''mon'' vorangestellt wird werden direkt an mspdebug übergeben. +
- +
-  (gdb) mon prog formica.elf                                             +
-   +
-Damit man vernünftig mit Source Code Unterstützung Debuggen kann, müssen nach jedem Flashen die Debugsymbole aus dem .elf File neu geladen werden. Darüber kann gdb Funktions- und Variablennamen den richtigen Speicheradressen zuordnen. +
- +
-  (gdb) symbol-file formica.elf  +
-   +
-Fertig ist die Debugumgebung. +
- +
-Hier noch die wichtigsten gdb Befehle: +
- +
-^ Befehl                ^ Funktion ^ +
-mon $Befehle          | Alle nachfolgenden Befehle werden an mspdebug übergeben | +
-| symbol-file $filename | Lädt Debug Symbole | +
-| break $Name           | Setzt Beakpoint auf Variable oder Funktion mit $Namen oder auf Source Code Zeile (z.B. main.c:75) | +
-| info break            | Zeigt alle gesetzten Breakpoints an.| +
-| cont                  | Programm läuft weiter (bis zum nächsten Breakpoint) | +
-| next                  | Single Step over | +
-| step                  | Single Step into | +
-| print $Name           | gibt Variableninhalt aus | +
-| list                  | zeigt Source Code im im aktuellen Bereich an | +
- +
  
 ===== Hardware ==== ===== Hardware ====
Line 175: Line 128:
 | sonstige    |  1 |          | | sonstige    |  1 |          |
 | mo2000      |  2 |              | | mo2000      |  2 |              |
-Überweisungen an: 
- 
-  * Kontonr. 100 105 605 8  
-  * BLZ 701 500 00  
-  * Empfänger: Sophia Schillai  
-  * Verwendungszweck: Nick in der Bestelliste