no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Last revision | |||
— | formica:firststeps [2012/10/26 21:24] – created 2001:a60:1212:6a00:3c74:43d1:d5d2:ec00 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== First Steps ===== | ||
+ | |||
+ | Damit es losgehen kann, brauchst Du als erstes den Sourcecode der Formica Firmware. | ||
+ | |||
+ | cd / | ||
+ | git clone https:// | ||
+ | |||
+ | 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 '' | ||
+ | |||
+ | make | ||
+ | |||
+ | Als nächstes wird die Firmware auf die Formica programmiert. Dafür benötigt man eigentlich nur '' | ||
+ | |||
+ | Ist die Formica über das ez430 Tool angeschlossen, | ||
+ | |||
+ | mspdebug uif | ||
+ | (mspdebug) gdb | ||
+ | Bound to port 2000. Now waiting for connection... | ||
+ | | ||
+ | Fürs Debugging starten wir in einem zweiten Temrinalfenster nun '' | ||
+ | |||
+ | msp430-gdb | ||
+ | | ||
+ | (gdb) target remote localhost: | ||
+ | | ||
+ | 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 '' | ||
+ | |||
+ | (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 | ||
+ | | mon $Befehle | ||
+ | | 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 | | ||
+ | |||
+ | |||