Oui c'est bien avec le bootloader qu'on fait ça. Le fabricant explique comment son bootloader est conçu, comment il s'active et comment le modifier pour faire un peu plus que la version d'origine. Il y a toutes les chances que le bootloader USB d'origine soit conçu par ST de tel sorte que :
- Il s'active via la modification d'une broche
- Qu'il configure le micro en esclave USB souvent HID.
- Pour y connecter via USB un logiciel PC qui permet de charger un fichier .hex
C'est le cas de Texas Instruments et il y a toutes les raisons de penser que ST a du faire pareil. Ton fabricant comme tous les autres, te donne toutes les infos que tu souhaites sur leur bootloader (documentation, source, logiciel PC + source, notes d'applications) afin que tu puisses le modifier selon tes besoins. En effet, il n'est pas rare que lors de l'activation du bootloader, tu veuilles faire des choses en plus, ne serait ce que allumer une LED pour prévenir l'utilisateur que le micro est en mode mise à jour et pas en mode fonctionnement normal.
L'idée pour toi serait que le bootloader fasse ça :
- Il s'active via la modification d'une broche (via un bouton poussoir par exemple)
- Qu'il configure le micro en hôte USB + prise en charge de la classe MSD (mass storage device = clé USB) + FAT32 (système de fichier).
- Pour y connecter une clé USB contenant un programme .hex
- Ton micro doit savoir a l'avance le nom du fichier a aller chercher, maj.hex par exemple et tu peux aussi gérer les numéros de version avec quelques artifices (maj1.0.hex ou maj1.1.hex etc il suffit que ton micro connaisse la version du soft qui est installée)
Tu vois l'idée ?
C'est du boulot quand même l'air de rien puisqu'il te faut comprendre le bootloader en lisant la doc souvent assez balaise, il faut expérimenter, il va aussi falloir apprivoiser l'USB qui est un sacré gros morceau et avant tout ça s'assurer que le STM32 est bien équipé d'un port USB OTG !
Partager