Bootloader et BSL : les deux chargeurs d'amorçage
Le mot « bootloader » désigne deux choses très différentes dans notre métier. Les confondre mène à des malentendus, et à des espoirs déçus.
Le bootloader du constructeur
C'est un petit programme installé dans la flash du calculateur, écrit par le constructeur. Son rôle : recevoir et installer une mise à jour logicielle.
Quand un outil flashe un calculateur en OBD, c'est lui qui répond : il reçoit les blocs de données, les écrit en mémoire, vérifie les sommes de contrôle et, sur les générations récentes, la signature du logiciel.
Point essentiel : il fait partie du logiciel du calculateur. Si la flash est corrompue au point de l'emporter, il disparaît avec — et le calculateur ne répond plus à rien.
Le BSL du microcontrôleur
Le BSL — bootstrap loader, chargeur d'amorçage — est d'une tout autre nature. Il est gravé dans le microcontrôleur lui-même, dans une mémoire en lecture seule figée à la fabrication.
Ses propriétés le rendent précieux :
- Il est indépendant du logiciel du calculateur. Que la flash soit vide, corrompue ou incohérente ne le concerne pas.
- Il s'exécute avant toute application.
- Il ne peut ni être effacé ni être abîmé par une écriture ratée.
Comment on y entre
L'entrée se décide au moment du démarrage du microcontrôleur. Celui-ci examine l'état de certaines broches de configuration au reset : selon ce qu'il y trouve, il démarre l'application normale, ou il entre en mode BSL.
Sur les microcontrôleurs Infineon des calculateurs modernes, le BSL peut ainsi dialoguer par une liaison série ou par le bus CAN.
Les broches et séquences exactes varient d'une référence à l'autre — les générations successives ne se comportent pas de la même façon. Il n'existe pas de recette unique.
À quoi ça sert vraiment
C'est la voie de récupération d'un calculateur perdu.
Le scénario est toujours le même : une écriture s'interrompt — coupure de tension, câble débranché, outil qui plante. La flash se retrouve dans un état incohérent. Le calculateur ne démarre plus, ne répond ni en OBD ni au banc. Il est « briqué ».
Le bootloader du constructeur ne peut rien : il est peut-être détruit lui-même, et de toute façon rien ne l'exécute. Le BSL, lui, démarre quand même — parce qu'il est dans le silicium.
C'est souvent la seule façon de réécrire un binaire valide et de ramener le calculateur à la vie.
Ce qu'il faut en retenir
- Le maintien de charge est ce qui vous évite d'en arriver là. Voir le maintien de charge.
- Un calculateur muet n'est pas toujours mort. Avant de le déclarer perdu, il y a souvent une voie bas niveau.
- Cette récupération demande du matériel et de la méthode : ouverture du boîtier, accès aux broches, parfois soudure. Ce n'est pas une manipulation de routine.
- Sur les architectures à mémoire interne, cette voie est la seule porte de secours — d'où un risque plus élevé qu'à l'époque des flash externes. Voir mémoire interne et externe.
Voir aussi les interfaces de débogage et les trois niveaux d'accès.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
