Stlink: STM32F031K6 Nucleo : Régression entre 1.5.0 et 1.6.0 avec un minimum de script de liaison

Créé le 4 nov. 2020  ·  5Commentaires  ·  Source: stlink-org/stlink

AVIS : Veuillez lire et suivre les instructions du n° 906 avant de soumettre un ticket. Veuillez donc vous assurer que tous les champs sont remplis.

  • [x] J'ai fait de sérieux efforts pour éviter de créer un problème en double ou presque similaire

  • Type de programmateur/carte : Intégré

  • Système d'exploitation et version : macOS 15, openSUSE Tumbleweed
  • Version des outils Stlink et/ou hachage git commit : v1.6.0
  • Nom de l'outil de ligne de commande Stlink : st-util
  • Puce cible (et carte le cas échéant) : STM32F031K6, STM32F103C8T6 (pilule bleue), STM32F3DISCOVERY

Attendu/description :

Mon problème est survenu en suivant le didacticiel pour un script d'éditeur de liens minimal sur : https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/
Le code source pour cela peut également être trouvé sur https://github.com/WRansohoff/STM32F0_minimal

Le code compile etc sans aucun problème.
J'exécute ensuite st-util et je me connecte à la carte en utilisant arm-none-eabi-gdb main.elf et target extended-remote :4242
Ensuite, je charge le programme en utilisant load main.elf .

C'est là que les comportements des v1.5.0 et v1.6.0 divergent.
Dans la version 1.5.0, le programme peut être parcouru en utilisant si , et je peux entrer dans la boucle et voir r0 être incrémenté.

Dans la version 1.6.0, l'utilisation de si fait passer immédiatement le compteur du programme à 0xfffffffe , et le r0 n'est pas incrémenté.
Cependant, parfois r7 est correctement défini sur 0xdeadbeef .

Je l'ai également fait en utilisant OpenOCD 0.10.0 et j'ai pu le parcourir correctement.
Je dois noter que j'ai construit la v1.5.0 à partir des sources en utilisant libusb 1.0.23 et en appliquant le patch #704 .

S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.

buneeds-fix buregression componenst-util needinvestigation olinux omacOS programmestlinkv2 programmestlinkv2-1 targestm32f0 targestm32f1 targestm32f3

Tous les 5 commentaires

De quel type de matériel est votre programmeur ? Veuillez le décrire plus précisément pour compléter l'ensemble des informations de base.
Les versions ultérieures du jeu d'outils fonctionnent-elles (à nouveau) ?

J'utilise les programmeurs intégrés pour les cartes Nucleo et Discovery, qui, je crois, sont ST-Link v2, et un programmeur USB ST-Link v2 pour la pilule bleue.

Cela ne fonctionne pas sur la v1.6.1 - c'est la version que j'utilisais sur macOS, alors que sur openSUSE j'étais sur la v1.6.0.

@gcohara Pourriez-vous essayer la branche develop ? Je l'ai testé sur stm32f07 et ça marche.

Je viens de l'essayer sur la branche develop et je peux confirmer que cela fonctionne !
Désolé, j'aurais vraiment dû faire ça de toute façon.

Veuillez ne pas fermer les tickets ouverts car cela va à l'encontre des tâches de maintenance et du suivi réguliers. Les tickets résolus sont fermés automatiquement par le système de suivi des problèmes.

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