3005
Kommentar:
|
3136
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 105: | Zeile 105: |
* Kennt Arduino, ARM mbed, Espressif (ESP8266/ESP32), STM32, PIC32, nRF51/nRF52, FPGA, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3 |
Softwareentwicklung für den STM32
2019-09-26
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
Wir arbeiten unter LINUX.
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 (IDE)
Atollic Truestudio Lite
"Lite" ist kostenlos
Baut auf Eclipse
Download fuer HSA-Studis (Linux, Windows):
http://hhoegl.informatik.hs-augsburg.de/nonfree/atollicstm32/
(Version vom September 2019)
Die "Pro" Version hat ein paar mehr Features, kostet aber war.
OpenSTM32
Kostenlos
Baut auf Eclipse
System Workbench for STM32 (SW4STM32)
https://www.openstm32.org/HomePage (Hersteller https://www.ac6.fr)
Download fuer HSA-Studis (Linux, Windows):
http://hhoegl.informatik.hs-augsburg.de/nonfree/openstm32-9-2019/
(Version vom September 2019)
Siehe auch "SW4Linux" für den STM32MP1.
Platformio
- https://platformio.org/platforms/ststm32
- Baut auf Python (https://pypi.org/project/platformio)
- Kennt Arduino, ARM mbed, Espressif (ESP8266/ESP32), STM32, PIC32, nRF51/nRF52, FPGA, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3
Visual Studio Code
- Kostenlos (im wesentlichen Open-Source Software)
- Baut auf dem "Electron" Framework, das wiederum auf Node.JS aufbaut.
- https://code.visualstudio.com
- https://stackoverflow.com/questions/51391938/how-to-configure-vs-code-to-build-and-debug-stm32-projects-using-cubemx-window
- Achtung: MS-typische Telemetrie! Es gibt Anleitungen im Netz, wie man diese abschalten kann.