stm32flash – Online in der Cloud

Dies ist der Befehl stm32flash, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


stm32flash – Flash-Dienstprogramm für STM32 über UART oder I2C

ZUSAMMENFASSUNG


stm32flash [-cfhjkouvCR] [-a bus_address] [-b Baudrate] [-m serial_mode] [-r Dateinamen]
[-w Dateinamen] [-e num] [-n zählen] [-g Adresse] [-s Startseite] [-S Adresse[:Länge]] [-F
RX_length[:TX_length]] [-i GPIO_string] [tty_device | i2c_device]

BESCHREIBUNG


stm32flash liest oder schreibt den Flash-Speicher von STM32.

Es erfordert, dass der STM32 einen Bootloader einbettet, der mit ST Application Note AN3155 oder kompatibel ist
AN4221. stm32flash nutzt die serielle Schnittstelle tty_device oder der i2c-Port i2c_device interagieren
mit dem Bootloader von STM32.

OPTIONAL


-a bus_address
Geben Sie die Busadresse für an i2c_device. Diese Option ist für die I2C-Schnittstelle obligatorisch.

-b Baudrate
Geben Sie die Baudrate an tty_device. Bitte beachten Sie, dass der ST-Bootloader dies kann
erkennt automatisch die Baudrate, wie in Kapitel 2 von AN3155 erläutert. Das
Option könnte zusammen mit Option erforderlich sein -c oder wenn folgende Interaktion mit
Bootloader wird erwartet. Standard ist 57600.

-m Modus
Geben Sie das Format der UART-Daten an. Modus ist eine drei Zeichen lange Zeichenfolge, in der jeweils
Zeichen gibt in dieser strengen Reihenfolge Zeichengröße, Parität und Stoppbits an.
Die einzigen derzeit verwendeten Werte sind 8e1 für Standard-STM32-Bootloader und 8n1 für
Standard-STM32W-Bootloader. Standard ist 8e1.

-r Dateinamen
Geben Sie an, dass der STM32-Flash gelesen und dessen Inhalt geschrieben werden soll Dateinamen in roher Binärform
Format (siehe unten). FORMAT UMWANDLUNG).

-w Dateinamen
Geben Sie an, dass der Inhalt von in den STM32-Flash geschrieben werden soll Dateinamen. Dateiformat kann sein
entweder rohe Binärdatei oder Intel Hex (siehe unten). FORMAT UMWANDLUNG). Das Dateiformat ist
automatisch erkannt. Um die Formaterkennung zu umgehen und den Binärmodus zu erzwingen (z. B. um
Schreiben Sie einen Intel-Hex-Inhalt in STM32-Flash), verwenden Sie -f .

-u Geben Sie an, dass der Schreibschutz vom STM32-Flash deaktiviert werden soll. Der STM32 wird zurückgesetzt
nach dieser Operation.

-j Aktivieren Sie den Flash-Leseschutz.

-k Deaktivieren Sie den Flash-Leseschutz.

-o Nur löschen.

-e num Geben Sie an, dass nur gelöscht werden soll num Seiten, bevor Sie den Flash schreiben. Standardmäßig wird das gelöscht
ganzer Blitz. Mit -e 0 Der Blitz würde nicht gelöscht.

-v Geben Sie an, dass der Flash-Inhalt nach dem Schreibvorgang überprüft werden soll.

-n zählen
Geben Sie an, dass fehlgeschlagene Schreibvorgänge bis zu wiederholt werden sollen zählen mal. Der Standardwert ist 10 Mal.

-g Adresse
Geben Sie die Adresse an, von der aus die Ausführung gestartet werden soll (0 = Flash-Start).

-s Startseite
Geben Sie den Offset der Flash-Seite an (0 = Flash-Start).

-S Adresse[:Länge]
Geben Sie die Startadresse und optional die Länge für Lese-/Schreib-/Lösch-/CRC-Vorgänge an.

-F RX_length[:TX_length]
Geben Sie die maximale Framegröße für die aktuelle Schnittstelle an. Aufgrund des STM32-Bootloaders
Protokoll verarbeitet der Host niemals Frames, die größer als 256 Byte im RX oder 258 Byte im Eingang sind
TX. Aufgrund des aktuellen Codes beträgt die niedrigste Grenze im RX 20 Byte (um eine vollständige Antwort zu lesen).
des Befehls GET). Die vom Protokoll geforderte Mindestgrenze beim Senden beträgt 5 Byte.

-f Binärparser beim Lesen der Datei erzwingen mit -w.

-h Zeig Hilfe.

-c Geben Sie an, die bestehende UART-Verbindung fortzusetzen und keine anfängliche INIT-Sequenz zu senden
um die Baudrate zu erkennen. Die Baudrate muss der der bestehenden Verbindung entsprechen.
Dies ist nützlich, wenn das Zurücksetzen fehlschlägt.

-i GPIO_string
Geben Sie die GPIO-Sequenzen auf dem Host an, um STM32 zum Starten und Beenden des Bootloaders zu zwingen
Modus. GPIO kann entweder ein echter GPIO sein, der neben dem UART vom Host mit STM32 verbunden ist
Verbindung oder die Modemsignale von UART, die als GPIO verwendet werden. (Siehe unten Bootloader GPIO
SEQUENCE für das Format von GPIO_string und weitere Erläuterungen).

-C Geben Sie an, dass CRC für den Speicherinhalt berechnet werden soll. Standardmäßig wird der CRC anhand des berechnet
ganze Flash-Inhalte. Verwenden -S um unterschiedliche Speicheradressbereiche bereitzustellen.

-R Geben Sie an, dass das Gerät beim Beenden zurückgesetzt werden soll. In beiden Fällen wird diese Option ignoriert -g, -j, -k
or -u ist ebenfalls angegeben.

Bootloader GPIO SEQUENCE


Diese Funktion ist derzeit nur auf Linux-Hosts verfügbar.

Wie im ST-Anwendungshinweis AN2606 erläutert, führt der STM32 nach dem Zurücksetzen entweder Folgendes aus
Anwendungsprogramm im Benutzer-Flash oder im Bootloader, abhängig von der angewendeten Ebene
bestimmte Pins von STM32 während des Zurücksetzens.

Der STM32-Bootloader wird automatisch aktiviert, indem die Pins BOOT0="high" und konfiguriert werden
BOOT1="low" und dann durch Anwenden eines Resets. Anwendungsprogramm im Benutzer-Flash ist aktiviert
indem Sie den Pin BOOT0 auf „low“ konfigurieren (der Pegel auf BOOT1 wird ignoriert) und dann a anwenden
zurücksetzen.

Wenn GPIO vom Host-Computer mit einem der Konfigurations- und Reset-Pins verbunden ist
STM32, stm32flash kann den Host-GPIO steuern, um STM32 zurückzusetzen und die Ausführung zu erzwingen
Bootloader oder Ausführung eines Anwendungsprogramms.

Die Reihenfolge der GPIO-Werte für den Einstieg in den Bootloader-Modus und das Verlassen des Bootloader-Modus ist angegeben
Befehlszeilenoption -i GPIO_string.

Das Format von GPIO_string ist:
GPIO_string = [Eintrittssequenz][:[Austrittssequenz]]
Sequenz = [-]n[,Sequenz]

In den obigen Sequenzen entsprechen negative Zahlen GPIO auf „niedrigem“ Niveau; Zahlen
ohne Vorzeichen entsprechen GPIO auf „High“-Pegel. Der Wert „n“ kann entweder der GPIO sein
Nummer auf dem Hostsystem oder die Zeichenfolge „rts“, „dtr“ oder „brk“. Die Zeichenfolgen „rts“ und „dtr“
Treiben Sie die entsprechenden UART-Modemleitungen RTS und DTR als GPIO an. Die Zeichenfolge „brk“ erzwingt
der UART sendet eine BREAK-Sequenz auf der TX-Leitung; Nach BREAK wird der UART normal zurückgegeben
„Non-Break“-Modus. Hinweis: Die Zeichenfolge „-brk“ hat keine Auswirkung und wird ignoriert.

Beachten Sie, dass die Exit-Sequenz nur ausgeführt wird, wenn -R angegeben ist. Wenn -R angegeben ist, aber
Wenn keine Exit-Sequenz erfolgt, wird ein durch die Software ausgelöster Reset durchgeführt.

Nehmen wir als Beispiel die folgende Verbindung zwischen Host und STM32 an:
· Host GPIO_3 mit Reset-Pin von STM32 verbunden;
· Host GPIO_4 mit STM32-Pin BOOT0 verbunden;
· Host GPIO_5 mit STM32-Pin BOOT1 verbunden.

In diesem Fall lautet die im Bootloader-Modus einzugebende Reihenfolge: Zuerst GPIO_4="high" setzen und
GPIO_5="niedrig"; Senden Sie dann einen Reset-Impuls über GPIO_3="low", gefolgt von GPIO_3="high". Der
entsprechende Zeichenfolge für GPIO_string ist „4,-5,-3,3“.

Um den Bootloader zu verlassen und das Anwendungsprogramm auszuführen, lautet die Reihenfolge: put
GPIO_4="niedrig"; Senden Sie dann einen Reset-Impuls. Die entsprechende Zeichenfolge für GPIO_string is
„-4,-3,3“.

Das vollständige Befehlszeilenflag lautet „-R -i 4,-5,-3,3:-4,-3,3“.

STM32W verwendet Pad PA5, um den Startmodus auszuwählen. Wenn PA5 während des Zurücksetzens „niedrig“ ist, ist dies bei STM32W der Fall
in den Bootloader-Modus wechseln; Wenn PA5 „hoch“ ist, wird das Programm im Flash ausgeführt.

Angenommen, GPIO_3 ist mit PA5 und GPIO_2 mit dem Zurücksetzen von STM32W verbunden. Der Befehl:
stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0
anbieten:
· Eingabereihenfolge: GPIO_3=low, GPIO_2=low, GPIO_2=high
· Ausgangssequenz: GPIO_3=high, GPIO_2=low, GPIO_2=high

Beispiele:


Geräteinformationen abrufen:
stm32flash /dev/ttyS0

Schreiben Sie mit „Verify“ und starten Sie dann die Ausführung:
stm32flash -w Dateiname -v -g 0x0 /dev/ttyS0

Flash in Datei lesen:
stm32flash -r Dateiname /dev/ttyS0

Ausführung starten:
stm32flash -g 0x0 /dev/ttyS0

Angeben:
· Eingabereihenfolge: RTS=low, DTR=low, DTR=high
· Ausgangssequenz: RTS=high, DTR=low, DTR=high
stm32flash -R -i -rts,-dtr,dtr:rts,-dtr,dtr /dev/ttyS0

FORMAT UMWANDLUNG


Von ST bereitgestellte oder mit ST-Tools erstellte Flash-Bilder liegen häufig im Dateiformat Motorola vor
S-Record. Eine Konvertierung zwischen Rohbinär-, Intel-Hex- und Motorola S-Record ist möglich
über das Softwarepaket SRecord.

AUTOREN


Das Original-Softwarepaket stm32flash ist geschrieben von Geoffrey McRae <geoff@spacevs.com>
und wird seit 2012 von betreut Tormod Die Gewalt <debian.tormod@gmail.com>.

Manpage und Erweiterung zu STM32W und I2C wurden von geschrieben Anthony Borneo
<borneo.antonio@gmail.com>.

Bitte melden Sie etwaige Fehler auf der Projekthomepage http://stm32flash.sourceforge.net .

Verwenden Sie stm32flash online über die Dienste von onworks.net



Neueste Linux- und Windows-Online-Programme