PYBStick-Arduino
Le mode DFU
DFU : Device Firmware Upgrade
PYBSTICK26 contient un microcontrôleur gérant la mise à jour de son firmware par DFU. Le mode DFU est un mode spécial activable au démarrage de la plateforme (en pressant le bouton Boot0) permettant ainsi téléverser un nouveau firmware (logiciel) par l'intermédiaire de l'interface USB.
Côté fichier, il s’agit d’un format de fichier utilisé pour la programmation de firmware, contenant en plus du code binaire (fichier .bin), ainsi que l’adressage par bloc et checksum (fichier .hex), une information concernant la cible pour lequel le firmware est destiné afin d’éviter toute incompatibilité et blocage du microcontroleur avec un fichier inapproprié.
Côté cible, un bootloader DFU permet d’interroger le microcontrôleur et de déterminer son numéro de série, les différents espaces programmable et leur taille respectives, en plus de programmer les zones mémoires programmables du composant (flash, bits de sécurité, etc).
PYBSTICK26 intègre un bootloader DFU.
Il existe deux solutions logicielles supportant le téléversement de données vers un microcontroleur en mode DFU.
- La plus légère est le logiciel libre dfu-utils, un logiciel open-source développé notamment lors du projet de téléphone opensource OpenMoko en 2007. Le logiciel fonctionne aussi bien sous Windows 10 que Linux.
- Le second logiciel, beaucoup plus lourd et édité par STMicroelectronics est STM32CUBE Programmer. Ce logiciel prend en charge tout les modes de programmation (sonde de debug, bootloader, mode DFU). "STM32CUBE programmer" vient en remplacement du logiciel Dfuse demo v3.0.5, également développé par STMicroelectronics, mais qui n’est plus support sous Windows 10.
Dans le cas d’une utilisation de PYBSTICK26 avec l’environnement de développement Arduino, l'opération de téléversement de croquis correspond au téléversement d'un nouveau firmware sur le microcontrôleur activé en mode DFU. Il sera donc nécessaire pour chaque téléversement de placer PYBSTICK26 en mode DFU.
Installation de dfu-utils
Sous Windows 10
Il n’existe pas d’installateur à proprement parler sous Windows 10. Il suffit de décompresser l’archive dfu-util-0.9-win64 (ou dfu-util-0.9-win32) sur le lecteur contenant Windows 10. C’est un logiciel qui s’exécute en mode console.
Pour plus de praticité, il est possible d’ajouter le chemin du dossier contenant dans la variable $PATH (l’exécutable se trouve à la racine du répertoire), ce qui permettra de pouvoir invoquer la commande à n’importe quel endroit de votre arborescence disque.
Sous MAC
Nous ne disposons pas de MAC pour documenter cette section. Cependant, MAC semble supporté dfu-utils.
Sous Linux
La majorité des distributions Linux à base Debian (Ubuntu, LinuxMint, etc) sont livrées avec dfu-utils pre-installé. Sinon, il est généralement disponible dans les dépôts de la distribution.
PYBStick sous Arduino
La carte dispose de 17 E/S numériques numérotées de 0 à 16, encadrées en bleu. Les six premières E/S sorties sont également capable de conversion analogique/numérique pour une plage de tension de 0 à 3,3.
Passage en mode DFU
Pour pouvoir programmer la PYBStick à partir d'Arduino IDE, il est nécessaire que la PYBStick soit en mode DFU.
Le passage en mode DFU s’effectue clé débranchée. Veuillez à éjecter proprement le lecteur associé à PYBSTICK26 le cas échéant.
Brancher PYBSTICK sur le port USB de votre micro-ordinateur tout en maintenant appuyé le bouton B, c’est à dire le bouton à votre droite lorsque PYBSTICK26 est en position verticale, connecteur USB en haut.
Sous Linux
Pour vérifier sous Linux que PYBSTICK26 est bien en mode DFU, il suffit d’ouvrir un terminal et d’exécuter la commande suivante :
> dmesg | tail -n 6
Vous devriez obtenir un résultat similaire où il est clairement indiqué que le microcontrôleur est en mode bootloader comme l'indique la capture ci-dessous:
vous pouvez également exécuter dans une fenêtre terminal la commande :
> dfu-util -l
Vous devriez obtenir un résultat similaire à celui-ci mentionnant clairement la présence d'un périphérique en mode DFU :
Sous Windows
Pour vérifier sous Windows que PYBSTICK26 est bien en mode DFU, il suffit d’ouvrir le gestionnaire de périphériques (click droit sur le bouton Demarrer → gestionnaire de périphériques).
Allez ensuite dans le menu affichage et cocher l’entrée "Afficher les périphériques cachés".
Vous pouvez maintenant descendre dans l’arborescence pour localiser les périphériques de type "Universal Serial Bus".
Installation de Putty
Sous Linux
Linux dispose de plusieurs logiciels terminal. Putty peut néanmoins être installé depuis les dépôts officiels de la distribution.
L'utilisation est similaire à la version Windows à l'exception près que le nom du périphérique est sensiblement différent. Cela à été décrit dans notre tutoriel relatif à la Pyboard est identique pour la PYBStick.