STM32 und linux
Toolchain
Die arm toolchain kan hier heruntergeladen werden.
Die stlink utils können hier heruntergeladen werden.
Programme kompilieren (make)
Um stm32 programme unter linux zu kompilieren, muss man folgende programme installiert haben
- make
- arm-none-eabi-gcc
- arm-none-eabi-objcopy
Danach kann man hier ein Projekt template herunterladen.
Mann kann folgende befehle benutzen um programme zu kompilieren/uploaden
make app.bin
(output kann in dem bin Ordner gefunden werden)make upload NUCLEO_DRIVE=/path/to/device/file
(uploaded die bin Datei auf das board)make clean
(löscht alle kompilierten Dateien)
Programme debuggen mit gdb
Um stm32 programme unter linux zu debuggen, muss man folgende programme installiert haben
- arm-none-eabi-gdb
- st-util
- St util muss mit dem Befehl
st-util
gestartet werden - Danach kann man gdb mit
arm-none-eabi-gdb app.elf
in dem bin Ordner starten - In der gdb shell muss man nun
target remote 127.0.0.1:4242
ausführen - Als nächstes muss man
hb main
ausführen - Nun kann man
continue
ausführen und auf dem stm32 board auf den reset button drücken. Gdb sollte nun bei main anhalten.
Tip: man kann gdb diese befehle automatisch beim starten ausführen lassen indem man die -ex flag benutzt. Beispiel: arm-none-eabi-gdb app.elf -ex \"target remote 127.0.0.1:4242\"
Tip: man kann mit tui enable
eine viel übersichtlichere Ansicht kriegen
Tip: man kann mit layout regs
sich die register dauerhaft während dem debuggen anzeigen lassen.