Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Erstellen eines neuen Projekts
- Schritt 2: Konfigurieren des Prozessors
- Schritt 3: Konfigurieren der Uhren
- Schritt 4: Speichern und erstellen
- Schritt 5: Hinzufügen von Code
- Schritt 6: Anschließen der Hardware
- Schritt 7: Debuggen
- Schritt 8: Mehr tun
Video: Blue Pill Board in STM32CubeIDE einrichten - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
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
- Starten Sie STM32CubeIDE und wählen Sie dann aus dem Menü Datei|Neu|STM32-Projekt.
- Geben Sie im Feld Teilenummernsuche STM32F103C8 ein.
- In der MCUs/MPUs-Liste sollten Sie STM32F103C8 sehen. Wählen Sie diese Zeile wie im Bild oben aus.
- Weiter klicken.
- Geben Sie im Dialogfeld Projekteinrichtung einen Namen für das Projekt ein.
- 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
- Öffnen Sie im Projekt-Explorer Ihr Projekt und doppelklicken Sie auf die.ioc-Datei.
- Erweitern Sie auf der Registerkarte Projekt & Konfiguration System Core und wählen Sie dann SYS.
- Wählen Sie unter SYS-Modus und Konfiguration in der Dropdown-Liste Debug die Option Serial Wire.
- Wählen Sie nun RCC in der System Core-Liste direkt über dem oben ausgewählten SYS aus.
- Wählen Sie unter RCC-Modus und -Konfiguration aus der Dropdown-Liste Hochgeschwindigkeitstakt (HSE) die Option Quarz/Keramik-Resonator aus.
- Öffnen Sie nun erneut unter Kategorien die Konnektivität und wählen Sie USART2 aus.
- Wählen Sie unter USART2-Modus und -Konfiguration aus der Dropdown-Liste Modus die Option Asynchron aus.
- Wählen Sie nun die Registerkarte Clock Configuration und gehen Sie zum nächsten Schritt.
Schritt 3: 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.
- 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.
- Wählen Sie unter PLL Source Mux die untere Option HSE aus.
- Gleich rechts PLLMul auf X9 setzen.
- Wieder rechts unter System Clock Mux wählen Sie PLLCLK.
- Wieder rechts unter APB1 Prescalar wählen Sie /2.
- Das ist es. Wenn Teile des Diagramms violett hervorgehoben sind, haben Sie etwas falsch gemacht.
Schritt 4: Speichern und erstellen
- 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.
- Führen Sie nun einen Build aus dem Menü Projekt|Projekt erstellen aus.
Schritt 5: Hinzufügen von Code
Jetzt fügen wir etwas Code hinzu, um den von uns konfigurierten seriellen Port zu verwenden.
- Öffnen Sie im Projekt-Explorer Core\Src und doppelklicken Sie auf main.c, um es zu bearbeiten.
- 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 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
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.
- 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.
- Wenn ein Dialogfeld zum Bearbeiten der Konfiguration angezeigt wird, klicken Sie einfach auf OK.
- 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:
Wein auf Raspberry Pi einrichten – wikiHow
So richten Sie Wine auf Raspberry Pi ein: Wine ist ein großartiges Tool, mit dem Sie Windows-Apps auf Linux-, Ubuntu-Systemen usw. starten können. Um alle Details zu erfahren, besuchen Sie www.winehq.org (dies ist kein Affiliate-Link). alle Anwendungen für Windows sind für Prozessoren mit s
Dotnet auf Raspberry Pi einrichten – wikiHow
So richten Sie Dotnet auf Raspberry Pi ein: NET Framework auf Raspberry Pi - was ist das und warum noch mehr? Das Ausführen von Microsoft.NET Framework oder auch nur Dotnet auf Raspberry Pi genannt, klingt auf den ersten Blick etwas seltsam und knifflig. Aber es erweist sich als ziemlich schlau und vernünftig bei der
LED Demon Eye mit Smartphone Bluetooth App einrichten: 5 Schritte
So richten Sie LED Demon Eye mit Bluetooth-App für Smartphones ein: In dieser Installationsanleitung erfahren Sie, wie Sie die App einrichten, die über Bluetooth eine Verbindung herstellt. Diese App ist sowohl im Apple Store als auch bei Google Play erhältlich und heißt "Happy Lighting"
Blynk einrichten: 5 Schritte
Blynk einrichten: In diesem Tutorial erfahren Sie, wie Sie Ihr Arduino-Board mit Blynk einrichten und es so einstellen, dass beim Drücken einer Taste in Blynk eine LED aufleuchtet (ich persönlich empfehle dies, da der esp32 über Wifi und Bluetooth verfügt. in, das macht es gut für mich
Kafka einrichten: 4 Schritte
Kafka einrichten: Einführung: Apache Kafka ist ein skalierbares Open-Source-Messaging-System mit hohem Durchsatz, das von der Apache Software Foundation in Scala entwickelt wurde. Apache Kafka wurde speziell entwickelt, damit ein einzelner Cluster als zentraler Daten-Backbo