MicroPython.Pyboard.mise-a-jour

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Téléchargement

Vous pouvez télécharger la dernière version du FirmWare depuis http://micropython.org/download/

Préparatifs

Voici comment configurer votre carte PyBoard pour qu'elle passe en mode DFU (Device Firmware Update = mise-à-jour du micrologiciel du périphérique)

  • Pour commencer:
    • Mettez votre PyBoard hors tension
    • Déconnectez tout de votre pyboard (y compris la carte SD s'y vous en avez placé une).
  • Connectez la broche DFU sur la broche 3.3V, elles sont l'une à côté de l'autre (voyez l'image ci-dessous).
  • Connectez maintenant cotre pyboard sur votre ordinateur via USB.

MicroPython.Pyboard.mise-a-jour-00.png

Windows vs Linux

Utilisateurs Windows

Sur Windows vous aurez besoin d'installer a pilote spécial pour rendre REPL série de la PybBoard disponible. Malheureusement, ce processus est un peu compliqué si vous utilisez Windows 8 (ou supérieur) étant donné que vous devez rebooter en "Safe Mode" (mode sans échec) pour autoriser l'installation de pilotes non signés.

Voyez le document suivant: Micro-Python-Windows-setup.pdf (anglais).

Utilisateurs Linux

Si vous êtes un utilisateur Linux, vous pouvez poursuivre la lecture de ce tutoriel.

Il détaille l'installation d'un nouveau FirmWare sous Linux.

Installer dfu-util

Utilisez votre gestionnaire de paquets (package manager) pour installer dfu-util.

Ce paquet est largement disponible mais pas installé par défaut sur les systèmes Linux.

Mise-à-jour (Flashing)

Lister les périphériques DFU

Vous pouvez lister les périphérique USB supportant le mode DFU en utilisant l'argument -l:

Voyez ci-dessous un exemple typique du résultat que vous devriez obtenir avec une PyBoard en mode DFU.

$ sudo dfu-util -l
dfu-util 0.5

(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY

dfu-util does currently only support DFU version 1.0

Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal Flash  /0x08000000/04*016Kg,01*064Kg,07*128Kg"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=1, name="@Option Bytes  /0x1FFFC000/01*016 e"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e"
Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=3, name="@Device Feature/0xFFFF0000/01*004 e"

Backup

Si vous le désirez, vous pouvez faire une copie de sauvegarde du FirmWare actuellement présent dans votre PyBoard (cela n'est possible que depuis dfu-utils 0.7).

Les précédentes versions du FirmWare MicroPython sont également disponible sur http://micropython.org/download/.

$ sudo dfu-util --alt 0 --upload pyboard-original.dat -s:524288
(...)
Starting upload: [#######] finished!

Un seul périphérique DFU autorisé!

Si vous avez d'autres périphériques supportant le mode DFU actuellement connecté sur votre ordinateur (par exemple une "Apple Magic Mouse"), vous recevrez probablement le message suivant:

More than one DFU capable USB device found, you might try '--list' and then disconnect all but one device

Vous aurez alors besoin de déconnecter tous les autres périphériques, ou spécifier le périphérique sur lequel vous désirez faire la mise-à-jour en utilisant le paramètre --device ou -d avec dfu-util.

Par exemple: sudo dfu-util --alt 0 -D pybv10-2014-05-19-v1.0.1-24-g5cdff5f.dfu -d 0483

Téléverser le nouveau FirmWare

C'est maintenant le moment de téléverser le nouveau FirmWare sur votre PyBoard:

$ sudo dfu-util --alt 0 -D pybv10-2014-05-19-v1.0.1-24-g5cdff5f.dfu 
(...)
done parsing DfuSe file

Attendez que le programme ait terminé ses opérations.

Quitter le mode DFU

Lorsque dfu-util à terminé la mise à jour:

  • Déconnectez votre PyBoard du lecteur USB (mise-hors-tension)
  • Retirez le pontage DFU (entre les broches DFU et 3.3v).

Voila, c'est dans la boite :-).

Restaurer un ancien FirmWare

If you need to restore the original firmware, use the following command:

$ sudo dfu-util --alt 0 -D pyboard-original.dat -d 0483:df11 -s 0x8000000

Alternative: pydfu

Mentionné par Damien Georges, il existe un programmateur DFU alternatif totalement écrit en Python.

Vous pourrez le trouvez sur: https://github.com/micropython/micropython/blob/master/tools/pydfu.py.

Il nécessite le paquet PyUSB .

Pour utilisez pydfu, saisissez la commande suivante:

$ python pydfu.py -u <firmware.dfu>

qui copie un fichier FirmWare sur la PyBoard. pydfu est beaucoup plus rapide que dfu-util.

TCela restaure tout, y compris le système de fichier sur la flash interne.



Source: Micro Python Python for microcontrollers écrit par/written by Damien P.George

Traduit par Meurisse D. pour MCHobby.be - Translated by Meurisse D. for MCHobby.be

Traduit avec l'autorisation de micropython.org - Translated with the authorisation of micropython.org

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.