This is an old revision of the document!
Hacking the Formica firmware
Things you need
Alle benötigte Software kann auch mittels diesem Script installiert werden.
- Programmer eZ430 (zB von lilafisch)
- mspgcc(4) http://mspgcc.sourceforge.net bzw. http://mspgcc4.sourceforge.net
- msp430-gdbproxy (fetproxy tat leider im letzten Test noch nicht)
- einen aktuellen Source-Tree
- ti_usb_3410_5020 Modul im Kernel (nur für Kernelselbstkompilierer interessant)
- ~/.gdbinit mit folgendem Inhalt anlegen:
set remoteaddresssize 64 set remotetimeout 999999 target remote localhost:2000
Sourcescode
Die Hardware wurde von dem Team aus England weiterentwickelt, so dass deren aktuelle Firmware nicht mehr zu den hier verwendeten Robotern passen.
Die alte Firmware findet sich in ihrem Repository im Zweig rev1; dieser Zweig wird nun als main in dem oben verlinkten Repository weiterbearbeitet.
Anschluesse des Programmers
- Formica: P1: VCC entspricht Pin1 (VCC) auf dem ez430
- Formica: P2: GND entspricht Pin4 (GND) auf dem ez430
- Formica: P3: RST entspricht Pin3 (SBWTDIO) auf dem ez430
- Formica: P4: TEST/SBWTCK entspricht Pin 2 (SBWICK) auf dem ez430
Who to ask
- lilafisch
- bsx
source in umgebung laden
- source /pfad…/tools/bin/setenv.sh
Build it
- make im Firmware-Verzeichnis
- Ergebnis sind zwei ELF-Binaries main und main-top
Flash it
- ez430-Programmer anstecken und Roboter in den Programmer einspannen
- gdbproxy starten:
msp430-gdbproxy --port=2000 msp430 --spy-bi-wire /dev/ttyUSB0
- mit gdb den Code auf den Chip laden und das debuggen anfangen (For further reference: http://mspgcc.sourceforge.net/manual/c1531.html):
% msp430-gdb main $ monitor erase all $ load main $ break main $ c
bei gdb kann der Fehler auftreten dass kein Befehl (zB moitor) ausgefuehrt wird, dies lies sich bisher mit folgender zeile (in gdb) beheben:
target remote localhost:2000
Hack it
- einfach mal in main.c mit dem Source lesen anfangen
- TBD