Schnellstart ST Nucleo-F401 + Kurzanleitung

    In meinem vorherigen Beitrag habe ich versucht, Ihnen kurz die ST Nucleo-Plattform vorzustellen.
    In diesem Beitrag möchte ich Ihnen anhand eines lebenden Beispiels einige der Stärken dieser Plattform erläutern, die jede Chance hat, das gelangweilte Arduino zu verdrängen, und zeigen, dass alle Codebeispiele und Schilde von Arduino für die Nucleo-Plattform großartig sind.



    Warum ist Nuleo-F401?



    Nuleo-Plattform Es handelt sich um eine Mischung aus DISCOVERY- und Arduino-Plattformen, mit der Benutzer fast alle Erweiterungen und Codebeispiele für

    Arduino problemlos verwenden können . Diese Plattform unterstützt MBED.ORG , wodurch die Kopfschmerzen vieler Anfänger bei der Installation, Konfiguration und Verwendung von Compilern für ARM beseitigt werden . Fast alle vorhandenen Erweiterungen für Arduino wurden in mbed.org importiert. Im Gegensatz zu der bereits weit verbreiteten und beliebten Plattform DISCOVERYhat die Plattform auf ihrem Board keine Peripherie, wie zum Beispiel einen Beschleunigungsmesser, einen Kompass usw. Die Nucleo-Plattform soll die Arbeit so einfach machen wie auf Arduino-Plattformen. Die Plattform verfügt außerdem über ein flexibles Stromversorgungsschema (3,3 V-5 V-7 V-12 V), einen integrierten aktualisierten ST-LINK / V2.1-Programmierer zum Programmieren eines beliebigen STM32, einen integrierten virtuellen COM-Port (standardmäßig mit USART verbunden) und ein vereinfachtes Programmierverfahren für Mikrocontroller aufgrund von Emulation von Wechselmedien, die Zugriff auf den Flash-Speicher des Mikrocontrollers gewähren.

    Sie können die Funktionen des STM32F401RE-Mikrocontrollers selbst studierenIch habe mich für ST Nucleo-F401 entschieden, da es zum Zeitpunkt des Kaufs das älteste verfügbare Modell war, das sich von den anderen durch seine höhere Leistung und große Speicherkapazität unterscheidet.

    Erste Schritte!


    Um loszulegen, müssen wir uns auf Mbed.org registrieren und die Plattform, die wir benötigen, zu unserer Geräteliste hinzufügen.

    Anweisungen für Dummies, klicken Sie hier, um zu sehen
    Registrieren Sie sich bei Mbed.org


    Folgen Sie dazu dem Link mbed.org/account/signup und folgen Sie den Anweisungen. Füllen Sie das Registrierungsformular aus.



    Wählen Sie "Nein, ich habe noch kein Konto erstellt" (Nein, ich habe noch kein Konto erstellt).



    Füllen Sie das Registrierungsformular aus und klicken Sie auf "Anmelden" (Registrieren).



    Die Meldung "Willkommen bei mbed!" Sollte erscheinen Um eine Karte zu registrieren, schließen Sie die Karte an und klicken Sie auf MBED.HTM.



    Danach klicken Sie oben links auf „Plattform“ und öffnen Sie die Liste aller vom Projekt unterstützten Plattformen. In der Liste gehen wir zu unserer Plattform (in unserem Fall ist dies Nucleo-F401RE).



    Nachdem wir die Plattformbeschreibung geöffnet haben, finden wir links die Schaltfläche "Zu Ihrem mbed-Compiler hinzufügen". Wenn Sie darauf klicken, fügen wir die ausgewählte Plattform zur Liste unserer Plattformen hinzu.



    Klicken Sie nun auf unseren Spitznamen (oben rechts) und gehen Sie zur Hauptseite Ihres Profils. Hier sehen wir die neu hinzugefügte Plattform unten rechts.



    Eigentlich haben wir uns alle registriert und unsere Plattform hinzugefügt.


    Treiberinstallation

    Auf der Mbed.org-Website im Bereich unserer Plattform sehen Sie unten den Link, indem Sie auf den Link klicken, den wir herunterladen, installieren und ausführen müssen:
    1. Zuerst müssen Sie den USB-Treiber ST-LINK / V2-1 für den Programmierer, für Windows Vista, 7 und 8 STSW-LINK008 oder STSW-LINK009 für Windows XP installieren
    2. Führen Sie ein Firmware-Upgrade des über USB angeschlossenen Programmiergeräts ST-LINK / V2-1 STSW-LINK007 durch

    Anweisungen für Dummies, klicken Sie hier, um zu sehen
    Beginnen
    wir in der richtigen Reihenfolge, laden Sie den aktuellen Treiber herunter und aktualisieren Sie die Firmware auf dieser Seite. KLAT Wir benötigen vermutlich zwei Dateien, eine " ST-LINK / V2-1-Firmware-Aktualisierung ", die zweite ist zulässig. " ST-LINK / V2-1-USB-Treiber unter Windows Vista, 7 und 8 "



    Entpacken Sie die heruntergeladenen Archive und fahren Sie fort.
    Wir starten die Installation der Treiber: Führen Sie im entpackten Archiv STSW-LINK008 oder STSW-LINK009 die Datei unter dem Namen stlink_winusb_install für unser Board aus (das Board ist noch nicht über USB verbunden).



    Wir führen diese Datei aus, die selbst die Bittiefe des Systems und die Art der Installation bestimmt. Wir sind mit allem einverstanden und klicken dann auf Ja usw.
    Jetzt können wir unser Board über USB anschließen und sehen, dass die LEDs aufleuchten und Sie sich für ein neues Wechselmedium entschieden haben.

    Wir starten das Firmware-Update für unseren Plattformprogrammierer:
    Verbinden Sie dazu unsere Debugging-Plattform mit dem Computer, wechseln Sie in den Ordner mit dem entpackten STSW-LINK007-Programmierer-Update-Archiv und starten Sie die ST-LinkUpgrade-Datei.



    Klicken Sie im angezeigten Fenster auf „Device Connect“. Nachdem Sie das Gerät gefunden und eine Verbindung hergestellt haben, klicken Sie auf „Ja >>>“. Das Programm erledigt alles und trennt die Verbindung zum Gerät. Danach können Sie es schließen.

    Alle Installationen von neuen Treibern und Firmware-Updates sind beendet.


    Plattformverbindung:

    Für Neugierige werde ich versuchen, einige der Betriebsarten genauer zu erklären:
    Informationen für Neugierige, klicken, um zu sehen. VORSICHT
    Kurze technische Informationen aus dem Handbuch

    Bild
    LED-Betriebsarten.

    Die Karte verfügt über 3 LEDs. Die
    dreifarbige LED (grün, orange, rot) LD1 (COM) gibt Auskunft über den Status der ST-LINK-Verbindung. Die Farbe LD1 ist standardmäßig rot. LD1 wird grün und zeigt an, dass während der Verbindung zwischen dem PC und ST-LINK / V2-1 folgende Schritte ausgeführt werden:
    • "Slow Flashing Red" / "Off" - wenn die Stromversorgung eingeschaltet wird, bis eine USB-Verbindung hergestellt ist
    • “Schnell blinkend rot” / “Aus” - nach dem ersten korrekten Datenaustausch zwischen PC und STLINK / V2-1 (Verbindungsvorgang)
    • “Rote LED an” - wenn die Verbindung zwischen dem PC und ST-LINK / V2-1 hergestellt ist
    • „Grün ein: Verbindung erfolgreich abgeschlossen oder Vorgang korrekt abgeschlossen
    • "Rot blinkend" / "grün" - während der Datenübertragung. (Der Firmware-Prozess selbst)
    • "Orange Ein": Kommunikationsfehler.


    USER LD2 : grüne Benutzer-LED, die LED ist mit dem Arduino-Pin D13 verbunden, der dem Eingangs- / Ausgangspin des Mikrocontrollers PA5 (Pin 21) oder PB13 (Pin 34) entspricht.
    • Wenn der Eingangs- / Ausgangswert (E / A) hoch ist, leuchtet die LED.
    • Wenn der Eingangs- / Ausgangswert (E / A) niedrig ist, ist die LED aus.


    LD3 PWR : Eine rote LED zeigt an, dass das Teil mit dem Mikrocontroller mit Strom versorgt wird und +5 V geliefert werden.

    Knöpfe

    B1 USER : Die Benutzertaste ist mit dem PC13-Ein- / Ausgang (Pin 2) des STM32-Mikrocontrollers verbunden.
    B2 RESET : Diese Taste stellt eine Verbindung zum NRST her und dient zum Zurücksetzen des STM32-Mikrocontrollers.

    Hinweis: Die blauen und schwarzen Plastikkappen an den Tasten können bei Bedarf entfernt werden, z. B. wenn ein Schild oder eine Erweiterungskarte oben am Nucleo angeschlossen ist. Dadurch wird ein Druck auf die Tasten und damit ein mögliches ständiges versehentliches Drücken vermieden


    Jumper JP6 (IDD)

    Der mit IDD gekennzeichnete Jumper JP6 misst den Stromverbrauch des Mikrocontrollers. Entfernen Sie dazu den Jumper und schließen Sie das Amperemeter an.
    • Jumper ein: Der STM32-Mikrocontroller wird mit Strom versorgt (Standard).
    • Jumper AUS: Das Amperemeter muss angeschlossen sein, um den Strom des STM32-Mikrocontrollers zu messen. Wenn kein Amperemeter vorhanden ist, wird der STM32-Mikrocontroller nicht mit Strom versorgt.


    Eingebauter ST-LINK / V2-1

    Der In-Circuit-Debugger / Programmierer ST-LINK / V2-1 unterstützt nur SWD für STM32-Geräte.
    Änderungen gegenüber ST-LINK / V2:
    Neue Funktionen, die in ST-LINK / V2-1 unterstützt werden:
    • USB-Treiber neu nummeriert
    • Virtuelle COM-Port-Schnittstelle über USB
    • USB-Speicherschnittstelle
    • USB Power Manager

    Funktionen, die von ST-LINK / V2-1 nicht unterstützt werden:
    • SWIM-Schnittstelle (Wird für die Programmierung von STM8 benötigt)
    • Die minimale unterstützte Anwendungsspannung ist auf 3 V begrenzt

    Betriebsarten des eingebauten ST-LINK / V2-1:
    Jumper-StatusWert
    Beide CN2-Jumper sind angezogenST-LINK / V2-1 programmiert den Mikrocontroller auf der Karte (Standard)
    beide CN2-Jumper entferntST-LINK / V2-1 programmiert den Mikrocontroller über einen externen CN4-Anschluss (SWD unterstützt)

    Pinbelegung SWD:
    PinCN4Wert
    1VDD_TARGETVDD für Gerät
    2SWCLKSWD schlagen
    3GNDDie Erde
    4SWDIOSWD-Dateneingabe / -ausgabe
    5NrstZurücksetzen des programmierbaren MK
    6SwoWird nicht benutzt


    PCB-Trennung

    Die STM32 Nucleo-Leiterplattenplattform ist in zwei Teile unterteilt: den ST-LINK-Teil und den Ziel-MCU-Teil, die unterteilt werden können, um die Größe der Leiterplatte zu verringern. In diesem Fall kann der verbleibende Ziel-MCU-Teil nur mit VIN, E5V und 3,3V am ST Morpho CN7 oder VIN und 3,3 am Arduino CN6 mit Strom versorgt werden. Sie können jedoch weiterhin den ST-LINK-Teil verwenden, um den Hauptmikrocontroller mithilfe der Drähte zwischen dem CN4-SWD und den Anschlüssen des ST-Morpho ( SWCLK CN7 Pin-15 und SWDIO CN7 Pin-13 ) zu programmieren .

    Board Power Modi.

    Die Stromversorgung erfolgt entweder von einem Computer über ein USB-Kabel oder von einer externen Quelle: VIN (7V-12V), E5V (5V) oder + 3V3 Stromanschlüsse an CN6 oder CN7.
    ST-LINK / V2-1 unterstützt die Plattform über USB, während der Programmierer selbst Strom bis zu 100 mA verbraucht.

    Die gesamte STM32-Nucleo-Karte einschließlich der Erweiterungskarten kann über ST-LINK USB mit Strom versorgt werden, sofern der Gesamtstromverbrauch 300 mA (einschließlich 100 mA ST-LINK-Verbrauch) nicht überschreitet, wenn diese Bedingungen erfüllt sind, die rote LD3-LED leuchtet und der Mikrocontroller funktioniert. Wenn der Verbrauchsstrom höher ist, muss für das gesamte Projekt oder nur für Erweiterungskarten eine externe Stromquelle verwendet werden (nicht zu vergessen die Gemeinsamkeiten).

    Wenn die Karte über USB (U5V) mit Strom versorgt wird, muss ein Jumper zwischen Pin 1 und 2 von JP5 an die Position U5V angeschlossen werden.Der JP1- Jumper kann nur installiert werden, wenn die Karte über USB mit Strom versorgt wird und der maximale Stromverbrauch an U5V 100 mA (einschließlich aller Arten von Erweiterungskarten oder Arduino Shield) nicht überschreiten sollte.

    VIN (7V-12V) oder E5V (5V-5.5V) können als externe Stromquelle verwendet werden, falls der Stromverbrauch von Nucleo- und Erweiterungskarten den für USB zulässigen Strom überschreitet. In diesem Zustand können Sie die USB-Verbindung weiterhin zum Programmieren oder Debuggen verwenden. Schließen Sie jedoch zuerst die Karte mit VIN oder E5V an die Stromquelle an und schließen Sie dann das USB-Kabel an den PC an.

    Bei Stromversorgung mit VIN oder E5V muss der Einschaltalgorithmus befolgt werden:
    • Verbinden Sie den Jumper zwischen Pin 2 und 3 von JP5.
    • Stellen Sie sicher, dass JP1 gelöscht ist.
    • Schließen Sie eine externe Stromversorgung an VIN oder E5V an.
    • Die Spannung an der externen Stromversorgung beträgt 7 V.
    • Stellen Sie sicher, dass LD3 eingeschaltet ist.
    • Schließen Sie den PC an den USB-Anschluss CN1 an.

    Wenn diese Reihenfolge nicht beachtet wird, kann die Karte zuerst über VBUS und dann über VIN oder E5V mit Strom versorgt werden, während der USB-Anschluss am Computer möglicherweise fehlerhaft funktioniert oder Störungen des Mikrocontrollers auftreten können (! Gleiches gilt für die Reset-Taste!),
    Wenn die Karte mit VIN betrieben wird oder E5V sollte die Jumper-Konfiguration wie folgt sein:
    • Jumper auf JP5 zwischen Pin 2 und Pin 3.
    • Jumper auf JP1 entfernt.

    Externe Netzteile:
    LeistungsaufnahmeSteckerkontakteSpannungStromEinschränkung
    FahrgestellnummerCN6 Pin 8, CN7 Pin 24von 7V bis 12V800 mA800 mA bei Vin = 7 V, 450 mA bei 7 V.
    E5vCN7 Pin 64,75 V bis 5,25 V.500 mA


    (Eigentlich ist Micro Manul vorbei. Sie können ausatmen und weitermachen)

    Для остальных достаточно запомнить что на плате есть перемычка JP5 и у нее есть два положения, питание микроконтроллера от USB (положение U5V не более 300mA) или от внешнего источника (E5V) питания например от 5 Вольт подключенных к CN7 (самые Левый разьем, контакты пин-6 E5V и пин-8 GND). Схема разъемов

    И так мы подключились и увидели что в нашем компьютере определился сменный носитель, это признак того что все сделано правильно и все работает. Проверить корректно ли работает сам микроконтроллер можно понажимав пользовательскую кнопку, при кликании по ней, частота мерцания пользовательского светодиода должна изменяться. Наигравшись со светодиодом идем дальше.

    Теперь самое время создать нашу первую программу в Embed и прошить ею наш контролер.
    Ich werde solche Unterabschnitte unter dem Spoiler entfernen, um Platz zu sparen.
    Erstes Programm und erste Programmierung
    Erstes Programm und erste Programmierung

    Erstellen eines Programmprojekts in Mbed

    Öffnen Sie auf Ihrer Profilseite in Mbed die Seite mit unserer Plattform, verwenden Sie die Bilder als Hilfe und gehen Sie wie folgt vor:
    (1) Öffnen Sie den Online-Compiler.

    (2-3) Erstellen Sie ein Projekt mit dem Namen „Blinky LED-Test für die ST Nucleo-Boards“ und klicken Sie auf „OK“ “


    (4 - 5) Öffnen und kompilieren Sie die Binärdatei (5).

    Danach werden wir aufgefordert, diese Binärdatei zu speichern (die Vorgehensweise hängt von Ihrem Browser ab). Wir kopieren oder übertragen die resultierende Binärdatei einfach auf Nucleo-Wechselmedien. Wenn Sie den Inhalt des Wechselmediums unmittelbar nach dem Kopieren sofort aktualisieren, können Sie ihn nicht sehen, was darauf hinweist, dass der Mikrocontroller erneut geflasht wird! (Während der Firmware sehen Sie, wie fröhlich LED_COM blinkt.)


    Der Beitrag wurde die ganze Nacht geschrieben und wird bald durch Beispiele ergänzt. Ich möchte darauf hinweisen, dass Erweiterungen von Arduino auch problemlos zu Nucleo passen. Es gibt keine Probleme mit Skizzen.

    Jetzt auch beliebt: