Sechs Schritte, die Anfänger tun müssen, um mit STM32 zu beginnen
Vorbereitung von Hardwarekomponenten
-
Auswahl des STM32-Entwicklungsboards: Wählen Sie ein geeignetes STM32-Entwicklungsboard, beispielsweise STM32F103C8T6 oder andere kompatible Modelle.
-
Programmiertool: Der DAPLINK , ein Ersatz für den JLINK OB/STLINK STM32-Brenner, kann als Programmiertool zum Hochladen des Programms auf den STM32-Mikrocontroller verwendet werden.
-
Debugging-Tool: Der DAPLINK kann auch als Debugging-Tool dienen und bei der Identifizierung und Lösung von Problemen bei der Codeausführung helfen.
-
Externe Geräte und Sensoren: Wenn eine Interaktion mit Peripheriegeräten (z. B. Sensoren, Displays usw.) erforderlich ist, kann die Beschaffung dieser Hardwaremodule erforderlich sein.
-
Stromversorgung: Stellen Sie sicher, dass die Entwicklungsplatine ausreichend mit Strom versorgt wird, entweder über USB oder eine externe Stromquelle.
Softwareumgebungs-Konfiguration
- Häufig verwendete Entwicklungsumgebungen für die STM32-Entwicklung sind Keil MDK , IAR Embedded Workbench und STM32CubeIDE , das offiziell von STMicroelectronics bereitgestellt wird und kostenlos ist. STM32CubeIDE ist sowohl für Anfänger als auch für professionelle Entwickler geeignet.
-
STM32CubeMX ist ein von STMicroelectronics bereitgestelltes Konfigurationstool, das die Generierung von Initialisierungscode erleichtert. Dieses Tool ermöglicht die Konfiguration von Peripheriegeräten, Taktbäumen und Pinbelegungen und generiert automatisch zugehörigen Code, um den Entwicklungsprozess zu optimieren.
-
Bei der STM32-Entwicklung wird normalerweise die Programmiersprache C verwendet. Daher sind grundlegende Kenntnisse der C-Programmierung erforderlich.
Projektentwicklungsschritte
-
Projekt Erstellung
-
Öffnen Sie STM32CubeMX oder STM32CubeIDE, erstellen Sie ein neues Projekt und wählen Sie das verwendete STM32-Chipmodell oder die verwendete Entwicklungsplatine aus.
-
Stift Aufbau
-
Konfigurieren Sie die Pins des Chips in STM32CubeMX. Entsprechend den Projektanforderungen können Sie die aktivierten Peripheriegeräte auswählen (z. B. GPIO, UART, I2C, SPI usw.<). /strong>) und weisen Sie sie bestimmten Pins zu.
-
Peripherie Initialisierung
-
STM32CubeMX generiert den entsprechenden Initialisierungscode entsprechend den von Ihnen konfigurierten Peripheriegeräten, und Sie können basierend auf dem generierten Code spezifische Funktionen entwickeln.
-
Anwendungscode schreiben
-
Schreiben Sie Ihren Anwendungscode in die IDE, zum Beispiel:
-
Konfigurieren und Auslesen von Sensordaten
-
Steuere GPIO für LED-Licht ein/aus
-
Verwenden Sie UART für die serielle Kommunikation
-
Verwenden Sie einen Timer für wiederkehrende Aufgaben
-
-
Kompilieren und brennen
-
Nachdem Sie den Code geschrieben haben, kompilieren Sie ihn in der IDE, um sicherzustellen, dass keine Fehler vorliegen. Verwenden Sie das Brenntool, um die kompilierte Binärdatei (z. B. .hex- oder .bin-Datei) in den STM32-Mikrocontroller zu brennen.
-
Debugging und Optimierung
-
Wenn es ein Problem mit dem Code gibt, können Sie die Debugging-Tools in der IDE (z. B. Haltepunkte, Einzelschrittausführung usw.) verwenden, um die Funktion des Codes zu überprüfen.
-
Während des Debuggens können Sie über die serielle Schnittstelle auch Debugging-Informationen ausdrucken, um zu überprüfen, ob die Programmlogik korrekt ist.
Projekt-Debugging und -Optimierung
- Debugging-Tools
- Verwenden Sie die DAPLINK-Debugging-Funktion, um einstufiges Debugging, die Anzeige von Variablen und andere Vorgänge über die SWD-Schnittstelle durchzuführen.
- Serieller Port-Debugging
- Verwenden Sie den seriellen UART-Port, um Debugging-Informationen an den PC auszugeben (über serielle Port-Tools wie PuTTY oder SecureCRT), um die Analyse des Programmlaufstatus zu unterstützen.
- Logikanalysator und Oszilloskop
- Bei Anwendungen mit hohen Timing-Anforderungen (wie SPI, I2C-Kommunikation usw.) können Sie einen Logikanalysator oder ein Oszilloskop verwenden, um die Wellenform und das Kommunikations-Timing zu überprüfen.
Programm Brennen
-
DAPLINK wird über die SWD-Schnittstelle eingebrannt.
-
Brennen des UART-Seriell-Ports mithilfe des Flash Loader- Tools.
-
Der USB DFU-Modus-Brenner brennt direkt über die USB-Schnittstelle (erfordert STM32-Modelle mit DFU-Unterstützung).
Test und Iteration