MicroPython Pyboard - comment faire la mise-à-jour du MicroLogiciel (le FirmWare)

Je viens de faire la mise-à-jour du FirmWare de ma PyBoard pour passer à la version 1.7-96 (depuis l'ancienne version 1.5).

Je dois avouer qu'il y a de sacré changement concernant l'allocation/libération de la mémoire... c'est époustouflant!

Du coup, nous avons ajouté le tutoriel "Mise-à-jour Firmware" à notre Wiki MicroPython PyBoard.

Connaître la version du FirmWare PyBoard
Rien de plus simple. Vous vous connectez en REPL sur votre PyBoard (ex: à l'aide de Putty).
Ensuite, vous faite un Soft-Reboot en envoyant un CTRL+D .
Vous devriez obtenir un résultat comme celui-ci:

PYB: sync filesystems                                                           
PYB: soft reboot                                                                
MicroPython v1.7-96-g31480fb on 2016-04-17; PYBv1.1 with STM32F405RG            
Type "help()" for more information.                                             
>>> 

Télécharger le nouveau FirmWare

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

Faites attention à sélectionner le FirmWare qui correspond à bonne version de votre PyBoard/

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. 
Le pontage DFU doit rester en place durant toute l'opération de mise-à-jour.

Windows vs Linux

Utilisateurs Windows

Si vous êtes un utilisateur Windows, 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"

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 :-).

Tutoriel
Notre tutoriel contient des informations complémentaire (comme le backup, le conflit entre plusieurs périphérique DFU, pydfu).
N'hésitez pas à consulter notre tutoriel.


Où acheter?
Merci de soutenir nos travaux de traduction en achetant votre matériel chez MCHobby :-)