Englishfrançaisespagnol

Icône de favori OnWorks

stm32flash - En ligne dans le Cloud

Exécutez stm32flash dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande stm32flash qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


stm32flash - utilitaire de flash pour STM32 via UART ou I2C

SYNOPSIS


stm32flash [-cfhjkouvCR] [-a adresse_bus] [-b débit_baud] [-m mode_série] [-r nom de fichier]
[-w nom de fichier] [-e num] [-n compter] [-g propos] [-s page de démarrage] [-S propos[:longueur]] [-F
RX_longueur[:TX_longueur]] [-i chaîne_GPIO] [tty_device | i2c_device]

DESCRIPTION


stm32flash lit ou écrit la mémoire flash de STM32.

Il nécessite que le STM32 embarque un bootloader conforme à la note d'application ST AN3155 ou
AN4221. stm32flash utilise le port série tty_device ou le port i2c i2c_device d'interagir
avec le bootloader de STM32.

OPTIONS


-a adresse_bus
Spécifiez l'adresse sur le bus pour i2c_device. Cette option est obligatoire pour l'interface I2C.

-b débit_baud
Spécifiez la vitesse de débit en bauds de tty_device. Veuillez noter que le bootloader ST peut
détecter automatiquement le débit en bauds, comme expliqué dans le chapitre 2 de AN3155. Cette
l'option peut être requise avec l'option -c ou si suite à une interaction avec
bootloader est attendu. La valeur par défaut est 57600.

-m mode
Spécifiez le format des données UART. mode est une chaîne de trois caractères où chaque
caractère spécifie, dans cet ordre strict, la taille des caractères, la parité et les bits d'arrêt.
Les seules valeurs actuellement utilisées sont 8e1 pour le chargeur de démarrage STM32 standard et 8n1 pour
chargeur de démarrage standard STM32W. La valeur par défaut est 8e1.

-r nom de fichier
Spécifiez de lire le flash STM32 et d'écrire son contenu dans nom de fichier en binaire brut
format (voir ci-dessous Format CONVERSION).

-w nom de fichier
Spécifiez d'écrire le flash STM32 avec le contenu de nom de fichier. Le format de fichier peut être
soit binaire brut ou intel hex (voir ci-dessous Format CONVERSION). Le format de fichier est
détecté automatiquement. Pour contourner la détection de format et forcer le mode binaire (par exemple pour
écrivez un contenu hexadécimal intel dans le flash STM32), utilisez -f option.

-u Spécifiez pour désactiver la protection en écriture de la mémoire flash STM32. Le STM32 sera réinitialisé
après cette opération.

-j Activez la protection contre la lecture flash.

-k Désactivez la protection contre la lecture flash.

-o Effacer seulement.

-e num Spécifier pour effacer uniquement num pages avant d'écrire le flash. La valeur par défaut est d'effacer le
éclair entier. Avec -e 0 le flash ne serait pas effacé.

-v Spécifiez pour vérifier le contenu flash après l'opération d'écriture.

-n compter
Spécifiez de réessayer les écritures échouées jusqu'à compter fois. La valeur par défaut est 10 fois.

-g propos
Spécifiez l'adresse à partir de laquelle démarrer l'exécution (0 = démarrage flash).

-s page de démarrage
Spécifiez le décalage de page flash (0 = démarrage flash).

-S propos[:longueur]
Spécifiez l'adresse de début et éventuellement la longueur pour les opérations de lecture/écriture/effacement/crc.

-F RX_longueur[:TX_longueur]
Spécifiez la taille de trame maximale pour l'interface actuelle. En raison du chargeur de démarrage STM32
protocole, l'hôte ne gérera jamais les trames supérieures à 256 octets en RX ou 258 octets en
TX. En raison du code actuel, la limite la plus basse dans RX est de 20 octets (pour lire une réponse complète
de la commande GET). La limite minimale en TX est de 5 octets, requise par le protocole.

-f Forcer l'analyseur binaire lors de la lecture du fichier avec -w.

-h Afficher l'aide.

-c Spécifiez de reprendre la connexion UART existante et de ne pas envoyer la séquence INIT initiale
pour détecter le débit en bauds. Le débit en bauds doit rester le même que celui de la connexion existante.
Ceci est utile si la réinitialisation échoue.

-i chaîne_GPIO
Spécifiez les séquences GPIO sur l'hôte pour forcer STM32 à entrer et sortir du bootloader
mode. Le GPIO peut être un vrai GPIO connecté de l'hôte au STM32 à côté de l'UART
connexion ou les signaux du modem UART utilisés comme GPIO. (Voir ci-dessous BOOTLOADER GPIO
SÉQUENCE pour le format de chaîne_GPIO et plus d'explications).

-C Spécifiez de calculer le CRC sur le contenu de la mémoire. Par défaut, le CRC est calculé sur le
tout le contenu flash. Utilisation -S pour fournir une plage d'adresses mémoire différente.

-R Spécifiez de réinitialiser l'appareil à la sortie. Cette option est ignorée si soit -g, -j, -k
or -u est également précisé.

BOOTLOADER GPIO SÉQUENCE


Cette fonctionnalité est actuellement disponible sur l'hôte Linux uniquement.

Comme expliqué dans la note d'application ST AN2606, après la réinitialisation, le STM32 exécutera soit le
programme d'application en flash utilisateur ou dans le bootloader, selon le niveau appliqué à
broches spécifiques de STM32 lors de la réinitialisation.

Le chargeur de démarrage STM32 est automatiquement activé en configurant les broches BOOT0="high" et
BOOT1="low" puis en appliquant une réinitialisation. Le programme d'application dans le flash utilisateur est activé
en configurant le pin BOOT0="low" (le niveau sur BOOT1 est ignoré) puis en appliquant un
réinitialiser.

Lorsque les GPIO de l'ordinateur hôte sont connectés à l'une des broches de configuration et de réinitialisation de
STM32, stm32flash peut contrôler le GPIO hôte pour réinitialiser STM32 et forcer l'exécution de
chargeur de démarrage ou exécution du programme d'application.

La séquence de valeurs GPIO pour entrer et sortir du mode bootloader est fournie avec
option de ligne de commande -i chaîne_GPIO.

Le format de chaîne_GPIO est:
GPIO_string = [séquence d'entrée][:[séquence de sortie]]
séquence = [-]n[,séquence]

Dans les séquences ci-dessus, les nombres négatifs correspondent à GPIO au niveau « bas » ; Nombres
sans signe correspond à GPIO au niveau "haut". La valeur "n" peut être soit le GPIO
numéro sur le système hôte ou la chaîne "rts", "dtr" ou "brk". Les chaînes "rts" et "dtr"
pilotez les lignes de modem UART correspondantes RTS et DTR en tant que GPIO. La chaîne "brk" force
l'UART pour envoyer une séquence BREAK sur la ligne TX ; après BREAK l'UART est retourné dans la normale
mode « non-coupure ». Remarque : la chaîne "-brk" n'a aucun effet et est ignorée.

Notez que la séquence de sortie n'est exécutée que si -R est spécifié. Si -R est spécifié, mais
aucune séquence de sortie, une réinitialisation déclenchée par logiciel sera effectuée.

Par exemple, supposons la connexion suivante entre l'hôte et STM32 :
· hôte GPIO_3 connecté à la broche de réinitialisation de STM32 ;
· hôte GPIO_4 connecté à la broche STM32 BOOT0 ;
· hôte GPIO_5 connecté à la broche STM32 BOOT1.

Dans ce cas, la séquence pour entrer en mode bootloader est : d'abord mettre GPIO_4="high" et
GPIO_5="bas" ; puis envoyez une impulsion de réinitialisation par GPIO_3="low" suivi de GPIO_3="high". Les
chaîne correspondante pour chaîne_GPIO est "4,-5,-3,3".

Pour quitter le chargeur de démarrage et exécuter le programme d'application, la séquence est la suivante :
GPIO_4="bas" ; puis envoyer une impulsion de réinitialisation. La chaîne correspondante pour chaîne_GPIO is
"-4,-3,3".

L'indicateur de ligne de commande complet est "-R -i 4,-5,-3,3:-4,-3,3".

STM32W utilise le pad PA5 pour sélectionner le mode de démarrage ; si pendant la réinitialisation, PA5 est "bas", alors STM32W
entrer en mode bootloader ; si PA5 est "élevé", il exécutera le programme en flash.

Par exemple, supposons que GPIO_3 soit connecté à PA5 et GPIO_2 à la réinitialisation de STM32W. La commande:
stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0
fournit:
· séquence d'entrée : GPIO_3=bas, GPIO_2=bas, GPIO_2=haut
· séquence de sortie : GPIO_3=high, GPIO_2=low, GPIO_2=high

EXEMPLES


Obtenir des informations sur l'appareil :
stm32flash /dev/ttyS0

Écrivez avec verify puis lancez l'exécution :
stm32flash -w nom de fichier -v -g 0x0 /dev/ttyS0

Lire le flash dans un fichier :
stm32flash -r nom de fichier /dev/ttyS0

Lancer l'exécution :
stm32flash -g 0x0 /dev/ttyS0

Spécifier:
· séquence de saisie : RTS=low, DTR=low, DTR=high
· séquence de sortie : RTS=high, DTR=low, DTR=high
stm32flash -R -i -rts,-dtr,dtr:rts,-dtr,dtr /dev/ttyS0

Format CONVERSION


Les images Flash fournies par ST ou créées avec les outils ST sont souvent au format de fichier Motorola
S-Record. La conversion entre le binaire brut, intel hex et Motorola S-Record peut être effectuée
via le progiciel SRecord.

AUTEURS


Le progiciel d'origine stm32flash est écrit par Geoffrey McRae <[email protected]>
et est depuis 2012 maintenu par Tormod Volde <[email protected]>.

La page de manuel et l'extension de STM32W et I2C sont écrites par Antonio Bornéo
<[email protected]>.

Veuillez signaler tout bug sur la page d'accueil du projet http://stm32flash.sourceforge.net .

Utilisez stm32flash en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad