CMSIS-DAP
Maggiori info
- Creatore
- Arm
- Tipo
- Protocollo e firmware per sonde di debug
- Licenza
- Apache 2.0
Una specifica aperta che definisce come una sonda di debug USB riceve i comandi dall'host e li traduce in traffico SWD o JTAG.
Sonde commerciali come J-Link e ST-Link parlano ciascuna un proprio protocollo, quindi ogni strumento di debug richiede un driver per produttore. CMSIS-DAP, parte della famiglia CMSIS di ARM, definisce invece un piccolo insieme di comandi — leggere un registro, scrivere in memoria, muovere un piedino — che qualsiasi microcontrollore con USB può implementare.
La versione 1 usava USB HID, che non richiedeva driver ma limitava la velocità a un pacchetto al millisecondo. La versione 2 è passata ai trasferimenti bulk ed è sensibilmente più rapida. Il risultato è che una sonda di debug può costare meno del chip di cui fa il debug: OpenOCD, pyOCD e probe-rs la supportano tutti, e il Raspberry Pi Debug Probe è in sostanza un RP2040 con firmware CMSIS-DAP.