Softwareentwicklung für den STM32
2019, 2022
Inhalt
ARM GCC Compiler
- Enthält GNU C/C++ Compiler, Binutils, GDB, Newlib.
- Windows, Linux und Mac OS X
- https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain
- Wähle GNU toolchain for embedded processors. Bare-metal development.
OpenOCD
Läuft unter Linux, Windows und MAC.
Sourcecode holen mit:
git clone https://git.code.sf.net/p/openocd/code openocd-code
Kompilieren mit
$ ./bootstrap $ ./configure --enable-stlink --enable-ft2232_libftdi --prefix=<instpath> --enable-maintainer-mode $ make $ make install
Der Pfad <instpath> kann z.B. /opt/openocd sein. Nach der Installation muss noch die PATH Umgebungsvariable um <instpath>/bin erweitert werden.
Kompilierte Pakete: http://hhoegl.informatik.hs-augsburg.de/pub/openocd/
Arbeiten ohne IDE
- Mehrere Terminalfenster oder Terminal Multiplexer (tmux)
- Automatisieren mit make.
- Beliebiger Editor, z.B. vim, emacs, scite, gedit, kate, sublime, geany, notepadqq, scite, atom.
- Editor sollte mit ctags umgehen können.
- Universal Ctags https://ctags.io
- OpenOCD läuft als Server in einem eigenen Terminalfenster und stellt die Verbindung zwischen Entwicklungsrechner und STM32 Mikrocontroller her. Mit OpenOCD kann man über telnet oder dem GNU Debugger GDB sprechen.
Integrierte Entwicklungsumgebungen von ST Micro
ST32 CubeIDE
- Aktuelle STM32 IDE (Nov. 2022)
- Basiert auf Eclipse
- Enthält auch CubeMX
- Import von Atollic TrueSTUDIO und AC6 System Workbench
- https://www.st.com/en/development-tools/stm32cubeide.html
Atollic Truestudio Lite
Baut auf Eclipse (Open-Source Software)
Läuft auf Linux, Windows, MAC
Download fuer HSA-Studis (Linux, Windows):
http://hhoegl.informatik.hs-augsburg.de/nonfree/atollicstm32/
(Version vom September 2019)
OpenSTM32
Kostenlos
Baut auf Eclipse (Open-Source Software)
System Workbench for STM32 (SW4STM32)
Läuft auf Linux, Windows, MAC
https://www.openstm32.org/HomePage (Hersteller https://www.ac6.fr), "AC6 System Workbench"
Download fuer HSA-Studis (Linux, Windows):
https://hhoegl.informatik.hs-augsburg.de/nonfree/openstm32-9-2019/
(Version vom September 2019)
Siehe auch "SW4Linux" für den STM32MP1.
Integrierte Entwicklungsumgebungen von alternativen Herstellern
Platformio
- https://platformio.org
- Im Kern freie Software.
- Baut auf Python (https://pypi.org/project/platformio)
- Läuft auf Linux, Windows, MAC.
- Kennt Arduino, ARM mbed, Espressif (ESP8266/ESP32), STM32, PIC32, nRF51/nRF52, FPGA, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3
- Als IDE wird Atom oder VSCode verwendet.
- STM32: https://platformio.org/platforms/ststm32
Visual Studio Code
- Kostenlos (im wesentlichen Open-Source Software)
- Baut auf dem "Electron" Framework, das wiederum auf Node.JS aufbaut.
- Läuft auf Linux, Windows, MAC.
- https://code.visualstudio.com
- https://stackoverflow.com/questions/51391938/how-to-configure-vs-code-to-build-and-debug-stm32-projects-using-cubemx-window
- Achtung: Hier ist M$-typische Telemetrie eingebaut! Es gibt Anleitungen im Netz, die erklären, wie man diese abschalten kann.
MDK Microcontroller Development Kit (von Fa. Keil)
- Offizielle kommerzielle ARM Entwicklungsumgebung (Keil wurde von ARM aufgekauft)
- Enthält µVision IDE
- Nur für Windows
- Kostet was