RadioShuttle STM32 Utility

1. RadioShuttle STM32 Utility

„RadioShuttle STM32 Utility“ ist ein spezielles Tool, mit dessen Hilfe sich Firmware über eine USB-Verbindung und unter Verwendung des DFU-Protokolls einfach auf ein RadioShuttle STM32-kompatibles Board hochladen lässt. Das Tool kann über eine Kommandozeile von Mac-, Windows- und Linux-Computern genutzt werden, oder über eine grafische Benutzeroberfläche von Mac- und Windows-Rechnern. Firmware lässt sich auf/von STM32-MCUs hoch- bzw. herunterladen. Das Tool kann mit RadioShuttle-kompatiblen Boards, die bei der Herstellung mit einer gültigen Lizenz (Code) versehen wurden, genutzt werden.

2. Systemvoraussetzungen

  • Mac:
    ab OS X 10.9
  • Windows:
    ab Windows 7

3. Firmware auf ein STM32-Board laden

  • Verbinden Sie das Board über ein Micro-USB-Kabel mit dem Computer (Abb.1).

    Abb. 1: Micro-USB-Kabelverbindung zwischen Host und Target-Board

Wichtiger Hinweis für Windows-Anwender: Bevor Sie das STM32-Target-Board unter Windows nutzen können, müssen die RadioShuttle-Treiber installiert werden. Eine Anleitung dazu finden Sie in Abschnitt 7. Treiberinstallation unter Windows.

Das Board muss zuerst in den DFU-Bootmodus versetzt werden (Statuszeile: "STM32 DFU Target not available (enable via User and Reset button)"):

  • Halten Sie die User-Taste gedrückt und betätigen Sie einmal kurz die Reset-Taste (Abb. 2).

    Abb. 2: User- und Reset-Taste auf dem Target-Board

Nun befindet sich das Board im USB DFU-Bootmodus.

  • Entpacken Sie das Zip-Archiv „RadioShuttle STM32 Tools-1.0.1.zip“.
  • Öffnen Sie das Tool „RadioShuttle STM32 Utility“.

GUI (Windows/Mac)

  • Ziehen Sie die „.bin“-Datei, in der sich die Firmware befindet, in das Fenster (Abb. 3a+b):

    Abb. 3a: Binärdatei wird in das Fenster des RadioShuttle STM32 Utility gezogen (Windows)

    Abb. 3b: Binärdatei wird in das Fenster des RadioShuttle STM32 Utility gezogen (Mac)

  • Sie können die „.bin“-Datei auch direkt auf das „RadioShuttle STM32 Utility“-Programmicon ziehen.
  • Alternativ haben Sie die Möglichkeit, über das Menü „File > Upload to target“ zu gehen und dort die „.bin“-Datei auszuwählen.

Kommandozeile (Windows/Mac/UNIX)

Bevor Sie die neue Firmware hochladen können, muss die Statusmeldung im Programmfenster so aussehen:
"STM32 (ID:0) Flash: 256 kB".

ID: 0 bezeichnet die fortlaufende Nummer des über USB angeschlossenen Boards. Mit dem Tool lassen sich mehrere Boards mit demselben Host verbinden, wobei die ID zwischen den verschiedenen Boards differiert.

Beachten Sie bitte, dass die App „RadioShuttle Utility“ nach dem Hochladen der Firmware den Inhalt automatisch prüft (Abb. 4). Nachdem die Firmware erfolgreich auf das Target-Board geladen wurde, wird die Software automatisch zurückgesetzt, was bedeutet, dass das Board den DFU-Bootmodus verlässt und das neu installierte Programm startet. Um erneut in den DFU-Bootmodus zu gelangen, muss die am Beginn dieses Abschnitts gezeigte Tastenkombination gedrückt werden.

Abb. 4: Binärdatei wird auf das Board geladen

Sobald die Firmware erfolgreich auf das Board gespielt worden ist, öffnet sich automatisch ein Fenster des Programms macOS „Terminal“ (Abb. 5a), das die gesamte Ausgabe des geladenen Programms anzeigt.

Abb. 5a: Ausgabe des Programs macOS „Terminal“

Unter Windows können Sie das Programm Tera Term zum Verbinden an den richtigen Virtual-COM-Port nutzen (Abb. 5b).

  • Gehen Sie auf „Setup > Serial port…“ und geben Sie den richtigen seriellen Port an (in unserem Beispiel ist das „COM20“):
  • Klicken Sie auf „OK“.

Danach öffnet Tera Term ein Programmfenster (Abb. 5b), das die gesamte Ausgabe des geladenen Programms anzeigt.

Abb. 5b: Ausgabe des Programms „TeraTerm“ (Windows)

4. Benutzerdefinierte Einstellungen

Das Menü „Preferences“ (Abb. 6) ist optional und wird normalerweise nicht benötigt, es sei denn, spezielle Parameter, wie z. B. die Flash-Startadresse (Offset) weichen von der Standardadresse ab oder die Größe des Flashs soll begrenzt werden.

Abb. 6: Menü „Preferences“

  • (Windows): Gehen Sie auf „Help > Preferences…“.
    (Mac): Gehen Sie auf „RadioShuttle STM32 Utility > Preferences…“.
  • Wählen Sie aus dem Aufklappmenü „STM32 Target:“ das gewünschte Board aus, z. B. „STM32 ID:0“.
  • Falls erforderlich, passen Sie die Werte für „Offset“ und „Size“ an:
  • Aktivieren Sie die Checkbox „Options“ und neue Werte für den Offset, zur Festlegung einer eigenen Adresse, und die Größe („Size“) ein. Die Werte können entweder in dezimaler oder in hexadezimaler Notation eingeben werden.

Die benutzerdefinierten Einstellungen werden gespeichert und beim nächsten Start des Tools erneut verwendet. Im Fall von mehreren verbundenen Target-Boards wird die ID des Boards dagegen nicht gespeichert. Das Tool verwendet automatisch das erste Target-Board, das nach dem Start gefunden wird.

5. Flash-Speicher auslesen

  • Gehen Sie auf „File > Download from target“.

Beachten Sie bitte, dass beim Herunterladen der gesamte Flash-Speicher extrahiert und in eine „.bin“-Datei auf dem Host gespeichert wird. Also selbst wenn nur ein kleiner Teil verwendet wird – der gesamte Flash-Inhalt wird entpackt und gespeichert. Das liegt daran, dass das Tool während des Downloads nicht weiß, wieviel des gesamten Flash-Speichers tatsächlich verwendet wird und deshalb alles ausliest. Mithilfe der Größenoptionen („Offset“/„Size“) lässt sich die Download-Größe begrenzen.

Wichtiger Hinweis: Das Tool löscht nicht den gesamten Inhalt des Speicherchips, sondern löscht bzw. schreibt nur die Größe der „.bin“-Datei in den Speicher und bewahrt die übrigen vorhandenen Daten im Flash-Speicher.

6. Kommandozeilen-Parameter

xxx

7. Treiberinstallation unter Windows

Bevor Sie das STM32-Target-Board unter Windows nutzen können, müssen die erforderlichen Gerätetreiber installiert werden.

Installation des STM32-BOOTLOADER-Treibers

  • Bringen Sie das STM32-Board, welches Sie mit einem Windows-Computer verbunden haben, in den DFU-Bootmodus indem Sie die User-Taste gedrückt halten und die Reset-Taste einmal kurz betätigen (Abb. 2).
  • Öffnen Sie den Windows „Geräte-Manager“.

Hinweis: Wurde auf dem Board bereits ein älterer Treiber installiert oder hat Windows dem STM32-Board automatisch einen Treiber zugewiesen, z. B. in „Universal Serial Bus devices“ oder „USB-Controller“, muss dieser zuerst deinstalliert werden:

  • Führen Sie einen Doppelklick auf den Geräteeintrag aus, um die Eigenschaften zu öffnen.
  • Klicken Sie in der Registerkarte „Treiber“ auf „Deinstallieren“.
  • Vergewissern Sie sich, dass Sie die Checkbox „Die Treibersoftware für dieses Gerät löschen“ aktiviert haben und klicken Sie auf „OK“.
  • Halten Sie die User-Taste gedrückt und betätigen Sie einmal kurz die Reset-Taste, um das Board erneut in den DFU-Bootmodus zu bringen.

Nun erscheint der Eintrag „STM32 BOOTLOADER“ unter „Andere Geräte“. Das Icon ist mit einer Warnung versehen, dass Windows keinen passenden Treiber finden konnte:

Der Treiber kann jetzt installiert werden:

  • Entpacken Sie das „RadioShuttle STM32 Tools.zip“-Archiv.
  • Führen Sie einen Doppelklick auf den Eintrag „STM32 BOOTLOADER“ aus, um die Eigenschaften zu öffnen.
  • Klicken Sie in der Registerkarte „Allgemein“ auf „Treiber aktualisieren…“.

Das Windows-System fragt, wie Sie nach dem benötigten Treiber suchen möchten:

  • Klicken Sie auf „Auf dem Computer nach Treibersoftware suchen“.
    (Wählen Sie nicht die Methode „Automatisch nach aktueller Treibersoftware suchen“!)
  • Navigieren Sie mithilfe der Schaltfläche „Durchsuchen…“ zu dem entpackten Ordner „RadioShuttle STM32 Tools“.
  • Navigieren Sie in diesem Ordner zu „Windows > driver“ und klicken Sie auf „OK“.
  • Klicken Sie auf „Weiter“ und bestätigen Sie den folgenden Dialog mit „Installieren“.

Sobald Windows die Treibersoftware erfolgreich installiert hat, erscheint der Eintrag „STM32 BOOTLOADER“ im „Geräte-Manager“ unter „Universal Serial Bus devices“:

  • Führen Sie einen Doppelklick auf den Eintrag „STM32 BOOTLOADER“ aus und vergewissern Sie sich, dass die Informationen so aussehen:

    Die Treiberversion muss mindestens 1.0.0.0 sein

Installation des CDC DEVICE (Virtual Serial COM Port)

In einem zweiten Schritt muss der Treiber „CDC DEVICE“ installiert werden:

  • Drücken Sie auf dem Target-Board die Reset-Taste.

Hinweis: Wurde auf dem Board bereits ein älterer Treiber installiert oder hat Windows dem STM32-Board automatisch einen Treiber zugewiesen, z. B. in „Anschlüsse (COM & LPT)“, muss dieser zuerst deinstalliert werden:

  • Führen Sie einen Doppelklick auf den Geräteeintrag aus, um die Eigenschaften zu öffnen.
  • Klicken Sie in der Registerkarte „Treiber“ auf „Deinstallieren“.
  • Vergewissern Sie sich, dass Sie die Checkbox „Die Treibersoftware für dieses Gerät löschen“ aktiviert haben und klicken Sie auf „OK“.

Wurde bisher noch kein Treiber zugewiesen, erscheint der Eintrag „CDC DEVICE“ unter „Andere Geräte“. Das Icon ist mit einer Warnung versehen, dass Windows keinen passenden Treiber finden konnte:

Der Treiber kann jetzt installiert werden:

  • Führen Sie einen Doppelklick auf den Eintrag „CDC DEVICE“ aus, um die Eigenschaften zu öffnen.
  • Klicken Sie in der Registerkarte „Allgemein“ auf „Treiber aktualisieren…“.

Das Windows-System fragt, wie Sie nach dem benötigten Treiber suchen möchten:

  • Klicken Sie auf „Auf dem Computer nach Treibersoftware suchen“.
    (Wählen Sie nicht die Methode „Automatisch nach aktueller Treibersoftware suchen“!)
  • Navigieren Sie mithilfe der Schaltfläche „Durchsuchen…“ zu dem entpackten Ordner „RadioShuttle STM32 Tools“.
  • Navigieren Sie in diesem Ordner zu „Windows > driver“ und klicken Sie auf „OK“.
  • Klicken Sie auf „Weiter“ und bestätigen Sie den folgenden Dialog mit „Installieren“.

Sobald Windows die Treibersoftware erfolgreich installiert hat, erscheint der Eintrag „STM32 CDC (z. B. COM20)“ im „Geräte-Manager“ unter „Anschlüsse (COM & LPT)“:

  • Führen Sie einen Doppelklick auf den Eintrag „STM32 CDC (z. B. COM20)“ aus und vergewissern Sie sich, dass die Informationen so aussehen:

    Die Treiberversion muss mindestens 1.0.0.0 sein

Wurde bisher noch kein Treiber zugewiesen, wurden die Treiber erfolgrecih installiert und Sie können in Abschnitt 3. Firmware auf ein STM32-Board laden weiterlesen.

8. Lizensierung

Das Tool wird nur Kunden zur Verfügung gestellt, die ein RadioShuttle-kompatibles Board mit einer RadioShuttle-Lizenz erworben haben. Auf dem Board muss bei der Herstellung RadioShuttle aktiviert worden sein, sonst wird es nicht unterstützt und funktioniert nicht.

9. Fragen & Antworten

a) Mein Board wird im „RadioShuttle STM32 Utility“ nicht angezeigt.
Prüfen Sie folgende Punkte:

  • Ist das USB-Kabel mit dem Host verbunden?
  • Ist das USB-Kabel mit dem Board verbunden?
  • Wurde das Board in den DFU-Bootmodus versetzt (siehe 3. Firmware auf ein STM32-Board laden)?
  • Wird das Board von RadioShuttle unterstützt?

b) Das Laden der Firmware hat bei z. B. 0x08001000 einen Fehler.
Einige MCU-Chips könnten schreibgeschützt sein, der Speicher kann nicht überschrieben werden oder bestimmte Speicherblöcke sind schreibgeschützt.

c) Das Herunterladen von Speicherinhalten schlägt fehl.
Einige MCU-Chips könnten gegen Auslesen geschützt sein. Bitte wenden Sie sich an Ihren Händler.

d) Nach dem Flashen startet das Programm nicht mehr.
By default, the start address is 0x08000000. Maybe the software requires another start address which can be specified in the “Preferences” setup. Another option may be that the firmware (“.bin”) is not compatible with your board or contains software errors. In this case simplify the application and test again.

e) Wie lang dauert es, die Firmware hochzuladen und den Flash Speicher zu programmieren?
Das hängt von der Größe des Flash-Images („.bin“) ab. Ein kleines Image lässt sich innerhalb einer Sekunde in den Speicher schreiben. Ein größeres, z. B. 200 kB großes Image, benötigt 3 Sekunden.

(c) 2018 www.radioshuttle.de