This is an old revision of the document!


Hacking the Formica firmware

Alle benötigte Software kann auch mittels diesem Script installiert werden.

  • Programmer eZ430 (zB von lilafisch)
  • 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
    

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.

  • 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
  • lilafisch
  • bsx
  • source /pfad…/tools/bin/setenv.sh
  • make im Firmware-Verzeichnis
  • Ergebnis sind zwei ELF-Binaries main und main-top
  1. ez430-Programmer anstecken und Roboter in den Programmer einspannen
  2. gdbproxy starten:
    msp430-gdbproxy --port=2000 msp430 --spy-bi-wire /dev/ttyUSB0
    
  1. 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
    
  • einfach mal in main.c mit dem Source lesen anfangen 😉
  • TBD
  • formica/firmware.1330568218.txt.gz
  • Last modified: 2021/04/18 12:32
  • (external edit)