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.

L'INTERFACE D'ACCÈS DÉPEND DU MICROCONTRÔLEUR PowerPC MPC5xx EDC16, MED9 BDM · Nexus accès de bas niveau TriCore EDC17, MED17 OCDS via JTAG accès de bas niveau AURIX TC2xx / TC3xx MD1, MG1 OCDS via DAP ou JTAG accès de bas niveau Générique nombreux TCU JTAG accès de bas niveau DAP : 2 à 3 fils, rapide · JTAG : 4 à 5 fils, universel · Nexus : trace normalisée
Les interfaces de débogage selon le microcontrôleur

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 :

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

InterfaceFamille de microcontrôleurCalculateurs typiques
BDMPowerPC MPC5xx FreescaleEDC16, MED9
JTAGUniversel, normaliséNombreux, dont TCU
OCDS via JTAG ou DAPInfineon TriCore, AURIXEDC17, MED17, MD1, MG1
NexusTrace, PowerPC récents et InfineonDéveloppement, trace
Bootstrap loaderSelon le microcontrôleurVoie d'amorçage

Ce qu'il faut en retenir

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.

ANP Wiki
ANPFile Service · reprog en ligne
Chargement…