Inhaltsverzeichnis:

Blue Pill Board in STM32CubeIDE einrichten - Gunook
Blue Pill Board in STM32CubeIDE einrichten - Gunook

Video: Blue Pill Board in STM32CubeIDE einrichten - Gunook

Video: Blue Pill Board in STM32CubeIDE einrichten - Gunook
Video: Программирование STM32 Blue Pill с помощью релейной логики ПЛК LDmicro 2024, November
Anonim
Einrichten von Blue Pill Board in STM32CubeIDE
Einrichten von Blue Pill Board in STM32CubeIDE
Einrichten von Blue Pill Board in STM32CubeIDE
Einrichten von Blue Pill Board in STM32CubeIDE

Die Blue Pill ist ein sehr günstiges Barebones ARM Entwicklungsboard. Als Prozessor kommt ein STM32F103C8 zum Einsatz, der über 64 kByte Flash- und 20 kByte RAM-Speicher verfügt. Es läuft mit bis zu 72 MHz und ist der günstigste Einstieg in die ARM-Embedded-Software-Entwicklung.

Die meisten Beispielprojekte und Anleitungen beschreiben die Programmierung des Blue Pill-Boards mit der Auduino-Umgebung. Obwohl dies funktioniert und ein Weg ist, um loszulegen, hat es seine Grenzen. Die Arduino-Umgebung schützt Sie ein wenig von der zugrunde liegenden Hardware - das ist ihr Designziel. Aus diesem Grund können Sie nicht alle Funktionen des Prozessors nutzen, und die Integration eines Echtzeitbetriebssystems wird nicht wirklich unterstützt. Dies bedeutet, dass die Arduino-Umgebung in der Industrie nicht weit verbreitet ist. Wenn Sie in der Embedded-Software-Entwicklung Karriere machen möchten, ist Arduino ein guter Ausgangspunkt, aber Sie müssen weiterziehen und eine Entwicklungsumgebung verwenden, die industriell genutzt wird. ST bietet hilfreicherweise eine völlig kostenlose Entwicklungsumgebungssuite für seine Prozessoren namens STM32CubeIDE. Dies ist in der Industrie weit verbreitet, daher ist es gut, damit fortzufahren.

STM32CubeIDE ist jedoch, und das ist der große Unterschied, furchterregend kompliziert und eine entmutigende Software. Es unterstützt alle Funktionen aller ST-Prozessoren und ermöglicht eine genaue Konfiguration, die Sie in der Arduino-IDE nicht finden, da alles für Sie erledigt wird.

Sie müssen Ihr Board als ersten Schritt in STM32CubeIDE einrichten. Die IDE kennt die eigenen Entwicklungsboards von ST und richtet sie für Sie ein, aber die Blue Pill, obwohl sie einen ST-Prozessor verwendet, ist kein ST-Produkt, so dass Sie hier auf sich allein gestellt sind.

Dieses anweisbare führt Sie durch den Prozess der Einrichtung Ihres Blue Pill Boards, der Aktivierung einer seriellen Schnittstelle und des Schreibens von Text. Es ist nicht viel, aber ein wichtiger erster Schritt.

Lieferungen

STM32CubeIDE - Download von der ST-Website. Sie müssen sich registrieren und der Download dauert eine Weile.

Ein blaues Pillenbrett. Sie können sie bei ebay bekommen. Sie benötigen einen, auf dem ein echter ST-Prozessor installiert ist, da einige dies nicht tun. In ebay das Bild vergrößern und nach dem ST-Logo auf dem Prozessor suchen.

Ein ST-LINK v2-Debugger/Programmer ist bei ebay für ein paar Pfund erhältlich.

Ein serielles FTDI-TTL-zu-USB-3,3-V-Kabel für den Ausgang und 2 Stift-zu-Buchse-Header-Drähte zum Anschließen.

Ein serielles Terminalprogramm wie PuTTY.

Schritt 1: Erstellen eines neuen Projekts

Erstellen eines neuen Projekts
Erstellen eines neuen Projekts
Erstellen eines neuen Projekts
Erstellen eines neuen Projekts
  1. Starten Sie STM32CubeIDE und wählen Sie dann aus dem Menü Datei|Neu|STM32-Projekt.
  2. Geben Sie im Feld Teilenummernsuche STM32F103C8 ein.
  3. In der MCUs/MPUs-Liste sollten Sie STM32F103C8 sehen. Wählen Sie diese Zeile wie im Bild oben aus.
  4. Weiter klicken.
  5. Geben Sie im Dialogfeld Projekteinrichtung einen Namen für das Projekt ein.
  6. Lassen Sie alles andere wie es ist und klicken Sie auf Fertig stellen. Ihr Projekt wird links im Projekt-Explorer-Bereich angezeigt.

Schritt 2: Konfigurieren des Prozessors

Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
Konfigurieren des Prozessors
  1. Öffnen Sie im Projekt-Explorer Ihr Projekt und doppelklicken Sie auf die.ioc-Datei.
  2. Erweitern Sie auf der Registerkarte Projekt & Konfiguration System Core und wählen Sie dann SYS.
  3. Wählen Sie unter SYS-Modus und Konfiguration in der Dropdown-Liste Debug die Option Serial Wire.
  4. Wählen Sie nun RCC in der System Core-Liste direkt über dem oben ausgewählten SYS aus.
  5. Wählen Sie unter RCC-Modus und -Konfiguration aus der Dropdown-Liste Hochgeschwindigkeitstakt (HSE) die Option Quarz/Keramik-Resonator aus.
  6. Öffnen Sie nun erneut unter Kategorien die Konnektivität und wählen Sie USART2 aus.
  7. Wählen Sie unter USART2-Modus und -Konfiguration aus der Dropdown-Liste Modus die Option Asynchron aus.
  8. Wählen Sie nun die Registerkarte Clock Configuration und gehen Sie zum nächsten Schritt.

Schritt 3: Konfigurieren der Uhren

Konfigurieren der Uhren
Konfigurieren der Uhren

Sie können jetzt ein ziemlich entmutigendes Taktdiagramm sehen, das jedoch nur einmal eingerichtet werden muss. Dies ist hier am schwierigsten zu beschreiben, da das Diagramm komplex ist. Alle Dinge, die Sie ändern müssen, sind im obigen Bild hervorgehoben.

  1. Das Blue Pill-Board kommt mit einem 8-MHz-Quarz auf dem Board und das ist die Standardeinstellung des Taktkonfigurationsdiagramms, also müssen wir das nicht ändern.
  2. Wählen Sie unter PLL Source Mux die untere Option HSE aus.
  3. Gleich rechts PLLMul auf X9 setzen.
  4. Wieder rechts unter System Clock Mux wählen Sie PLLCLK.
  5. Wieder rechts unter APB1 Prescalar wählen Sie /2.
  6. Das ist es. Wenn Teile des Diagramms violett hervorgehoben sind, haben Sie etwas falsch gemacht.

Schritt 4: Speichern und erstellen

  1. Speichern Sie die.ioc-Konfiguration mit Strg-S. Wenn Sie gefragt werden, ob Sie Code generieren möchten, wählen Sie Ja (und aktivieren Sie Meine Entscheidung speichern, damit Sie nicht jedes Mal gefragt werden). Sie können die.ioc-Datei schließen.
  2. Führen Sie nun einen Build aus dem Menü Projekt|Projekt erstellen aus.

Schritt 5: Hinzufügen von Code

Code hinzufügen
Code hinzufügen
Code hinzufügen
Code hinzufügen

Jetzt fügen wir etwas Code hinzu, um den von uns konfigurierten seriellen Port zu verwenden.

  1. Öffnen Sie im Projekt-Explorer Core\Src und doppelklicken Sie auf main.c, um es zu bearbeiten.
  2. Scrollen Sie nach unten, bis Sie die Funktion main() finden, und fügen Sie den unten gezeigten Code direkt unter dem Kommentar /* USER CODE BEGIN 3 */ hinzu, und führen Sie dann erneut einen Build durch.

HAL_UART_Transmit(&huart2, (uint8_t *)"Hallo Welt!\r\n", 15U, 100U);

Als nächstes schließen Sie die Hardware an und probieren es aus.

Schritt 6: Anschließen der Hardware

Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware
Anschließen der Hardware

Anschließen des ST-LINK v2

Der ST-LINK v2 sollte mit einem 4-adrigen Flachbandkabel von Buchse zu Buchsenleiste geliefert werden. Sie müssen folgende Verbindungen herstellen:

Blaue Pille zu ST-LINK v2

GND zu GND

CLK zu SWCLK

DIO zu SWDIO

3,3 bis 3,3 V

Siehe das erste Bild oben.

Anschließen des seriellen Kabels

Wenn Sie zur.ioc-Datei zurückkehren und sich das Chipdiagramm rechts ansehen, sehen Sie, dass die Tx-Leitung von UART2 auf Pin PA2 liegt. Verbinden Sie dazu den mit PA2 bezeichneten Pin auf dem Blue Pill Board mit dem Anschluss mit dem gelben Draht des FTDI Serial Kabels. Verbinden Sie auch einen der Massestifte der Blue Pill (mit G gekennzeichnet) mit dem schwarzen Draht des seriellen FTDI-Kabels.

Siehe das zweite Bild oben.

Schritt 7: Debuggen

Debuggen
Debuggen
Debuggen
Debuggen

Stecken Sie Ihr serielles FTDI-Kabel ein und starten Sie ein serielles Terminal mit 115200 Baud. Schließen Sie dann Ihren ST-LINK v2 an und schon kann es losgehen.

  1. Wählen Sie in STM32CubeIDE Ausführen|Debug. Wenn ein Debug als Dialog erscheint, wählen Sie STM32 Cortex-M C/C++ Application und OK.
  2. Wenn ein Dialogfeld zum Bearbeiten der Konfiguration angezeigt wird, klicken Sie einfach auf OK.
  3. Der Debugger bricht in der ersten Zeile von main() ab. Wählen Sie im Menü Ausführen|Fortsetzen und suchen Sie nach Meldungen im seriellen Terminal.

Schritt 8: Mehr tun

Das war's, Ihre erste STM32CubeIDE-Anwendung ist konfiguriert und läuft. Dieses Beispiel macht nicht viel - sendet nur einige Daten aus dem seriellen Port.

Um andere Peripheriegeräte zu verwenden und Treiber für externe Geräte zu schreiben, müssen Sie diesen entmutigenden Konfigurationseditor erneut in Angriff nehmen! Um Ihnen zu helfen, habe ich eine Reihe von STM32CubeIDE-Beispielprojekten erstellt, die alle Peripheriegeräte des Blue Pill-Prozessors in kleinen, leicht verständlichen Projekten konfigurieren und testen. Sie sind alle Open Source und Sie können mit ihnen tun, was Sie wollen. Jedes Peripheriegerät wird konfiguriert und verfügt dann über Beispielcode, um es (fast!) isoliert zu trainieren, sodass Sie sich darauf konzentrieren können, jeweils nur ein Peripheriegerät in Betrieb zu nehmen.

Es gibt auch Treiber für externe Geräte von einfachen EEPROM-Chips über Drucksensoren, Text- und Grafik-LCDs, SIM800-Modem für TCP, HTTP und MQTT, Tastaturen, Funkmodule, USB und auch die Integration mit FatFS, SD-Karten und FreeRTOS.

Sie alle finden Sie hier in Github…

github.com/miniwinwm/BluePillDemo

Empfohlen: