J'ai construit ma propre carte avec STM32F7-45VGT6. Je l'ai programmé avec succès avec ST-LINK v2 (pas l'original cependant) et maintenant je ne peux même plus me connecter avec MCU.
J'utilise l'utilitaire ST-Link de l'interface ST et SWD. Il peut arriver que j'utilise des broches SWD en sortie et dans mon code, je les ai définies comme sortie GPIO. Cela peut-il être le cas?
Néanmoins, je connecte ma broche de réinitialisation à GND et définit l'option "Connect under reset" dans l'utilitaire ST-Link mais cela ne fonctionne pas ... Que puis-je faire?
Sur Internet, j'ai trouvé quelque chose sur l'utilisation de BOOT0 Pin, mais je ne sais pas exactement ...
stm32
programming
flash
st-link
zupazt3
la source
la source
Réponses:
J'ai réussi à résoudre ce problème. Si quelqu'un rencontre un problème similaire, voici ce que j'ai fait:
J'ai utilisé ST-Link v2 et ST-Link Utility. Dans le réglage, j'ai mis "Connect under reset" et l'interface SWD (je ne suis pas sûr de la fréquence).
Ensuite, j'appuie sur le bouton de réinitialisation de ma carte et j'ai cliqué sur "Cible" -> "Effacer la puce" et juste après avoir cliqué, j'ai relâché le bouton - Il a effacé la puce pour que je puisse maintenant reprogrammer mon MCU.
Quoi qu'il en soit, si vous devez utiliser des broches SWD comme sortie, ajoutez un certain retard au début du programme ou utilisez un cavalier pour désactiver / activer le réglage de ces broches comme sorties.
la source
Pour que la connexion sous réinitialisation fonctionne, le ST-Link doit avoir le contrôle sur la broche de réinitialisation.Si vous l'attachez à la terre, le ST-Link n'a aucune chance de faire fonctionner la cible et d'y accéder.
Si vous tirez la broche BOOT0 vers le haut lors de la mise sous tension, le MCU démarre dans le chargeur de démarrage interne et vous pouvez y accéder en utilisant plusieurs protocoles série (voir le manuel de référence pour plus de détails).
À l'intérieur du chargeur de démarrage, les broches SWD devraient être disponibles pour y accéder, mais je n'en suis pas sûr à 100%.
Le ST Flash Loader Demonstrator est un outil qui vous permet d'effacer / programmer le micro en utilisant l'interface UART. Si vous ne pouvez accéder à aucun des UART de votre micro, cette solution ne fonctionnera pas pour vous.
la source
si vous utilisez stmcubemx, vous devez configurer le câble série sur l'onglet de brochage stmcube. sur l'onglet de brochage, cliquez sur SYS et changez l'option de débogage en fil série. cela résout mon problème, et peut-être aussi votre problème.
la source
J'ai téléchargé du code sur ma propre carte STM32F427. Ensuite, je ne peux plus me connecter à ma carte à l'aide de l'utilitaire ST-LINK. Je pense que mon code perturbe les configurations des broches du port de débogage (? Ne peut pas confirmer). Ce que j'ai fait est le suivant pour établir la connexion et reprogrammer ma carte:
J'ai restauré 2 planches avec cette astuce. J'espère que cela t'aides. --Bob
la source
Comme l'a dit Dili:
STM32CubeMx ne configure pas le port de débogage par défaut, par conséquent ST-Link cessera de fonctionner une fois que vous aurez flashé votre code. Vous devez effacer la puce avec l'utilitaire ST-link par exemple. Pour me connecter au MCU, j'ai dû tirer la broche BOOT0 vers le haut pendant la mise sous tension pour activer le chargeur de démarrage. Ensuite, allez dans le menu Tarjet et effacez la puce .
la source
Pour reprogrammer le MCU, maintenez le bouton de réinitialisation et choisissez de vous connecter au périphérique dans l'utilitaire ST-Link ou appuyez sur télécharger dans votre IDE (par exemple Keil), puis relâchez le bouton de réinitialisation.
la source
Les broches de démarrage (bits dans certaines versions) peuvent empêcher le débogueur de démarrer. Assurez-vous de ne pas implémenter le modèle de démarrage au démarrage (certain modèle binaire sur les broches boot0 et boot1), sinon votre MCU passera à l'état de démarrage.
la source