Différences entre versions de « PYBStick-Arduino »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 89 : Ligne 89 :
  
 
Pour y accéder, faites un click bouton droit de la souris sur le bouton Démarrer, puis sélectionner ‘Gestionnaire de Périphériques’. Descendez dans l’arborescence jusqu’à la section '''Ports (COM et LPT)''' et double-cliquez dessus pour la développer.
 
Pour y accéder, faites un click bouton droit de la souris sur le bouton Démarrer, puis sélectionner ‘Gestionnaire de Périphériques’. Descendez dans l’arborescence jusqu’à la section '''Ports (COM et LPT)''' et double-cliquez dessus pour la développer.
 +
 +
[[Fichier:PYBStick-Arduino-30.png|640px]]
 +
 +
Le port de PYBSTICK26 se cache derrière l’instance "'''Périphérique série USB (COMx)'''". Dans l’exemple ci-dessus, ce sera le COM8.
 +
 +
S’il existe plusieurs instances, vous pouvez lever le doute de la manière suivante : cliquer avec le bouton droit sur l’instance ‘Périphérique série USB (COMx)’ et sélectionner ‘Propriétés’ dans le menu. Une nouvelle fenêtre s’ouvre. Sélectionner alors l’onglet "Détails" puis dans la liste déroulante "Propriété" le point "Description du bus signalée"
 +
 +
[[Fichier:PYBStick-Arduino-31.png]]
 +
 +
=== 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 série est sensiblement différent.
 +
 +
Cela à été décrit dans notre tutoriel relatif à la Pyboard est identique pour la PYBStick.
 +
 +
{{ttuto-begin}}
 +
 +
{{ttuto
 +
  |label=L'invite REPL
 +
  |descr=Obtenir l'invite '''en ligne de commande''' REPL et utilisez PyBoard en mode terminal.
 +
  |img=tlogo-micropython-REPL.jpg
 +
  |link=MicroPython-Hack-REPL
 +
}}
 +
 +
{{ttuto-end}}

Version du 14 avril 2020 à 00:12

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

PYBStick-Arduino-01.png

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:

PYBStick-Arduino-10.png

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 :

PYBStick-Arduino-11.png

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".

PYBStick-Arduino-20.png

Vous pouvez maintenant descendre dans l’arborescence pour localiser les périphériques de type "Universal Serial Bus".

PYBStick-Arduino-21.png

Installation de Putty

Putty est un logiciel opensource gratuit fonctionnant sur plusieurs plateformes (Windows 10 dans notre cas) et permet entre autre de générer une console ANSI/VT100 sur voie série.

Sous Windows

Le logiciel putty peut être téléchargé ici (en version 32 ou 64 bits selon votre version de Windows)

Download-icon.pngTéléchargez Putty pour Windows

L’installation en elle-même ne pose pas de difficultés particulière, passons au paramétrage.

Paramétrage de Putty pour la console Micropython de PYBSTICK26

Pour le paramétrage du profil console REPL Micropython, il est nécessaire de connaître le port série attribué par Windows. Branchez PYBSTICK26 sur un port USB. Attendez une dizaine de secondes le temps que Windows installe un pilote standard de profil CDC (Communication Device Class) sur votre machine, un port COM que l’on associe souvent à un port série.

Ensuite, il faut faire un tour dans le gestionnaire de périphériques de Windows 10 pour déterminer quel numéro de port COM a attribué Windows 10.

Pour y accéder, faites un click bouton droit de la souris sur le bouton Démarrer, puis sélectionner ‘Gestionnaire de Périphériques’. Descendez dans l’arborescence jusqu’à la section Ports (COM et LPT) et double-cliquez dessus pour la développer.

PYBStick-Arduino-30.png

Le port de PYBSTICK26 se cache derrière l’instance "Périphérique série USB (COMx)". Dans l’exemple ci-dessus, ce sera le COM8.

S’il existe plusieurs instances, vous pouvez lever le doute de la manière suivante : cliquer avec le bouton droit sur l’instance ‘Périphérique série USB (COMx)’ et sélectionner ‘Propriétés’ dans le menu. Une nouvelle fenêtre s’ouvre. Sélectionner alors l’onglet "Détails" puis dans la liste déroulante "Propriété" le point "Description du bus signalée"

PYBStick-Arduino-31.png

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 série est sensiblement différent.

Cela à été décrit dans notre tutoriel relatif à la Pyboard est identique pour la PYBStick.

L'invite REPL

Tlogo-micropython-REPL.jpg

Obtenir l'invite en ligne de commande REPL et utilisez PyBoard en mode terminal.