Diskussions- und Newsboard des DARC-Ortsverbandes I40
allgemeine Kategorie => Selbstbauprojekte => Message started by: db9rb on 02. September 2020, 19:50:32

Title: Alternative zur Arduino IDE
Post by: db9rb on 02. September 2020, 19:50:32

Der Vorteil der Arduino IDE ist die breite Unterstützung vieler Controllerfamilien wie z.B. STM32, Teensy , ESP32, Arduinos natürlich und einiges mehr.
Der Editor ist allerdings sehr spartanisch und läd nicht unbedingt dazu ein, den Code auf mehrere Quellcodedateien zu verteilen. Debuging ist nur sehr eingeschränkt möglich.
Auf der Suche nach einer Alternative bin ich auf Visual Studio Code (VS Code) gestossen.
https://de.wikipedia.org/wiki/Visual_Studio_Code (https://de.wikipedia.org/wiki/Visual_Studio_Code)

Dieser Editor läuft unter Windows, Linux sowie macOS und kann durch Plugins erweitert werden. PlatformIO ist ein solches in Python geschriebenes Plugin, welches den Build und Programmierprozesses unterstützt. Debuging über Jtag, STLINK etc wird unterstützt.
https://platformio.org/ (https://platformio.org/)

VSCodium ist eine aus den Quellen von VS Code erzeugte Version ohne die Telemetrieübermittlung von MS.
https://github.com/VSCodium/vscodium (https://github.com/VSCodium/vscodium)

Zur Zeit "arbeite" ich an einigen Projekten mit dem STM32 Controllern.

Mittels eines "Project Wizard" kann man ein Board (oder den Controller) und ein zugehöriges Framework auswählen. Im Falle von STM32 Controller stehen die folgenden Frameworks zur Verfügung :
-Arduino
-CMSIS
-STM32Cube
- ...

Im vorher festgelegten Workspace Verzeichnis wird für jedes Projekt ein eigenes Verzeichnis angelegt.
Dann erzeuge ich mit CubeMX die Initialisierungdateinen, die im gleichen Verzeichnis gespeichert werden.
Da bei PlatformIO die STM32Cube libraries immer etwas älter sind ersetze ich z.B.das f0 Verzeichnis durch einen Link auf das entsprechende STM32Cube Verzeichnis. (Der Editor entfernt mir leider immer die Backspaces)

In der Projekt Ini Datei können noch zusätzliche Einstellungen vorgenommen werden :

[env:OtterPill-STM32F072]
platform = ststm32
board = Otterpill_STM32F072cb
framework = stm32cube

board_build.mcu = stm32f072cb

; change MCU frequency
board_build.f_cpu = 48000000L

build_flags =
-I Inc/
-I src/FreeRTOS/Source/include
-I src/FreeRTOS/Source/portable
-I src/FreeRTOS/Source/CMSIS_RT
-I src/ST/STM32_USB_Device_Libr
-I src/ST/STM32_USB_Device_Libr
;-Wl,-Map,.pio/output.map


upload_protocol = stlink
debug_tool = stlink

Zusätzlich habe ich ein Git Plugin installiert. Da VS Code bzw. VS Codium "nur" ein Editor ist, empfiehlt es sich entweder zusätzlich ein Projektmanager - Plugin zu installieren oder beim Wechsel des Projekt vorher alle Dateien zu schliessen.
Die Einarbeitung ist sicher etwas aufwendiger als bei der Arduino IDE, aber es lohnt sich (m.E.).
Viel Spass beim Ausprobieren und bei Fragen bitte melden.




Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.