STM32CubeMX ist ein grafisches Konfigurationstool für STM32-Chips, das von STMicroelectronics (ST) auf den Markt gebracht wurde. Die Software ist effizient und benutzerfreundlich. Mit einfachen Bedienungsschritten lassen sich zahlreiche Konfigurationen vornehmen, grafische Assistenten ermöglichen die Generierung von C-Code und es werden MDK, IAR For ARM, TrueStudio und andere Toolketten unterstützt.
Einführung in STM32CubeMX
STM32CubeMX ist ein weit verbreitetes grafisches Konfigurationstool für STM32-Chips. Es integriert Chipauswahl, Pin-Zuweisung und Funktionskonfiguration, Middleware-Konfiguration, Taktkonfiguration, Initialcode und Projektfunktionen.
STM32 unterstützt eine Vielzahl von Open-Source- und ST-unabhängigen Middleware-Lösungen, wie beispielsweise FreeRTOS, FatFS und mbedTLS aus der Open-Source-Community sowie STs eigene USB-Host- und Geräteprotokollstacks, TouchGFX usw.
Vorteile von STM32CubeMX
- Deckt fast alle Chips der STM32-Serie ab;
- Keine Notwendigkeit, komplexe Parameter verschiedener Peripheriegeräte zu konfigurieren;
- Unterstützt die Verwendung grafischer Assistenten zur Generierung von Initialisierungscode;
- Unterstützt mehrere Toolketten, wie MDK, IAR For ARM, TrueStudio usw.
STM32CubeMX herunterladen und installieren
Bevor Sie STM32CubeMX installieren, stellen Sie bitte sicher, dass auf Ihrem Computer bereits JRE (Java Runtime Environment) installiert ist:
STM32CubeMX herunterladen

STM32CubeMX Installation
Die aktuellste Version (2023) ist V6.9.2. Die folgenden Systeme unterstützen die Installation:
- Windows: 7, 8, 10 (32/64 Bit)
- Linux: RedHat, Ubuntu und Fedora (32/64 Bit)
- macOS: OS X El Capitan und Sierra

HAL-Bibliothek installieren
Die STM32 HAL-Firmware-Bibliothek steht für Hardware Abstraction Layer. Es handelt sich um die neueste Abstraktionsschicht für eingebettete Software, die von der Firma ST für STM32-MCUs auf den Markt gebracht wurde, um eine nahtlose Migration zwischen MCUs der STM32-Serie zu ermöglichen.
Mit der Einführung der HAL-Bibliothek wurden auch zahlreiche Middleware-Produkte von Drittanbietern hinzugefügt, darunter RTOS, USB, TCP/IP und Grafik.
Die HAL-Bibliothek verfügt über zwei Methoden: Online-Installation und Offline-Installation.
Hier zeigen wir Ihnen die erste Methode:
Öffnen Sie die installierte STM32CubeMX-Software und rufen Sie die Bibliothekverwaltung auf (Hilfe -> Embedded-Softwarepakete verwalten). Markieren Sie dann die HAL-Bibliothek, die Sie installieren möchten, und klicken Sie auf „Jetzt installieren“, bis die Installation erfolgreich abgeschlossen ist. Wie in der folgenden Animation gezeigt:

Wie erstellt man ein STM32CubeMX-Projekt?
In diesem Tutorial zeige ich ein einfaches Beispiel für blinkende LEDs für Anfänger.
Benötigte Werkzeuge
- STM32CubeMX und HAL-Bibliothek;
- Ein Entwicklungsboard;
- Ein ST-Link-Downloader;
- IDE wie: MDK-ARM, EWARM, TureSTUDIO, SW4STM32 usw.
Neues Projekt erstellen
MCU-Selektor öffnen
Öffnen Sie STM32CubeMX und rufen Sie den MCU-Selektor auf.

MCU auswählen
Wählen Sie Ihr MCU-Modell aus, z. B. STM32F103ZET6.

Uhrquelle auswählen
Wenn Sie sich für die Verwendung einer externen Hochgeschwindigkeitstaktquelle (HSE) entscheiden, müssen Sie RCC im System Core konfigurieren (siehe unten). Bei Verwendung der standardmäßigen internen Taktquelle (HSI) kann dieser Schritt übersprungen werden.

GPIO-Pin (LED) auswählen
Wir verwenden hier einen GPIO-Pin (PF8), um die LED ein- und auszuschalten.

Uhr konfigurieren
Die Standarduhr ist die interne Hochgeschwindigkeitstaktgeber (HSI). Hier ändern wir sie auf den externen Hochgeschwindigkeitstaktgeber (HSE).

Projektleiter
Hier können Sie Ihre Projekteinstellungen selbst vornehmen: Projektname, Projektstandort, Toolchain/IDE und mehr.

Code generieren
Die oben genannten Schritte schließen ein einfaches Projekt mit grundlegender Konfiguration ab. Sie müssen nur auf „Code generieren“ klicken. Nachdem der Code erfolgreich generiert wurde, können Sie das Projekt öffnen. Bevor Sie Ihr Projekt öffnen, müssen Sie Keils MDK ARM installieren.

Anwendungscode hinzufügen
Der generierte Code ist nicht vollständig genug, sodass wir unseren eigenen Anwendungscode hinzufügen müssen. Wie in der Abbildung unten gezeigt, fügen wir einen LED-Blinkcode in main.c ein, woraufhin die LED auf der Entwicklungsplatine alle 1000 ms einmal blinkt.

Hinweis:
- Die Verzögerung von 1000 ms setzt voraus, dass Ihre Uhr korrekt konfiguriert ist.
- Die entsprechenden Pins der LED müssen mit Ihrer tatsächlichen Entwicklung übereinstimmen.
- Nach dem Kompilieren und Herunterladen des generierten MDK-ARM-Projekts müssen Sie es erneut zurücksetzen, damit es ausgeführt werden kann.




