Le Bootloader USB Diolan

Créé le :
dimanche 3 juillet 2011
Révisé le :
dimanche 18 décembre 2016

4- L'adaptation du firmware-application :

La configuration du bootloader, dont hérite le firmware-application, impose certaines conditions, les voici.

 

Instructions étendues :

Le bootloader nécessite (pour le codage XTEA) l'utilisation des instructions étendues. Votre firmware-application va donc hériter de cette configuration, il est donc nécessaire de l'indiquer au compilateur de votre projet. Vous devrez, comme pour le bootloader, configurer ce mode de compilation dans MPLAB (Project / Build Options / Project / MPASM C17 C18), l'indiquer dans votre code au niveau des bits de configuration, et si vous programmer en C18 adapter votre fichier .lkr tel que (notez les suffixes "_e") :

FILES c018i_e.o
FILES clib_e.lib
FILES p18f4455_e.lib

 

Relocaliser le code et les vecteurs :

Ne pas oublier que c'est le bootloader qui est logé à l'adresse 0x00.
D'après les paramètres renseignés dans la config du firmware-bootloader (voir le fichier boot.inc, lignes 27, 28 et 29) votre code du firmware-application doit être conçu pour démarrer en l'adresse 0x0800, et vos vecteurs d'interruption en 0x0808 (High) et 0x0818 (Low).

 

Utiliser la Marque EEPROM :

Rien de très particulier ici, sachez que si vous souhaitez pouvoir redémarrer le PIC en mode bootloader, et si vous avez fait les réglages précédemments décrits, il suffit dans votre code d'écrire la marque attendue en EEPROM et de lancer un reset.

 

C'est tout, passons maintenant au cryptage et transfert de votre firmware-application...