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