Stlink: STM32F030R8T6 : erreur d'exécution du chargeur flash

Créé le 17 mai 2020  ·  9Commentaires  ·  Source: stlink-org/stlink

  • Type de programmateur/carte : ST-Link v2.1
  • Version du micrologiciel du programmeur : STSW-LINK007 2.37.26
  • Système d'exploitation et version : Linux, XUbuntu 18.04 LTS
  • Version des outils Stlink et/ou hachage git commit : 1.6.0-311-ga98b094
  • Nom de l'outil de ligne de commande Stlink : st-flash
  • Puce cible (et carte le cas échéant) : STM32F030R8T6, Nucleo-64

Sortie de la ligne de commande :

> st-flash write dioda.bin 0x08000000
st-flash 1.6.0-311-ga98b094
2020-05-17T17:59:37 INFO common.c: F0xx: 8 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
file dioda.bin md5 checksum: d3ad84699b33f431b86a77e53b16b11a, stlink checksum: 0x0000080b
2020-05-17T17:59:37 INFO common.c: Attempting to write 56 (0x38) bytes to stm32 address: 134217728 (0x8000000)
2020-05-17T17:59:37 INFO common.c: Flash page at addr: 0x08000000 erased
2020-05-17T17:59:37 INFO common.c: Finished erasing 1 pages of 1024 (0x400) bytes
2020-05-17T17:59:37 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2020-05-17T17:59:37 INFO flash_loader.c: Successfully loaded flash loader in sram
2020-05-17T17:59:37 ERROR flash_loader.c: flash loader run error
2020-05-17T17:59:37 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

Attendu/description :

Attendez-vous à ce qu'il soit flashé bien sûr. Plus d'informations:

  • st-info reconnaît le programmeur
  • l'ajout de --reset à st-flash n'aide pas
  • powercycling la carte n'aide pas
  • effacer en masse la puce avant de flasher n'aide pas
  • Une carte Nucleo similaire avec STM32F103RBT6 (la même version du firmware ST-Link) clignote très bien avec le même logiciel et le même câble USB
bufixed componenst-flash erroflash-loader olinux programmestlinkv2-1 staturesolved targestm32f0

Commentaire le plus utile

Pouvez-vous essayer ma branche (avec une solution rapide et sale, juste comme preuve de ma pensée) ?

J'ai construit à partir de votre branche et je peux confirmer, cela résout le problème.

Tous les 9 commentaires

Peut-être que je sais quel est le problème ici. Pouvez-vous essayer ma branche (avec une solution rapide et sale, juste comme preuve de ma pensée) ?

https://github.com/chenguokai/stlink/tree/stlink-v3_pre

Si j'ai raison, le problème est lié au code non PIC des nouveaux flashloaders combiné à un correctif sale dans flashloader.c.

Pouvez-vous essayer ma branche (avec une solution rapide et sale, juste comme preuve de ma pensée) ?

J'ai construit à partir de votre branche et je peux confirmer, cela résout le problème.

@chenguokai : Qu'avons-nous ici ?

Comme je l'ai mentionné, les flashloaders sous licence GPL sont PIC (code indépendant de la position) alors que les nouveaux ne le sont pas. C'est aussi pourquoi j'avais besoin d'écrire un script d'éditeur de liens, en spécifiant l'adresse de base.

En désassemblant les flashloaders compilés, j'ai reconnu que le mode d'adressage était relatif au PC (compteur de programme). Je pensais que ce sont des sortes de PIC, alors j'ai gardé le sale hack en tant que marco dans flashloader.c. À partir de ce problème, je peux confirmer que le code flashloader n'est certainement pas un PIC, donc les deux nops doivent être ajoutés au code flashloader plutôt que ajoutés avant un binaire.

D'accord, vous pouvez remettre un PR pour la version de juin, mais assurez-vous de créer une branche de develop au lieu de stlink-v3_pre que j'ai supprimé après le dernier PR. Je ne sais pas si cela peut provoquer des effets secondaires.

@grzegorz-kraszewski Veuillez vérifier si mes relations publiques résolvent ce problème :-)

@grzegorz-kraszewski Veuillez vérifier si mes relations publiques résolvent ce problème :-)

Pas sûr, car cela en déclenche un autre :

> st-flash write ~/dioda_f030.bin 0x08000000
st-flash 1.6.0-314-g273e798
2020-05-18T10:59:30 WARN common.c: unknown chip id! 0x374b
Failed to connect to target

@grzegorz-kraszewski : Cela ressemble à un sujet différent. Veuillez ouvrir un nouveau ticket pour cela.

Pas sûr, car cela en déclenche un autre :

Est-ce qu'une relance ou un débrancher et brancher est utile ?

Cette page vous a été utile?
0 / 5 - 0 notes