STM32CubeIDE 1.14.0 ist nach wie vor der beste Einstieg in das STM32Cube-Ökosystem für Teams, die eine kostenlose IDE suchen, die eng mit dem Rest des STM32Cube-Ökosystems zusammenarbeitet. Die neue Version aktualisiert die Eclipse-Plattform, auf der sie läuft, und ermöglicht es Entwicklern, einige ihrer neuesten Funktionen zu nutzen. ST erstellt auch weiterhin neue Projekte, die sich mit unserer IDE befassen. Das bedeutet, dass das Öffnen eines ST-Quellcodes, die Integration in eine Anwendung und die Kompilierung selbst für diejenigen, die nur rudimentäre Kenntnisse über die STM32-Welt haben, immer einfacher wird. Da die STM32CubeIDE mit dem STM32CubeMX geliefert wird, belohnt sie Entwickler außerdem mit größerer Effizienz.
Inhaltsverzeichnis
Was ist neu in STM32CubeIDE 1.14.0?
Neue MCU-Unterstützung
Genau wie STM32CubeMX und STM32CubeProgrammer erhält auch STM32CubeIDE Unterstützung für das STM32CubeMP13 Paket, das RTOS-Unterstützung für die STM32MP13 MPU bietet. Damit können Entwickler Bare-Metal-Firmware für den Cortex-A7 des Mikroprozessors erstellen und flashen. Die Demoprojekte in dem neuen Softwarepaket sind bereits für STM32CubeIDE eingerichtet (die Projektdateien befinden sich in einem gleichnamigen Ordner unter jeder Anwendung). Die Benutzer können also schnell den Quellcode importieren, um mit der Erstellung eines Programms zu beginnen oder eine Funktion auszuprobieren. In ähnlicher Weise erhält die kostenlose IDE auch Unterstützung für die STM32WBA54 und STM32WBA55 Mikrocontroller, die wir Anfang des Jahres angekündigt haben.
Neue GCC-Toolchain
Der Toolchain-Manager in STM32CubeIDE unterstützt jetzt den Download von GCC 12. Allzu oft müssen Entwickler viel Zeit damit verbringen, eine Toolchain für ihre IDE zu installieren, um sicherzustellen, dass alles richtig läuft. Manche müssen sogar Zeit in die Dokumentation investieren, um herauszufinden, welche Flags sie verwenden oder welche Optionen sie einrichten müssen. Der Toolchain-Manager löst dieses Problem, indem er eine Benutzeroberfläche bietet, mit der Sie eine Toolchain für STM32CubeIDE mit nur einem Klick herunterladen und installieren können. Dies kann besonders für Entwickler interessant sein, die herausfinden möchten, welche Version für sie am besten geeignet ist. GCC 12 bietet zum Beispiel mehr Sicherheit, erzeugt aber möglicherweise größere Binärdateien. Toolchain-Manager ermutigt also zum Experimentieren, um Entwicklern zu helfen, die beste Entscheidung zu treffen.
Was ist STM32CubeIDE?
Eine IDE

STM32CubeIDE ist die erste integrierte Entwicklungsumgebung von ST und dient als Referenz für Entwickler, die mit STM32-Mikrocontrollern arbeiten. Viele verwenden eine Toolchain eines Drittanbieters, und wir arbeiten eng mit IAR, Keil und anderen zusammen, um sicherzustellen, dass sie ihren Benutzern eine außergewöhnliche Erfahrung bieten. Mit der STM32CubeIDE können wir jedoch eine äußerst sinnvolle Initiative anbieten, da sie Enthusiasten und Profis eine kostenlose und funktionsreiche Umgebung zur Verfügung stellt. Die ST-IDE bietet flexible Projektformate, einen Toolchain-Selektor und erweiterte Debug-Funktionen. Außerdem ermöglicht die Integration von Tools wie STM32CubeMX einen effizienteren Arbeitsablauf. STM32CubeIDE ist für Windows, macOS und Linux verfügbar, mit einer speziellen Version für Debian/Ubuntu und Fedora und einem allgemeineren Installationsprogramm für andere Distributionen.
Eines der besonderen Merkmale von STM32CubeIDE ist, dass es mit STM32CubeMX geliefert wird. Mit letzterem können Entwickler ihr Board oder ihren Mikrocontroller auswählen und ein Projekt starten, nachdem sie die Pinbelegung und den Taktbaum konfiguriert haben. Dadurch können die Benutzer viel einfacher vom Schreiben von Code zum Konfigurationsprogramm wechseln. Wenn ein Projekt geändert werden muss oder Teams feststellen, dass sie Anpassungen vornehmen müssen, wird die Aktualisierung des Projekts einfacher. Darüber hinaus bietet STM32CubeIDE neben den STM32CubeMX-basierten Projekttypen, die sich ideal für das Prototyping und einfache Projekte eignen, Projektformate, die den Benutzern mehr Kontrolle über ihre Dateien und Einstellungen geben. Hier sind zwei Beispiele:
- C- oder C++-Development-Tool (CDT) verwaltete Projekte. Das Format bietet vollständige Dateikontrolle, aber die Makefiles werden automatisch von der IDE generiert.
- Makefile- oder CMake-Projekte ermöglichen es dem Benutzer, sowohl das Makefile als auch den gesamten Quellcode zu verwalten. Viele wählen dieses Format wegen seiner Flexibilität. Es entkoppelt die IDE vom Build-System, vereinfacht Tool-Updates und macht Projekte portabler, da eine Codebasis für mehrere STM32-Geräte verwendet werden kann. Es erfordert jedoch einen praktischeren Ansatz, da die Benutzer nicht von den Vorteilen der automatisch generierten Makefiles profitieren.
Ein Texteditor
Für den Texteditor verwendet STM32CubeIDE ein auf Eclipse basierendes System. Entwickler können also Eclipse-Plugins verwenden, um ihren Quellcode zu prüfen, Fehler zu finden oder Teams mit Hilfe von Aufgabenverwaltungssystemen zu verwalten. So können die Entwickler vertraute Tools verwenden, was die Lernkurve senkt. Wie bei Texteditoren üblich, enthält auch STM32CubeIDE einen Code-Formatierungsmechanismus, um die Lesbarkeit zu verbessern. Darüber hinaus bietet der Editor eine Autovervollständigungsfunktion (Tastaturkürzel STRG+Leertaste), die Funktionen und ihre Parameter für eine reibungslosere Entwicklung offenlegt. So können Benutzer beispielsweise auf eine Funktion klicken, um sie im Texteditor aufzurufen, anstatt sie auswendig zu lernen oder ständig in der Referenzdokumentation nachzusehen.
Ein Debugger
Der Debugger in STM32CubeIDE unterstützt Single-Core- und Multi-Core-Geräte. Er kann auch TrustZone- Debugging mit Full-Stack-Unwinding und CTI-aktivierter (Cross Triggering Interface) Haltepunktverwaltung verwalten. Auf der Grundlage mehrerer Debug-Konfigurationen kann der Benutzer verschiedene Methoden verwenden, um Debug-Sitzungen in unterschiedlichen Modi zu starten. Wenn beispielsweise nur der interne Flash beschrieben wird und es keine Codeänderungen am externen Flash gibt, kann dies zu einer enormen Zeitersparnis führen. Der Debugger unterstützt auch die ereignisbasierte Ablaufverfolgung des Serial Wire-Viewers und ermöglicht so wertvolle Laufzeitanalysen und Profilerstellung. Es gibt auch Unterstützung für RTOS-Tracing von Azure RTOS ThreadX und FreeRTOS mit vollständigen Multi-Thread-Stack-Traces und Visualisierung von Kernel-Event-Objekten.
Woher kommt STM32CubeIDE?
Vor STM32CubeIDE verwendeten Entwickler SW4STM32, eine kostenlose Version von System Workbench. Sie war bei Enthusiasten und Universitäten beliebt, wie z.B. der University of Michigan-Dearborn, die die Toolchain zum Schreiben ihrer Anwendung für fahrerlose Autos verwendeten. STM32CubeIDE hat diese Aufgabe übernommen und unterstützt unsere Mikrocontroller und die STM32-MPUs, bietet aber auch STM32CubeMX an. ST unterstützt SW4STM32 nicht mehr, aber die Software ist weiterhin auf OpenSTM32.org verfügbar. Seit Jahren bietet die STM32CubeIDE die Möglichkeit, Projekte einfach von SW4STM32 zu portieren, um den Übergang zur neuen IDE zu erleichtern. Folglich wird die ältere Lösung meist nur noch für Altanwendungen verwendet.
Ein Ereignis, das letztlich zur Ankunft von STM32CubeIDE führte, war die Übernahme von Atollic durch ST im Jahr 2017. Das Softwareunternehmen war für TrueSTUDIO bekannt, das vielen Entwicklern half, das Innenleben ihrer Anwendungen zu verstehen. Mit den Trace- und Profiling-Tools konnten Benutzer beispielsweise Daten, Ereignisse und den Speicherverlauf nachverfolgen und Variablen in Echtzeit visualisieren. Das war von unschätzbarem Wert, um das Verhalten des Codes zu verstehen, ohne seine Ausführung einzufrieren. Nach der Übernahme erhielt STM32CubeIDE all diese Funktionen und noch mehr. STM32CubeIDE bot auch die Möglichkeit, Projekte aus TrueSTUDIO zu portieren, um den Benutzern den Wechsel von einem zum anderen zu erleichtern.
Was sind einige der historischen Merkmale von STM32CubeIDE?

Das erste, was dem Benutzer auffällt, ist das Informationszentrum, in dem zahlreiche Ressourcen zu STM32-Entwicklungstools und -Hardware zu finden sind. So sind beispielsweise Referenzhandbücher, Benutzerhandbücher und Videotutorials sofort verfügbar. Darüber hinaus können sich die Benutzer durch die Vorstellung neuer Funktionen und Software im Informationszentrum schneller über die neuesten Updates informieren. Hier können auch ältere Funktionen in Erinnerung gebracht werden, wie z.B. der Exportmechanismus von Azure RTOS TraceX. Kurz gesagt, können Entwickler Traces exportieren und in TraceX analysieren, um die Fehlersuche zu beschleunigen.
STM32CubeIDE zielt auch darauf ab, die Lernkurve für Neueinsteiger zu senken. So gibt es zum Beispiel eine große Auswahl an Tutorial-Videos. Derzeit konzentrieren sich die meisten Inhalte auf die integrierte Entwicklungsumgebung und STM32CubeMX, aber es wird noch mehr kommen. Sobald der Benutzer auf eine Miniaturansicht klickt, öffnet ein Link ein Browserfenster zu YouTube. Entwickler, die eine Anwendung rund um Bluetooth, GNSS, MEMS, NFC und mehr starten, können sich also zunächst das entsprechende Video ansehen. Die Videos dienen somit als Ergänzung zu dem umfangreichen Benutzerhandbuch, das bereits in STM32CubeIDE verfügbar ist.
Bessere CMake-Integration
Eines der herausragendsten Merkmale von STM32CubeIDE ist die Integration mit CMake, der Open-Source-Familie von Dienstprogrammen, die Entwicklern beim Erstellen, Testen und Verpacken ihrer Software helfen. CMake ist ein beliebtes Tool bei Software-Ingenieuren, da es ihnen hilft, große Multiplattform-Projekte zu erstellen. Daher haben viele STM32CubeIDE-Benutzer darum gebeten, dass wir CMake unterstützen. Die ST-Community hatte im Jahr 2020 sogar eine Schritt-für-Schritt-Anleitung, die ein Eclipse-Plugin verwendete. Heute macht die neue Version der kostenlosen IDE die Dinge deutlich einfacher. Um den Anwendern weiter zu helfen, haben wir auch eine Application-Note veröffentlicht, der sie durch den Prozess führt.
Projektloses Debuggen
Das projektlose Debugging bietet die Möglichkeit, ELF-Dateien zu debuggen, ohne dass Sie Stunden mit der Einrichtung oder Portierung eines Projekts in das STM32CubeIDE-Format verbringen müssen. Angesichts der zunehmenden Verbreitung von Texteditoren und Multiplattform-IDEs ist es wichtig, sich an die Entwickler anzupassen, anstatt sie zur Verwendung unserer Tools zu zwingen. Viele Unternehmen erlauben es beispielsweise Softwareentwicklern, ihre bevorzugte IDE zu verwenden und verlangen von ihnen lediglich, dass sie eine gemeinsame Build- und Compiler-Version verwenden. Außerdem hat ST schon immer einen agnostischen Ansatz verfolgt, um die Interoperabilität mit einer möglichst großen Anzahl von Tools zu fördern.
Die Herausforderung beim IDE-Agnostizismus besteht darin, dass niemand erwarten kann, dass alle IDEs von Drittanbietern erweiterte STM32-Debug-Funktionen unterstützen. Folglich fühlen sich einige Entwickler gezwungen, eine Lösung zu verwenden, die sie vielleicht nicht bevorzugen, nur weil ihr bestimmte Funktionen fehlen. Die projektlose Debug-Funktion in STM32CubeIDE löst dieses Problem. Es erlaubt dem Softwareentwickler, jede IDE oder jeden Texteditor, jedes Build und jeden Compiler zu verwenden, aber STM32CubeIDE schnell zu öffnen, um bei Bedarf spezifische Debug-Funktionen zu nutzen. Daher bietet die ST-IDE eine weitaus größere Flexibilität und ermutigt STM32-Entwickler, das zu verwenden, womit sie vertraut sind, anstatt sie in eine einschränkende Umgebung zu stecken.