Link in die Zwischenablage kopiert!

STM32 – erste Schritte

Inhaltsübersicht

    Erste Schritte - Riverdi GUI-Design mit TouchGFX Designer

    TouchGFX Designer ist ein fortschrittlicher PC-GUI-Builder und -Simulator für STM32-Mikrocontroller von ST Microelectronics. Es ist eine gebrauchsfertige Lösung für die Gestaltung einer beeindruckenden GUI.
    TouchGFX in diesem Beispiel 4.20/1.10.1 ist vollständig kompatibel und nahtlos integriert mit allen Riverdi-Produkten, die auf STM32H7 basieren.
    Erfahren Sie, wie Sie eine grafische Benutzeroberfläche für Ihr Riverdi-Display erstellen können.
    Zunächst müssen Sie die Software installieren und ein neues Projekt erstellen:

    1 Installieren Sie die neuesten Versionen von TouchGFX, CubeIDE und Cube Programmer in das Standardverzeichnis: hier verfügbar

    2. Starten Sie TouchGFX Designer

    3. erstellen Sie Ihr Projekt, indem Sie auf „Neu erstellen“ klicken.

    Gehen Sie zur Registerkarte „Nach Partnern“, um ein mit Riverdi Display kompatibles Projekt auszuwählen.

     

    5. wählen Sie Riverdi Board.

    HINWEIS: Es kann mehr als eine Vorlage für dieselbe Riverdi-Anzeige geben. Wählen Sie immer die neueste Version. Überprüfen Sie die Details der Vorlage, die auf der rechten Seite angezeigt werden. (In diesem Fall ist es Version 2.0.1)

    6. Klicken Sie auf „Erstellen“.

    Jetzt haben Sie einen leeren Canvas, um Ihre GUI zu gestalten. Sie können Widgets per Drag & Drop aus dem Menü hinzufügen. Zum Beispiel Schaltflächen, Schieberegler, Fortschrittsbalken, Bilder.

    Wenn Sie mit der Gestaltung Ihrer GUI fertig sind, müssen Sie:

    1. Speichern Sie das Projekt.

    2. Klicken Sie auf „Code generieren“ in der rechten unteren Ecke (oder drücken Sie F4).
    TIPP: Sie können überprüfen, wie Ihre GUI aussehen wird, ohne echte Hardware anzuschließen. Um zu sehen, wie es funktioniert, starten Sie den Simulator, indem Sie auf die Schaltfläche „Play“ in der rechten unteren Ecke klicken (oder F5 drücken).

    Wenn Sie mit Ihrem Projekt zufrieden sind, ist es an der Zeit, es auf Ihrem Bildschirm zu präsentieren:

    1. ST-Link-Programmiergerät an den PC anschließen

    2. SWD-Kabel an das Riverdi-Display anschließen

    3. Vergewissern Sie sich, dass Sie eine STM32H_IPS_QSPI_Loader_CM7.stldr-Datei in
    C:ProgrammeSTMicroelectronicsSTM32CubeSTM32CubeProgrammerbinExternalLoader oder der Pfad, in dem Sie CubeProgrammer installiert haben.
    Wenn nicht, kopieren Sie es aus dem generierten Projekt aus dem Ordner STM32CubeIDECM7Stldr oder gcc
    Dies ist eine einmalige Aufgabe, so dass Sie sie nicht überschreiben müssen, wenn Sie neue TGFX-Projekte erstellen oder bestehende Projekte ändern.

    4. Strom anschließen

    5. Drücken Sie „Run on Target“ (oder drücken Sie F6)

    TouchGFX Designer kompiliert das Projekt und erstellt den Binärcode. Außerdem wird FW automatisch auf Riverdi Display hochgeladen. Sobald dieser Prozess abgeschlossen ist, sollte Ihre GUI auf dem aktuellen Board laufen. Dank der WYSIWYG-Umgebung (What You See Is What You Get) brauchen Sie keine Kenntnisse über Programmiersprachen oder Hardwarestrukturen zu haben, um ein großartiges GUI-Design zu erstellen.
    Brauchen Sie eine Inspiration? Es gibt Demos!
    Sehen Sie sich das Riverdi-Demo-GUI-Projekt (IoT Smart Home) an:

    1. Datei -> Neu

    2. Wählen Sie „Demos“ aus den Symbolen auf der linken Seite

    3. Gehen Sie zu „Board Specific Demo“.

    4. Wählen Sie die neueste Demo für Ihr Riverdi Display

    5. Klicken Sie auf „Erstellen“.

    6. Spaß haben und sehen, wie es funktioniert

    7. Um ihn auf einem Hardware-Display auszuführen, klicken Sie auf „Code generieren“ (oder drücken Sie F4)

    8. Schließen Sie Ihr Display an

    9. Klicken Sie auf „Run on Target“ (oder drücken Sie F6)

    HINWEIS:

    Die vom TouchGFX Designer erzeugten Quellcodes enthalten eine IOC-Projektdatei, die mit CubeMX geöffnet werden kann.

    Leider wird die Neuerstellung direkt aus CubeMX noch nicht vollständig unterstützt. Das IOC-Projekt beschreibt den Pinmux von GPIOs und wie sie mit Schnittstellen verbunden sind. Es zeigt auch Uhren und die Eigenschaften von Peripheriegeräten an.

    Behebung der STM32H7-Blockierung durch falsche Konfiguration

    Problemübersicht

    Das Problem dabei ist, dass die MCU mit einem internen Wandler und LDO ausgestattet ist. Das Hardware-Design ist nicht dasselbe, wenn es mit SMPS oder mit LDO arbeitet. Auf unseren Platinen wird er durch die Widerstände R44, R45 und R46 ausgewählt.

    Standardmäßig ist die LDO-Trimmung aktiviert, was bedeutet, dass R44 und R46 nicht montiert sind und R45 auf 0R steht. Der Prozessor blockiert sich selbst, wenn er mit einer anderen Konfiguration als der Hardware initialisiert wird.

    Sie verhindert die Selbstzerstörung des Prozessors. Dann ist auch die SWD blockiert.

    LÖSUNG

    Es gibt 3 Möglichkeiten, diesen Modus zurückzusetzen, wählen Sie eine davon:

    A) Rufen Sie den Bootmodus auf, indem Sie die folgenden Schritte ausführen:

      1. Schalten Sie den Strom aus
      2. Kurze BOOT-Pads (siehe Bild unten), Sie können eine Pinzette oder einen Lötkolben verwenden
      3. Schalten Sie den Strom wieder ein
      4. SWD anschließen und vollständigen Chip-Löschvorgang durchführen
      5. Schalten Sie den Strom aus
      6. BOOT-Pads entkürzen

    Für 10,1″ (R50)

    Für 7,0″ (R67)

    B) Den 0R-Widerstand R45 entfernen, R44 und R46 mit 0R verlöten. Schließen Sie dann das SWD an, löschen Sie den Blitz und schalten Sie die Widerstände zurück.

    oder

    C) Halten Sie den Prozessor-Reset und versuchen Sie, die Verbindung herzustellen, bevor das Flash-Programm die PWR-Konfiguration erreicht. Es dauert nur einige Dutzend ms, also Sie brauchen vielleicht ein paar Wiederholungen, um es zu schaffen. Schließen Sie dann das SWD an und löschen Sie den Blitz.

    HINWEIS:

    Denken Sie daran, die Standard-Stromversorgungskonfiguration in Ihren Projekten beizubehalten:

    HAL_PWREx_ConfigSupply (PWR_LDO_SUPPLY);

    HINWEIS:

    Für ältere PCB-Versionen ist die Option A anders
    dir=“ltr“>A) Gehen Sie in den Bootmodus, indem Sie die folgenden Schritte ausführen:

    1. Schalten Sie den Strom aus
    2. Verbinden Sie die Lötpunkte R65 und C134 (siehe Abbildung unten)
    3. Schalten Sie den Strom wieder ein
    4. Schließen Sie das SWD an und reinigen Sie den Blitz
    5. Schalten Sie den Strom aus
    6. R65 und C134 abklemmen

    Debug-Konfiguration für CubeIDE für Projekte mit Assets im externen Flash

    Nachdem Sie ein Projekt in TGFX erstellt und in die IDE importiert haben
    Sie müssen das Debug-Konfigurationsfenster öffnen

    Menü Ausführen ->“Debug-Konfigurationen…“

    Dann die Registerkarte „Debugger“.
    Abschnitt „Externer Lader“, klicken Sie auf „Hinzufügen“.

    Dann „Dateisystem…“.
    Und zeigen Sie auf die Loader-Datei.
    Zurzeit müssen Sie den vollständigen Pfad manuell angeben. Im neuen TBS wird stldr zum IDE-Projekt hinzugefügt, so dass es vom Arbeitsbereich aus zugänglich ist und Sie diesen Schritt nicht mehr ausführen müssen

    Das Kästchen „Aktiviert“ muss aktiviert und „Initialisieren“ deaktiviert sein.

    OK anklicken
    Und dann Anwenden und Debuggen.