Un Bootloader est un programme, qui se lance en amont de toute application, qui permet de prendre la main sur un systeme afin de pouvoir (dans notre cas) faire évoluer le logiciel contenu dans ce systeme, et ce, sans necessiter de trops lourds moyens de programmation. Généralement un simple ordinateur avec un moyen de connexion au système suffit (Câble RS232, USB, Ethernet, ...)
Le bootloader est donc composé de 2 logiciels disctincts:
- un logiciel à installer sur le PC : (BootPic)
qui servira à ouvrir un dialogue avec le système, à choisir le fichier à injecter, puis de le programmer.
- un logiciel re-programmé dans le système : (fichier HEX)
qui servira à dialoguer avec le PC pour pouvoir correctement recevoir la nouvelle version du fichier, puis de l'écrire en lieu et place de l'ancienne version.
A la mise sous tension de la carte, le Bootloader envoi au PC (via RS232), un octet de démarrage. Après l’envoi de cet octet, le Bootloader se met, pendant une durée donnée, en réception d’un octet d’accrochage provenant du PC. Dès que le Soft PC (BootPic) reçois l’octet de démarrage, il renvoie au Bootloader un octet d’accrochage.
Dès réception de cet octet, le Bootloader est prêt à exécuter les commandes reçues par le Soft PC (BootPic). Si l’octet d’accrochage n’est pas reçu durant le délai donné, le Bootloader vérifie si une application est déjà présente en flash (Octet de Check Appli).
Si aucune application n’est présente, le Bootloader réémet l’octet de confirmation puis se remet en attente et ainsi de suite. Si une application est présente, Le Bootloader saute vers le point d’entrée de cette application puis l’applications’exécute.Le Logiciel BootPIC (côté PC):
BootPic V1.00.33 (19/06/08)
Fichier HEX (côté PIC):
Débit RS232 57600 - HSPLLVersion 18F2320 18F452 18F458 18F4580 autres Pic demander...
Pour pouvoir utiliser le bootloader avec son application, il faut structurer un minimum son projet comme suit: (redirection des vecteurs de boot, interruptions, etc... sinon ce sera la cata).
Fig1 : Fichier Linker Projet Applicatif sur 18F458.
Fig2 : Fichier Code Projet Applicatif, IDSOFT.
Fig3 : Fichier Code Projet Applicatif, Interruption High.
Fig4 : Startup File Projet Applicatif, Point entrée Applicatif.
MAP MEMOIRE : Implantation Bootloader + Applicatif 18f458)
-- FIN --
Ce Bootloader a été écrit en VB6.
Il fonctionne correctement sous XP, Vista, Seven 32&64bits en l'exécutant en tant qu'administrateur.
Si il vous manque des DLL, OCX ou si vous avez des messages d'erreurs, c'est par ICI qu'il faut aller voir en premier sinon contactez moi.
Théoriquement tous les PIC 18F doivent être reconnus par BootPic avec un peu d'ajout de déclaration dans les fichiers de Config et peut-ête des modif dans le fichier Hex.
Si vous ajoutez des PIC n'hésitez pas à me faire suivre vos fichiers de Configuration pour effectuer les mises à jour.
Ce BootLoader n'utilise pas les interruptions, il n'intègre pas de Watchdog.