Accéder au contenu principal

Utiliser le ST-LINK V2 d'une carte Nucléo avec un autre STM32

Utiliser le STLINK-V2 d'une carte Nucléo avec un autre STM32

Utiliser le ST-LINK V2 d'une carte Nucléo avec un autre STM32

Hello,
Comme c'était Noël, je me suis offert un lot de STM32f103c8t6, également appelée Blue Pill (acheté sur Amazon pour bénéficier de la livraison Prime mais vous l'aurez pour moins cher sur eBay, à condition d'attendre le délai de livraison de plusieurs semaines...), ainsi que le livre Beginning STM32 qui explique comment mettre en oeuvre ces petites cartes avec des outils uniquement Open Source.

Dès le premier chapitre, l'auteur nous explique qu'il nous faut un ST-Link V2 pour programmer la Blue Pill. Argh ! Dans ma précipitation à passer ma commande, je n'ai pas vu cette subtilité... Qu'à cela ne tienne, j'ai déjà une carte Nucleo qui, comme toute les cartes de ce type, intègre un programmateur ST-Link V2.

Voyons comment mettre en oeuvre tout ça.

Présentation de la carte Nucleo

Ces cartes de chez STMicroelectronics sont un peu comme des cartes Arduino mais pour des microcontrôleurs de type ARM, modèle STM32. Elles permettent donc de faire du développement embarqué et pour cela, elles sont formées de 2 parties. La première (celle qui nous intéresse tout particulièrement ici) est un programmateur spécifique pour les microcontrôleur STM, un ST-LINK v2. Cette partie peut se séparer de l'autre (apparement assez facilement) en cassant le PCB (c'est prévu pour). Vous vous retrouvez avec 2 cartes distinctes, l'une pour la programmation et l'autre contenant le microcontrôleur et ses connectiques externes, LED, etc.

Comme je ne voulais pas casser ma carte en deux pour pouvoir continuer à m'en servir facilement, j'ai cherché comment utiliser que la partie ST-LINK pour programmer une Blue Pill. On trouve la documentation propre au Nucleo 64 ici et la méthode est décrite au paragraphe 6.2.4, que je vous détaille ici.

Jumpers

Tout d'abord, il faut retirer les deux jumpers qui sont entre la marque ST-LINK et NUCLEO comme indiqué sur le schéma ci-dessous.

Pour ne pas les perdre, vous pouvez les mettre sur les connecteurs CN11 et CN12 qui ne servent à rien (et connecté à rien non plus)

Connection au STM32 externe

Les broches à connecter sur le STM32 externe sont situées sur le connecteur SWD, emplacement CN4 (comme indiqué sur le schéma ci-dessus). De haut en bas, les pins correspondent à :

Alimentation

Dans cette configuration (on conserve le ST-LINK sur la carte Nucleo), l'alimentation via le cable branché sur SWD ne fonctionne pas. Il faut donc alimenter son STM32 externe par un autre moyen. Je n'ai pas fouillé plus que ça la doc mais je pense que tant qu'il reste sur la carte Nucleo, le ST-LINK alimente la carte Nucleo et non le microcontrôleur externe.

Conclusion

Ce n'est pas très compliqué à faire, une fois que l'on a les bonnes informations 😋. J'ai passé un peu de temps sur l'histoire de l'alimentation, la doc n'est pas très explicite là dessus. De même, j'utilise que les 4 premiers pins du connecteur SWD ; de ce que j'ai pu lire, si vous avez besoin d'utiliser les autres broches, il y a un peu de modification physique à faire sur le ST-LINK.

Voilà, j'espère que ce petit article vous aura aidé si vous vous êtes retrouvé dans le même cas que moi !

@+ 😎

Commentaires

Posts les plus consultés de ce blog

Utiliser un raspberry pi en mode headless

20191016-headless_raspberry_piUn raspberry pi sans tête 😱(C'est à dire sans écran ni clavier)Pourquoi faire ça ? En fait, parfois (ou même souvent), on a bien envie que notre petit Raspberry à tout faire soit mis dans un coin et qu'il fasse ce qu'on lui demande. Ça marche souvient bien, mais quand même, des fois, il faut bien s'y connecter pour mettre à jour le système ou voir pourquoi ça ne fait pas ce qu'on veut. Et si vous êtes un peu feignant comme moi (comme tout bon informaticien qui se respecte en fait), vous avez forcément la flemme de sortir l'écran, le câble HDMI et de tout connecter. Nous allons donc voir deux méthodes qui permettent de s'en passer.Matériel nécessaireun raspberry pi (voire un kit raspberry pi)une carte SDun adaptateur USB-TTLquatre câbles dupond (pour connecter le raspberry pi à l'adaptateur USB-TTL)Utiliser un raspberry pi en mode headlessMatériel nécessaireSSHJe connais mon adresse IPJe ne connais pas mon adresse IPConnexi…

Débuter avec Lopy 4

Débuter avec Lopy 4 Débuter avec Lopy 4 Je profites de cette période de confinement pour ressortir de mon placard mon Lopy4 qui trainait dans un tiroir. J'ai avec une carte d'extension Pytrack. A noter qu'il est bien pratique d'avoir une des cartes d'extension pour pouvoir s'y connecter facilement. Les barbus pourront toujours s'y connecter directement avec un adaptateur USB-série, mais ici on fait la méthode simple, on prend une des cartes d'extension.
Mettre à jour la carte d'extension Bon, comme je ne sais plus dans quel état j'ai laissé mon matos, une (re)mise à jour s'impose. On commence par le Pytrack, la page officielle est bien faite. Je résume pour tous ceux (comme moi) qui auront la flemme de tout lire, surtout si ça se passe bien.
Installer dfu-util : sudo apt install dfu-util Mettre à jour :
Débranchez le câble de la carteAppuyez et maintenez le bouton (S1 pour l'expansion board)Branchez le câble USB et attendez une seconde av…