[Programmation] Upgrade du Firmware sur PIC32MZ via clé USB
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Upgrade du Firmware sur PIC32MZ via clé USB



  1. #1
    LysandreL

    Post Upgrade du Firmware sur PIC32MZ via clé USB


    ------

    Bonjour à tous !

    Je suis actuellement en 4ème année d'école d'ingénieur électronique où j'ai reçu des cours de micropro. Nous avons travaillé sur une carte de cher Motorola (mc9s12dp512) ce qui m'a permis d'assimilé certaines bases.

    Je viens vous demander votre aide car, dans le cadre des mes études en électrique, j'effectue un stage dans lequel j'ai pour objectif principal de pouvoir mettre à jour le firmware de µControleur de manière simple. Le but étant de pouvoir utiliser cette méthode sur des boitiers qui seront certainement commercialisés et que les clients puissent faire une mise à jour facilement du firmware en branchant par exemple une clé USB (support qui le plus pratique pour apporter le nouveau firmware à la carte, comparé à une carte SD par exemple) si besoin est, si des bugs sont trouvés et corrigés par exemple, sinon il faudrait, selon les cas, il faudrait démonter les boitiers et brancher la carte sur un ordinateur qui est équipé des logiciels nécessaires, ce qui n'est pas forcément évident pour les clients.
    Donc voilà, pour résumé, le but de mon stage est de mettre à jour des µC en branchant une clé USB. Le µC irait chercher le nouveau firmware sur la clé au moment d'un reset de la carte.

    Je travaille actuellement avec un PIC32MZ (pic32mz2048efh144) pour ce qui est de la carte et pour ce qui est de l'IDE j'utilise MPLAB X v3.45, avec Harmony v1.07.01.
    L'univers de microchip et surtout harmony m'est totalement nouveau (j'ai commencé mon stage il y a 3 jours et je commence à ne plus trop béguayer devant tous les fichiers générés par harmony mais j'ai encore de la marge à apprendre).

    Mon responsable de stage m'a parlé d'utiliser les paramétrages de bootloader proposés par harmony, et c'est là que je commence à avoir des ennuis. N'étant pas encore vraiment familiarisé avec l'univers de microchip je me pose plusieurs questions sur le fonctionnement des PIC32.

    Je suis désolé par avance si les questions que je vais poser soient "connes".

    Ce que j'ai compris pour le bootloader c'est que je dois forcément utiliser une application sur ordinateur, ce qui n'est pas le but du projet. Donc ma première question est: est-ce qu'il est bien possible d'effectuer une mise à jour avec une simple clé USB branchée sur la carte ?

    En regardant la Memory Map que j'ai pu trouver sur internet (http://ww1.microchip.com/downloads/e.../60001320D.pdf regarder page 65 pour la memory map de ma carte) j'ai bien vu qu'il y avait une mémoire Boot Flash et une mémoire Program Flash. La question principale que je me pose est: est-ce que Harmony gère lui même l'emplacement mémoire ? Est-ce que, si je crée un projet avec le bootloader et l'application à utiliser dans le même projet, Harmony va placer le code du bootloader lui même dans la mémoire boot flash et l'application dans la mémoire Program Flash ? Parce que puisque le bootloader et l'application seront appelés dans la même fonction "main" je sais pas s'ils seront dissociés http://forums.futura-sciences.com/im.../whistling.gif
    Ce dont j'ai peur aussi en ne faisant qu'un seul projet c'est que en mettant la carte à jour j'efface même le bootloader en plus de l'ancien firmware.

    À ce moment là j'avais pensé créer un projet où il a seulement un bootloader que je place manuellement dans la mémoire Boot Flash puis créer un second projet que je place manuellement dans la mémoire Program Flash. J'aurais à ce moment voulu gérer le point counter pour démarrer sur le bootloader (afin qu'il regarde s'il doit faire une mise à jour avant de démarrer l'application).

    Cette histoire de bootloader m'a complétement perdu ...
    Je suis encore désolé si je pose des questions conne et j'espère que vous pourrez éclairer ma lanterne http://forums.futura-sciences.com/im...ies/worthy.gif

    Je vous souhaite une bonne journée/soirée et vous remercie par avance http://forums.futura-sciences.com/im...ilies/help.gif

    -----

  2. #2
    RISC

    Re : Upgrade du Firmware sur PIC32MZ via clé USB

    Bonjour,

    Une question : pourquoi ne pas utiliser la dernière version de Harmony ? (en général chaque version d'un logiciel corrige des erreurs des précédentes).
    La dernière version est la version v2.05.01.
    Avec Harmony v2.05.01 il faut impérativement utiliser la dernière version de MPLAB X (v4.15) et du compilateur XC32 (v2.05).
    Une fois installé, tu peux trouver des projets de bootloader ici : c:\microchip\harmony\v2_05_01\ apps\bootloader\basic\
    Il existe notamment un projet booloader USB HOST sur clé USB pour le PIC32MZ dans une des configurations du projets : usbhost_pic32mz_ef_sk qui fonctionne sur le kit PIC32MZ EF starter kit.
    La documentation qui explique ce projet se trouve ici : c:\microchip\harmony\v2_05_01\ doc\help_harmony.chm voir : Volume 1 > Application help > Bootloader demonstrations.

    Il existe une ancienne note d'application qui explique le principe de ce bootloader : note d'application AN1388 PIC32 bootloader.

    a+

  3. #3
    LysandreL

    Re : Upgrade du Firmware sur PIC32MZ via clé USB

    Bonjour !

    Déjà merci pour votre réponse ! J'avais déjà "exploré" cet exemple et visiblement je ne m'étais pas encore fait à microchip et été passé totalement à côté ^^ En tout cas merci pour votre réponse elle m'a déjà vraiment éclairé

    Je suis bien passé sous MPLAB X v4.15 et Harmony v2.05.01 comme vous me l'avez conseillé et j'ai créé mon propre projet de bootloader en suivant l'exemple de harmony.
    Je me permet de poser une nouvelle question car cela fait 2/3 jours que je tente de débuguer le bootloader et je commence un peu à désespérer ^^

    Quand je charge le bootloader sur le PIC32 et que je branche ma clé USB (sur laquelle j'ai mis le fichier "image.hex" à la racine) sur le PIC32 je vois la led qui justifie que la clé USB est connectée qui s'allume puis, quasiment instantanément derrière, toutes les LEDs s'éteignent et pu rien ne se passe. De la même manière quand j'appuie sur le switch le PIC32 repasse en "mode bootloader".

    J'ai bien compris qu'il fallait réaliser le bootloader et l'application (le firmware la carte) dans deux projet distincts. J'ai essayé de trouver d'où le problème venait en utilisant le debuguer. La lecture du fichier "image.hex" se réalise bien, la transition que ASCII et hexadécimal semble bien se faire.

    Par contre je n'ai pas l'impression que le programme est écrit sur la carte à la fin. Quand je regarde la mémoire "Program Flash" je n'y vois rien, enfin, que des "F".

    Je pense que le problème provient des linkers (je n'ai compris que tout à l'heure qu'il fallait aussi que je génère un linker avec harmony pour l'application). Et j'ai du mal à comprendre comment paramétrer ces linkers. Est-ce que vous pourriez m'expliquer comment les paramétrer ?

    En tout cas, désolé si je me répète, merci pour votre réponse

  4. #4
    Chtulhu

    Re : Upgrade du Firmware sur PIC32MZ via clé USB

    Bonsoir,

    un bootloader n'a rien de simple, d'autant plus sur un PIC32...
    Comme vous êtes étudiant, je vous donnerais le même conseil que je donne à mes stagiaires: lire de très près la doc de votre PIC et notamment d'écrire par vous même le programme, seule manière de comprendre comment tout cela fonctionne.
    Pour vous y aider voici une note d'application qui vous sera utile:

    https://www.microchip.com/wwwAppNote...pnote=en554836

    Vous avez un bon petit moment à y passer (quelques semaines), sachez que l'électronique ce n'est pas du "sur étagère" comme beaucoup aime à le croire ou le faire croire...
    Les apprentissages doivent être un peu douloureux pour qu'il en reste quelque chose de gravé.
    Evitez les solutions clés en main, elles ne vous apprendront strictement rien et quand ça ne fonctionnera pas vous ne saurez jamais pourquoi.
    Ce n'est qu'un conseil d'un vieux de la vieille, vous en ferez ce que vous voulez.
    Bon courage.
    Dernière modification par Chtulhu ; 31/05/2018 à 22h32.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. [Programmation] Pic32mz
    Par achach dans le forum Électronique
    Réponses: 20
    Dernier message: 02/12/2017, 17h52
  2. [Programmation] Programmation SPI pic32mz MPLAB X
    Par kimsama dans le forum Électronique
    Réponses: 3
    Dernier message: 03/07/2017, 19h03
  3. [Programmation] PIC32MZ MODBUS TCP communication
    Par Jojo2504 dans le forum Électronique
    Réponses: 66
    Dernier message: 19/06/2017, 10h43
  4. upgrade possible ???????
    Par invite793282d0 dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 18/08/2011, 09h07
  5. upgrade
    Par invitecc6b49da dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 1
    Dernier message: 13/10/2005, 16h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.