Mise à jour du bootloader d’une Flyport

Posted by Antoine 16 juillet 2013 4 Comments 2623 views

Un bootloader est un programme qui permet de se passer d’outil spécifique (comme le PICkit3) pour mettre à jour le programme dans un microcontrôleur.

Il arrive que ce bootloader soit corrompu et que vous ayez à le réparer. Cela ne m’est jamais arrivé sur la Flyport.

Le PICkit3 est un outil qui permet de programmer des microcontrôleurs PIC de Microchip. Ca coute une 30ène d’euros et ça se trouve facilement sur beaucoup de site d’électronique.

La mise à jour du bootloader de la Flyport n’effacera pas la mémoire de l’EEPROM externe (si vous y stockez le web-server par exemple).

  • symptôme:

J’utilise ici l’IDE OpenPicus 2.4.38 avec une Flyport Wifi 802.11g. Sur la première série de ces Flyports, le bootloader chargé est le 1.2.1 ce qui amène à l’erreur ci-dessous lorsque j’essaie de mettre à jour le firmware. Mais pas de panique, il y a une solution 🙂

“Warning: trying to download the firmware on a wrong Flyport device!”

  • Procédure de mise à jour:

J’utilise ici la version 8.84 de MPLAB de Microchip.

Une fois MPLAB lancé vous pouvez connecter le PICKIT3. Les drivers devraient s’installer automatiquement. Si ce n’est pas le cas, les drivers sont stockés dans le dossier “<Progam Files>\Microchip\MPLAB IDE\ICD3“.

Connectez le PICKIT3, la LED verte va s’allumer puis la bleu.

Dans le menu “Programmer->select Programmer” sélectionnez Pickit3

Dans la fenêtre “Output” (View->Output) vous devriez voir le message suivant:

L’erreur PK3Err0045 indique qu’il n’y a pas de cible connectée. C’est normal, je n’ai pas encore connecté la Flyport.

Vous pouvez maintenant connecter la Flyport (Wifi, Ethernet ou GPRS) de la façon suivante:

PICKIT3 J4-pin1 sur Flyport J1-p26

Note: pour que la Flyport puisse rentrer dans le connecteur du PICkit il faut ouvrir le boitier de celui. C’est seulement clipsé et ça se remet bien.

Vous remarquerez que les LED sur la Flyport ne s’allument pas. Pour cela il faut modifier une option du PICKIT3.

Allez dans Programmer->Settings->Power et cocher “Power target circuit from PICkit3” puis cliquez sur “Appliquer”. La Flyport devrait normalement démarrer.

Power target circuit from PICkit3

Un message apparaît également dans la fenêtre “Output”: Device ID Revision = 00000004

Vous devez maintenant importer le fichier compilé “.hex” du bootloader dans MPLAB. Cliquez sur File->Import et sélectionner le “.hex” qui va bien.

Ici nous flasherons la dernière version du bootloader disponible, à savoir la 1.4.1 que vous pourrez télécharger ici: Bootloader 1.4.1

Vous aurez un message dans la fenêtre “Output” qui confirmera l’importation du fichier: “Loaded <mon chemin>\Bootloader 1.4.1.hex.

Il ne reste plus qu’à programmer.

Dans la barre d’outil “PICkit3” (View->Toolbar->PICkit3)

Toolbar PICkit3

Cliquez d’abord sur “Erase Flash Device” puis sur “Program”. L’opération devrait prendre une 10ène de seconde pour obtenir ceci:

Programming complete

  • Retour à l’IDE OpenPicus:

Votre bootloader est maintenant à jour, Vous pouvez retourner dans l’IDE OpenPicus et tenter de télécharger à nouveau votre firmware:

Flyport Bootloader version

En cliquant sur “Download” votre programme devrait être correctement chargé dans la Flyport.

PS: Un utilisateur du forum Microchip a également posté un petit outil qui permet de flasher facilement le bootloader. Vous pourrez trouver cette outil ici.

Print Friendly, PDF & Email

About Antoine

Ingénieur en informatique embarquée. Geek enthousiaste et early-adopter de la Flyport.

View all post by Antoine

There are 4 Comments

  1. YASSIN
    - 22 novembre 2013

    Well can I do this on my flyport PCB Antenna WIFI G which has this bootloader : PIC24FJ256GA106 fw ver. 1.2.10

    Just want to check before doing some stuff.

  2. Antoine
    - 22 novembre 2013

    Yes sure, it’s done for this Flyport. By the way it should work with all the flyports.

  3. YASSIN
    - 25 novembre 2013

    I have got an error telling me :
    target device ID(00000000) does not match expected Device ID (00000420)
    ?

  4. YASSIN
    - 25 novembre 2013

    Well I found a solution.

    We just have to go to
    Configure –> Select Device and then Choose this device : PIC24FJ256GA106 {for the pic of the Flyport}
    then every thing will be alright {Don’t forget the 3.250 Voltage otherwise it will damage the device}

    Good luck for the rest who will have the same problems.

Write Your Comment

 

Abonnez-vous et suivez notre actualité !