#format rst #language de ================================= Softwareentwicklung für den STM32 ================================= 2019, 2022 .. contents:: 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= --enable-maintainer-mode $ make $ make install Der Pfad kann z.B. ``/opt/openocd`` sein. Nach der Installation muss noch die PATH Umgebungsvariable um /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 ----------------------- * http://info.atollic.com/welcome-to-truestudio-lite * Baut auf Eclipse (Open-Source Software) * Läuft auf Linux, Windows, MAC * https://www.st.com/en/development-tools/truestudio.html * 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