Les interfaces de débogage : BDM, JTAG, OCDS, DAP, Nexus
Quand on parle d'accès bas niveau à un calculateur, plusieurs sigles reviennent : BDM, JTAG, OCDS, DAP, Nexus. Ils ne s'opposent pas — ce sont les interfaces de débogage prévues par les fabricants de microcontrôleurs, et chacune correspond à une famille de puces. Voici comment s'y retrouver.
Le principe commun
Tous les microcontrôleurs modernes intègrent, sur le silicium, un dispositif de débogage conçu pour la mise au point en usine : pouvoir observer le processeur, l'arrêter, lire et écrire sa mémoire. Le métier de la reprogrammation utilise ces interfaces exactement comme un développeur le ferait. Ce ne sont pas des failles : ce sont des fonctions de développement laissées accessibles sur la carte.
Ce qui change d'une famille à l'autre, c'est le nom de l'interface et sa mise en œuvre.
BDM — les PowerPC Freescale
Le BDM, Background Debug Mode, est l'interface des microcontrôleurs PowerPC de la famille MPC5xx — le socle des EDC16 et de gestions essence contemporaines comme les MED9. C'est la voie royale de cette génération : accès complet, lecture fiable, récupération.
Sur les MPC de génération suivante, cette interface s'accompagne du standard Nexus (voir plus bas).
JTAG — le standard universel
Le JTAG est une interface de débogage normalisée, définie par un standard international, présente sur une immense variété de composants au-delà de l'automobile. Sa force est sa portabilité : le même principe vaut pour des puces de fabricants différents. On le rencontre sur de nombreux calculateurs et beaucoup de calculateurs de boîte. Il utilise typiquement quatre à cinq fils.
OCDS — le système Infineon TriCore et AURIX
Sur les microcontrôleurs Infineon — TriCore, puis AURIX, socles des EDC17, MED17, MD1 et MG1 — le dispositif de débogage interne s'appelle OCDS, On-Chip Debug System.
Point important : OCDS est le système ; on y accède par deux voies au choix :
- par JTAG (quatre à cinq fils) ;
- par DAP, Device Access Port, l'interface propre à Infineon, plus rapide et utilisant moins de fils — deux à trois.
Le DAP est réputé plus robuste et plus rapide que le JTAG sur ces puces. Sur les générations récentes, cet accès est désactivé par défaut et protégé, ce qui explique le verrouillage croissant des calculateurs modernes.
Nexus — la trace normalisée
Nexus est un standard de débogage et surtout de trace — l'observation en temps réel de ce que fait le processeur. On le rencontre associé aux PowerPC récents et, côté Infineon, au dispositif de trace intégré. C'est davantage un outil de développement fin qu'une voie d'accès courante en reprogrammation, mais le terme circule et mérite d'être situé.
Le bootstrap loader
À côté de ces interfaces de débogage, il existe une autre voie : le bootstrap loader, souvent abrégé BSL. C'est un petit programme d'amorçage intégré au microcontrôleur, capable de charger du code par une liaison série au démarrage. C'est une des formes que peut prendre le « mode boot » : forcer le microcontrôleur à démarrer sur ce chargeur plutôt que sur son programme applicatif.
Le tableau de correspondance
| Interface | Famille de microcontrôleur | Calculateurs typiques |
|---|---|---|
| BDM | PowerPC MPC5xx Freescale | EDC16, MED9 |
| JTAG | Universel, normalisé | Nombreux, dont TCU |
| OCDS via JTAG ou DAP | Infineon TriCore, AURIX | EDC17, MED17, MD1, MG1 |
| Nexus | Trace, PowerPC récents et Infineon | Développement, trace |
| Bootstrap loader | Selon le microcontrôleur | Voie d'amorçage |
Ce qu'il faut en retenir
- On ne choisit pas l'interface, elle dépend du microcontrôleur. Identifier la puce, c'est connaître sa porte d'accès.
- Les outils de banc intègrent ces interfaces et fournissent les adaptateurs correspondants.
- Le verrouillage moderne passe par la protection de ces accès — d'où les techniques spécialisées sur les générations récentes.
En tant que client d'un fileservice, vous n'avez pas à maîtriser tout cela : votre outil gère l'interface, vous lisez, vous nous confiez le fichier. Mais comprendre ce paysage aide à savoir pourquoi un calculateur donné se lit d'une certaine façon.
Voir aussi le BDM en détail, le JTAG et le verrouillage TriCore.
Sources : documentation technique Infineon (OCDS, DAP, AURIX) et standards publics.
Sur ANP Engineering — file service de reprogrammation moteur pour professionnels : file service ECU, correction de checksum, calculateurs pris en charge, tarifs.
