HomeLoginRegisterCreate pageChangelogMenu

Wiki

Wiki - STM32 und linux

STM32 und linux

by janick2/7/2022


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
  1. St util muss mit dem Befehl st-util gestartet werden
  2. Danach kann man gdb mit arm-none-eabi-gdb app.elf in dem bin Ordner starten
  3. In der gdb shell muss man nun target remote 127.0.0.1:4242 ausführen
  4. Als nächstes muss man hb main ausführen
  5. 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.