ARM Cortex-M4 Toolchain

Zur Programmierung der ARM Cortex-M4 Microcontroller verwende ich die folgende Toolchain:

Betriebssystem: Arch-Linux
Compiler: arm-none-eabi-gcc
Debugger: arm-none-eabi-gdb
Build-Tools: arm-none-eabi-binutils
Flash-Programmer: Open-OCD

Programmierung

OpenOCD ist ein einfach zu bedienendes Tool für die Programmierung und das Debugging einer STM-Discovery Applikation über die SWIM-Schnittstelle der Boards. Welche Boards aktuell untersützt werden kann in

/usr/share/openocd/scripts/board/

nachgesehen werden.

Schritt für Schritt mit Telnet

  • Zur FLASH-Programmierung das Development-Board an der SWIM Schnittstelle per USB mit dem Rechner verbinden.
  • Alles weitere passiert auf der Linux-Konsole
  • Den Befehl openocd -f board/<boardspec>.cfg eingeben
  • Beispiel für das STM32F429-Discovery:
    openocd board/stm32f4discovery.cfg
  • Der OpenOCD Server läuft jetzt, so dass man sich auf einer zweiten Konsole per telnet mit dem Board verbinden kann:
    telnet localhost 4444
  • Zuerst wird die laufende Applikation gestoppt:
    reset halt
  • Dann werden die Kommandos für das FLASH-Programmieren eingegeben:
    flash write_image erase <Vollständiger Pfad zum HEX-File>
  • Und mit einem weiteren
    reset

    wird die Applikation zum Leben erweckt.

  • Die telnet-Session kann dann durch Eingabe von
    exit

    beendet werden

Auf einen Rutsch

OpenOCD bietet auch eine einfache Syntax um als Stand-Alone Programmer zu funktionieren:

 openocd -f board/<boardspec>.cfg -c "program <Vollständiger Pfad zum HEX.File> verify reset"

Beispiel:

 openocd -f board/stm32f4discovery.cfg -c "program /home/tt/src/st-discovery/libopencm3-examples/examples/stm32/f4/stm32f4-discovery/fancyblink/fancyblink.hex verify reset" 

Damit wird das FLASH gelöscht, die HEX-Datei programmiert anschließend ein Verify durchgeführt und die neu programmierte Applikation durch einen Reset des Boards gestartet.

devel/micro/software/cortex-m4-devel.txt · Zuletzt geändert: 21.04.2014 17:57 von ttha
www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0