- Matériaux nécessaires
- Schéma
- Téléchargement du chargeur Maple Boot sur la carte de développement STM32
- Préparation de l'IDE Arduino et installation des pilotes
- Programmation du STM32 (Blue Pill) directement via le port USB
La carte de développement STM32 abritant le microcontrôleur STM32F103C8 est de plus en plus populaire grâce à son architecture ARM Cortex M3, elle dispose d'une vitesse opérationnelle élevée et de plus d'options périphériques. De plus, depuis, cette carte peut être facilement programmée à l'aide de l'IDE Arduino, elle est devenue un choix préférable pour de nombreux amateurs et ingénieurs pour un prototypage rapide.
Dans notre didacticiel précédent, nous avons appris les bases de la carte de développement STM32 et l'avons également programmée pour faire clignoter une LED. Mais il y avait un énorme inconvénient. Afin de programmer la carte, nous avons utilisé un module de programmation FTDI et avons également dû basculer le cavalier de démarrage 0 entre et 1 position lors du téléchargement et du test d'un code, ce qui est sûrement une tâche ardue. Le port mini-USB de la carte de développement est également resté totalement inutilisé. La raison en est que lorsque la carte de développement STM32 est achetée, elle n'est pas fournie avec un chargeur de démarrage prêt pour Arduino et, par conséquent, la carte ne sera pas découverte par votre ordinateur lorsqu'elle est connectée via USB.
Heureusement, il existe un chargeur de démarrage expérimental développé par LeafLabs pour les mini-cartes Maple. Ce chargeur de démarrage peut être flashé dans le STM32 une fois et par la suite, nous pouvons directement utiliser le port USB de la carte STM32 pour télécharger des programmes comme n'importe quelle autre carte Arduino. Cependant, ce chargeur de démarrage est encore en phase de développement au moment de la documentation de ce didacticiel et n'est pas recommandé pour les applications critiques. Avant de commencer avec ce didacticiel, assurez-vous d'avoir lu le didacticiel précédent pour comprendre les bases de cette carte, y compris les détails sur les spécifications et le brochage.
Matériaux nécessaires
- STM32 - Carte de développement (BluePill) (STM32F103C8)
- Programmeur FTDI
- Planche à pain
- Fils de connexion
- Ordinateur portable avec Internet
Schéma
Pour programmer la carte STM32 Blue Pill directement via le port USB, nous devons d'abord flasher le chargeur de démarrage Maple dans le MCU. Pour ce faire, nous devons utiliser une carte Serial FTDI. Cette carte est connectée aux broches Rx et Tx du STM32 comme illustré ci-dessous.
La broche Vcc de la carte FTDI est connectée à la broche STM32 5V d'alimentation de la carte. La terre est connectée à la terre du STM32. Les broches Rx et Tx de la carte FTDI sont respectivement connectées aux broches A9 et A10 du STM32. Où l'A9 est la broche Tx du MCU STM32 et l'A10 est la broche Rx.
Assurez-vous que la broche du cavalier de démarrage 0 sur la carte est définie sur 1 (mode de programmation) lors du téléchargement du chargeur de démarrage. Une fois que le chargeur de démarrage clignote, cette broche peut être remise en position initiale (mode de fonctionnement).
Téléchargement du chargeur Maple Boot sur la carte de développement STM32
Une fois que nous avons effectué la connexion ci-dessus, connectez la carte FTDI à votre ordinateur et suivez les étapes pour flasher le chargeur de démarrage dans le STM32.
Étape 1: Nous devons télécharger les fichiers binaires du programme du chargeur de démarrage (fichier bin) depuis la page github. Il existe de nombreuses versions de fichier bin, pour le tableau Blue Pill, utilisez ce lien github et cliquez sur le bouton de téléchargement pour télécharger le fichier bin.
Étape 2: Ensuite, nous devons télécharger et installer le logiciel STM Flash Loader pour flasher le fichier bin téléchargé dans STM32. Cliquez sur ce lien pour accéder au site Web de ST et faites défiler vers le bas et cliquez sur obtenir le logiciel
Étape 3: Pour télécharger le logiciel, vous devez entrer votre adresse e-mail et le lien de téléchargement sera envoyé à votre adresse e-mail. Ensuite, suivez le lien vers le site Web et cliquez à nouveau sur obtenir le logiciel et le téléchargement commencera. Oui, c'est un peu frustrant mais c'est ainsi que cela devrait être fait. N'oubliez pas de vérifier votre dossier de spam pour l'e-mail, parfois il faut quelques minutes pour que l'e-mail arrive.
Étape 4: Une fois téléchargé, installez le logiciel, assurez-vous que votre carte STM32 est connectée à votre ordinateur via la carte FTDI, puis lancez le logiciel. Le logiciel détecte automatiquement le port COM s'il n'utilise pas le gestionnaire de périphériques et s'assure que vous sélectionnez le bon numéro de port COM. Dans mon cas, c'est COM4. Laissez le reste du paramètre tel quel, comme indiqué ci-dessous.
Étape 5: Cliquez deux fois sur le bouton Suivant et le logiciel détectera à nouveau automatiquement les détails de la carte et s'affichera comme indiqué ci-dessous. La carte que nous utilisons est STM32F1 avec une mémoire flash de 128 Ko.
Étape 6: À l'étape suivante, sélectionnez Télécharger sur l'appareil et accédez à l'emplacement où nous avons téléchargé notre fichier bin à l'étape 1 et sélectionnez-le. Cliquez sur suivant.
Étape 7: Le logiciel téléchargera certains fichiers requis comme indiqué ci-dessous et commencera ensuite le processus de clignotement.
Étape 8: Une fois le clignotement terminé, nous obtiendrons l'écran ci-dessous. Cliquez sur fermer et quittez l'application. Nous avons flashé la carte STM32 avec le chargeur de démarrage Arduino avec succès. Nous devons maintenant préparer l'IDE Arduino et installer les pilotes avant de pouvoir programmer la carte STM32.
Préparation de l'IDE Arduino et installation des pilotes
Suivez les étapes ci-dessous pour télécharger et préparer l'IDE Arduino à utiliser avec la carte de développement STM 32.
Étape 1: - Si vous n'avez pas encore installé l'IDE Arduino, téléchargez-le et installez-le à partir de ce lien. Assurez-vous de sélectionner votre système d'exploitation correct.
Étape 2: - Après l'installation de l'IDE Arduino, ouvrez et téléchargez les packages requis pour la carte STM32. Cela peut être fait en sélectionnant Fichier -> Préférences .
Étape 3: - Cliquez sur Préférences pour ouvrir la boîte de dialogue ci-dessous. Dans la zone de texte supplémentaire de l'URL de Boards Manager, collez le lien ci-dessous
dan.drown.org/stm32duino/package_STM32duino_index.json
et appuyez sur OK.
Étape 4: - Maintenant, allez dans Tool -> Boards -> Board Manager . Cela ouvrira la boîte de dialogue du gestionnaire de cartes, recherchera «STM32F1» et installera le package qui apparaît.
Étape 5: Une fois le package installé, accédez à C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win où vous trouverez install_drivers.bat et install_STM_COM_drivers.bat .
Étape 6: Cliquez sur les deux fichiers bat et installez les pilotes. Vous obtiendrez un écran DOS comme indiqué ci-dessous.
Maintenant, l'IDE Arduino est prêt pour la programmation de la carte de développement STM32 (Blue Pill) et les pilotes sont également installés.
Programmation du STM32 (Blue Pill) directement via le port USB
Retirez la carte FTDI et toutes les connexions existantes de votre STM32. Utilisez simplement le port micro-USB de la carte STM32 pour la connecter à l'ordinateur comme indiqué ci-dessous. Assurez-vous que la broche du cavalier 0 est replacée sur 0 (mode de fonctionnement). Par la suite, nous n'avons plus besoin de basculer le cavalier pour télécharger et exécuter les programmes.
Votre ordinateur devrait être en mesure de découvrir la carte maintenant. Attendez un moment si vous voyez des pilotes supplémentaires s'installer. Ensuite, entrez dans le Gestionnaire de périphériques et vérifiez si votre carte STM32 est découverte dans la section COM et port comme indiqué ci-dessous. Le mien est connecté à COM8 avec le nom Maple Mini.
Allez dans Outils et faites défiler vers le bas pour trouver la série générique STM32F103C comme indiqué ci-dessous. Ensuite, assurez - vous que la variante est 64k Flash type , la vitesse du processeur est 72MHz et changer la méthode de téléchargement pour STM32duino Bootloader . Sélectionnez également le port COM correct en fonction de celui de votre gestionnaire de périphériques.
Une fois toutes les modifications apportées, vérifiez le coin inférieur droit de l'IDE Arduino et vous devriez remarquer que le paramètre suivant est défini. Ma carte STM32 est connectée à COM8 mais la vôtre peut différer
Maintenant, l'IDE Arduino est prêt à programmer les cartes de développement STM 32 Blue Pill. Laissez-nous télécharger l'exemple de programme Blink de l'IDE Arduino sur la carte STM32 Blue Pill pour nous assurer que tout fonctionne correctement. L'exemple de programme se trouve sur
Dans l'exemple de programme qui s'ouvre, nous devons faire un petit changement. Par défaut, le programme sera écrit pour PB1, mais sur notre carte, la LED intégrée est connectée à PC13, alors remplacez tous les PB1 par PC13 et nous sommes prêts à continuer. L' exemple de programme complet qui est modifié se trouve également au bas de cette page.
Le code à l'intérieur de la fonction de boucle seul est montré ci-dessous, où nous pouvons remarquer que la broche PC13 est maintenue HAUTE (allumée) pendant 1000 millisecondes, puis désactivée (désactivée) pendant encore 1000 millisecondes et cela est fait pendant des temps infinis car il est dans fonction de boucle . Ainsi, la LED semble clignoter avec un intervalle de 1000 millisecondes.
DigitalWrite (PC13, HIGH); // allume la LED (HIGH est le niveau de tension) delay (1000); // attend une seconde digitalWrite (PC13, LOW); // éteint la LED en faisant le retard de tension basse (1000); // attendez une seconde
Appuyez sur le bouton de téléchargement sur l'IDE Arduino et votre programme devrait être compilé et téléchargé. Si tout a fonctionné comme prévu, vous devriez voir ce qui suit sur votre console Arduino IDE.
Si le programme a été téléchargé avec succès, vous devriez voir la LED verte clignoter à 1 seconde d'intervalle, comme indiqué dans la vidéo ci-dessous. Vous pouvez également manipuler le programme pour augmenter ou diminuer le délai. Vous pouvez maintenant commencer à utiliser la carte de développement STM32 (Blue Pill) comme n'importe quelle autre carte Arduino, c'est-à-dire que vous n'avez plus besoin de changer la position des cavaliers ou d'utiliser du matériel externe pour télécharger et tester des programmes.
J'espère que vous avez compris le didacticiel et que vous l'avez trouvé utile pour démarrer avec STM32 Board. Si vous rencontrez un problème, laissez-les dans la section commentaires, dites-moi également quels projets nous devrions essayer avec cette carte STM32 à l'avenir.