Table des matières:

Programmation STM32 "Blue Pill" via Arduino IDE & USB : 8 étapes
Programmation STM32 "Blue Pill" via Arduino IDE & USB : 8 étapes

Vidéo: Programmation STM32 "Blue Pill" via Arduino IDE & USB : 8 étapes

Vidéo: Programmation STM32
Vidéo: STM32 Tutorial | Getting Started with STM32F103C & Arduino IDE 2024, Novembre
Anonim
STM32
STM32

En comparant la carte prototype générique STM32F (c'est-à-dire Blue Pill) à sa contrepartie Arduino, il est facile de voir de combien de ressources elle dispose, ce qui ouvre de nombreuses nouvelles opportunités pour les projets IOT.

Les inconvénients sont le manque de soutien. En fait, ce n'est pas vraiment le manque de support, mais c'est trop répandu dans de nombreux forums, blogs et plein d'autres pages. Beaucoup sont obsolètes.

Je vais décrire mes expériences pour obtenir l'une de ces cartes non seulement configurées par Arduino IDE, mais également via le connecteur USB intégré.

Je vais également montrer comment télécharger Bootloader à l'aide de ST-Link V2.

Étape 1: Pièces:

Les pièces
Les pièces
Les pièces
Les pièces

Vous aurez besoin de quelques pièces:

  1. La première chose dont vous aurez besoin est, bien sûr, une carte prototype ST32F103. "Blue Pill" est la façon dont il est connu, et vous pouvez l'acheter à un prix abordable dans de nombreux magasins de commerce électronique.
  2. Un module ST-Link V2
  3. Planche à pain et câbles de démarrage

Étape 2: Logiciels dont vous aurez besoin:

Logiciel dont vous aurez besoin
Logiciel dont vous aurez besoin
Logiciel dont vous aurez besoin
Logiciel dont vous aurez besoin
Logiciel dont vous aurez besoin
Logiciel dont vous aurez besoin
  1. Tout d'abord, Arduino IDE. Si vous ne l'avez pas encore téléchargé, voici le lien: https://www.arduino.cc/en/Main/Software. Je teste cette instructable avec les versions 1.8.11, 1.8.12 et la version de l'application, qui ne fonctionnent que pour Windows 8 et 10. Je ne couvrirai pas cette installation de logiciel, une fois qu'il y aura de nombreuses informations sur la façon de procéder.
  2. À partir du site STM, vous aurez besoin du logiciel ci-dessous. Il est nécessaire de créer un compte:

    1. Pilote Windows ST-Link V2:
    2. Utilitaire STM32-Link (https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-link004.html).
  3. Ensuite, il est temps de télécharger le chargeur de démarrage. C'est ce qui permettra à Blue Pill de se connecter à l'ordinateur USB. Voici le lien vers ceci:

Notez que vous aurez également besoin d'ajouter des cartes à Arduino IDE. Je vais vous expliquer en détail comment faire cela.

Étape 3: Carte prototype générique STM32F103, la pilule bleue

Carte prototype générique STM32F103, la pilule bleue
Carte prototype générique STM32F103, la pilule bleue
Carte prototype générique STM32F103, la pilule bleue
Carte prototype générique STM32F103, la pilule bleue
Carte prototype générique STM32F103, la pilule bleue
Carte prototype générique STM32F103, la pilule bleue

Maintenant, une brève explication sur la carte prototype STM32F103, connue sous le nom de "Blue Pill".

Il s'agit de matériel open source, qui ressemble à Arduino Nano (taille presque similaire). Vous pouvez trouver de nombreuses fabrications différentes, mais elles suivent le schéma de très près, même les problèmes.

Vous pouvez demander: « S'il ressemble à Arduino Nano, pourquoi devrais-je passer à un matériel différent ?

La réponse est simple. Comme je l'ai déjà dit, si votre projet nécessite un contrôleur Faster Micro, avec plus de GPIO (33 au total), plus d'entrées ADC et/ou précises (résolution 10 entrées x 12 bits), plus de sorties analogiques (15), plus d'interfaces de communication, etc.; c'est le microcontrôleur dont vous pourriez avoir besoin.

Ci-dessus, il y a le brochage et le schéma.

Maintenant, quelques conseils:

  1. Il s'agit d'un microcontrôleur 3V3. Bien que certaines broches soient résistantes à 5V, je suggère de garder les accessoires à un niveau élevé en 3V3, sinon vous pouvez faire frire votre Blue Pill.
  2. Les Pin's PA11 et PA12 ne sont pas disponibles, une fois qu'ils sont responsables de la communication USB.
  3. En parlant d'USB, vous trouverez de nombreux sites et blogs informant que Blue Pill a une mauvaise valeur de résistance de rappel dans ses ports. D'après cela, ils sont en général de 10KΩ au lieu d'un 4, 7KΩ. Cela peut causer des problèmes de connexion USB. Pour être honnête, j'ai 3 cartes et je n'ai jamais eu de problème pour en connecter une sur n'importe quel ordinateur portable. Donc, je recommanderais de travailler dessus si vous rencontrez vraiment des problèmes pour connecter l'USB à votre ordinateur. Plus tard, j'ai trouvé un tirage de circuit où cette valeur de résistance était en effet de 10KΩ. Allez comprendre…. La solution est de souder une résistance de 1.5KΩ ou 1.8KΩ entre la broche PA12 et 5V vcc.
  4. Un examen attentif du schéma est également possible pour voir qu'il n'y a pas de protection entre les lignes d'alimentation 5V et USB 5V. FAIRE ATTENTION OU JUSTE éviter d'utiliser plusieurs sources d'alimentation. Vous pouvez faire frire le port USB de votre ordinateur, si vous utilisez une alimentation externe 5V pendant que la carte est connectée à l'USB.

Étape 4: Adaptateur USB ST LINK V2

Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2
Adaptateur USB ST LINK V2

ST LINK V2 est un adaptateur USB vers SWD, conçu pour les tâches de débogage et de programmation.

Si vous avez l'intention de travailler sérieusement avec la puce STM32, vous aurez besoin de cet outil. Il vous permet de communiquer directement avec la puce via le connecteur de tête SWB.

Il existe de nombreux blogs et sites contenant des instructions sur le chargement à l'aide d'un adaptateur USB vers TTL, mais je n'en ai trouvé aucun utilisant cet outil pour charger le chargeur de démarrage.

Cela permet également de programmer Blue Pill avec le chargeur de démarrage d'origine à l'aide du logiciel STM32Cube Programmer (je créerai peut-être un instructable pour cela à l'avenir).

Pour installer le lecteur Windows, suivez ces étapes:

  1. Décompressez le fichier téléchargé
  2. Exécutez "stlink_winusb_install.bat en tant qu'administrateur
  3. Appuyez sur la touche après la fin.
  4. Connectez ST-Link V2 à n'importe quel ordinateur USB disponible.

N'oubliez pas: cela installera un périphérique USB, PAS un port de communication.

Étape 5: Il est temps de commencer un travail réel: Chargement du chargeur de démarrage STM32Duino

Il est temps de commencer un travail réel: chargement du chargeur de démarrage STM32Duino
Il est temps de commencer un travail réel: chargement du chargeur de démarrage STM32Duino
Il est temps de commencer un travail réel: chargement du chargeur de démarrage STM32Duino
Il est temps de commencer un travail réel: chargement du chargeur de démarrage STM32Duino

Tout d'abord: connectez ST-Link à Blue Pill. C'est très simple, une fois que la broche ST est étiquetée sur son boîtier.

Connecteur ST-Link Blue Pill SWD

pin2- SWDIO pin2- SWIO (ou IO dans certaines cartes)

broche3- GND broche4- GND

pin6- SWCLKpin3- SWCLK (ou juste CLK)

broche 7- 3.3V broche 1-3V3

La broche ST-Link V2 est une étiquette claire sur son corps.

Exécutez le logiciel "STM32 ST-Link Utility" (vous l'avez peut-être déjà installé sur votre ordinateur).

Dès que le logiciel se charge, il récupère toutes les données dans la mémoire Boot0. Sinon, cliquez sur "Connect to to Device", la fiche de sortie avec une icône de boulon. Il récupérera également de nombreuses informations sur la puce STM32.

charger le fichier binaire est très simple:

  1. Déplacez le cavalier "Boot0" sur la position "1"
  2. Cliquez sur "Binaire"
  3. Sélectionnez le fichier Bootloader (.bin)
  4. Au menu, cliquez sur "Cible" et "Programme".

Cela permettra de charger Boot0 avec le nouveau Bootloader.

  1. Remettre le cavalier "Boot0" en position "0"
  2. Appuyez sur le bouton de réinitialisation.

ATTENTION: vous n'aurez plus besoin de déplacer le cavalier Boot0 en position "1" pour charger les programmes créés dans Arduino IDE.

Étape 6: Il est temps de traiter avec Arduino IDE

Il est temps de traiter avec Arduino IDE
Il est temps de traiter avec Arduino IDE

Vous remarquerez peut-être qu'après le chargement de "generic_boot20_pc13.bin", votre port USB Blue Pill sera reconnu par le gestionnaire de périphériques de l'ordinateur comme "Maple Serial (COMx)".

Pour préparer votre Arduino IDE à traiter avec STM32, suivez les étapes ci-dessous:

Étape 7: Il est temps de traiter avec Arduino IDE

Il est temps de traiter avec l'IDE Arduino
Il est temps de traiter avec l'IDE Arduino
Il est temps de traiter avec l'IDE Arduino
Il est temps de traiter avec l'IDE Arduino
Il est temps de traiter avec Arduino IDE
Il est temps de traiter avec Arduino IDE

Maintenant, vous avez peut-être remarqué, en connectant votre port USB à votre ordinateur, il serait reconnu comme "Maple Serial (COMx)".

Maintenant, préparons Arduino IDE pour la programmation STM32. Ouvrez l'IDE Arduino, si vous ne l'avez pas encore ouvert:

  1. Allez dans le menu Fichier et sélectionnez "Préférences". Cela ouvrira la fenêtre Préférences.
  2. Cliquez sur l'icône en forme de double carré à côté de la zone de texte « Additional Boards Manager Url ».
  3. Dans la zone de texte, copiez et collez les liens ci-dessous, un par ligne: https://dan.drown.org/stm32duino/package_STM32duino_index.jsonhttps://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.jsonVous allez besoin des deux conseils définis dans ces liens.
  4. Allez maintenant dans le menu "Outils" et sélectionnez "Board Manager". Cela ouvrira la fenêtre "Board Manager".
  5. Assurez-vous que "Tous" est sélectionné dans "Type" et dans la zone de texte, tapez "STM32F1"
  6. Installer les deux options apparaissent.

Étape 8: La « Gran Finale »

Les
Les

Maintenant, vous pouvez taper votre code et le compiler.

Connectez votre "Blue Pill" et définissez les configurations comme sur l'image. Assurez-vous de sélectionner le bon port.

Il est donc maintenant prêt à télécharger le code sur "Blue Pill".

J'espère que ça t'aidera !

Conseillé: