Interfície Background debug mode

interfície de depuració per a sistemes encastats

La interfície del mode de depuració en fons (BDM) és una interfície electrònica que permet la depuració de sistemes integrats. Concretament, proporciona una funcionalitat de depuració en circuit en microcontroladors. Requereix un sol cable i electrònica especialitzada al sistema que s'està depurant. Apareix en molts productes Freescale Semiconductor.[1]

La interfície permet a un host gestionar i consultar un objectiu. Es requereix maquinari especialitzat al dispositiu de destinació. No es requereix maquinari especial a l'amfitrió; un simple pin d'E/S bidireccional és suficient.[2]

Senyals d'E/S

modifica

Els senyals utilitzats per BDM per comunicar dades cap i des de l'objectiu són iniciats pel processador amfitrió. L'amfitrió nega la línia de transmissió, i després qualsevol [3]

  • Afirma la línia abans, per sortir un 1,
  • Afirma la línia més tard, per sortir un 0,
  • Tri-estats la seva sortida, permetent que l'objectiu condueixi la línia. L'amfitrió pot detectar un 1 o 0 com a valor d'entrada.

Al començament del següent temps de bit, l'amfitrió nega la línia de transmissió i el procés es repeteix. Cada bit es comunica d'aquesta manera.

En altres paraules, la complexitat creixent dels dissenys de programari i maquinari actuals està donant lloc a alguns enfocaments nous per a la depuració. Els fabricants de silici ofereixen cada cop més funcions de depuració en xip per a l'emulació de nous processadors.

Aquesta capacitat, implementada en diversos processadors amb noms com el mode de depuració en segon pla (BDM), JTAG i emulació en circuit en xip, posa funcions de depuració bàsiques al propi xip. Amb un port de depuració BDM (interfície d'1 cable) o JTAG (JTAG estàndard), controleu i controleu el microcontrolador únicament mitjançant els serveis estables de depuració en xip.

Aquest mode de depuració s'executa fins i tot quan el sistema objectiu es bloqueja i permet als desenvolupadors continuar investigant la causa de l'error.[4]

Desenvolupament d'aplicacions de microcontroladors

modifica

Un bon entorn d'eines de desenvolupament és important per reduir el temps i el cost total de desenvolupament. Els usuaris volen depurar el seu programa d'aplicació en condicions que imiten la configuració real del seu sistema. Per això, es requereix la capacitat de depurar un programa d'usuari en un sistema objectiu real. Això es coneix com a depuració en circuit. A més, la majoria dels nous MCU tenen memòria no volàtil, com ara memòria flaix, de manera que també es requereix codi de programació al sistema objectiu. Això es coneix com a programació en circuit.

Comandes BDM

modifica

L'amfitrió BDM pot emetre ordres amb paràmetres a l'objectiu. Algunes ordres permeten llegir o escriure blocs de la memòria de l'objectiu, registres individuals a la CPU o registres no disponibles per a l'objectiu.

Alguns exemples inclouen:

READ_BYTE Llegir un byte de la memòria
WRITE_BYTE Escriu un byte a la memòria
GO Inicia/reprèn l'execució a la ubicació actual del comptador del programa
WRITE_PC Escriu un valor al comptador del programa
READ_PC Llegeix el valor del comptador del programa
WRITE_X Escriu un valor al registre d'índex
READ_X Llegeix el valor del registre d'índex
READ_SP Llegeix el valor del punter de pila

Depenent de la part de destinació, el controlador BDM pot incloure un registre de punt d'interrupció de maquinari. El registre conté un valor que indica una adreça a la memòria. Quan la CPU de la part de destinació accedeix a aquesta ubicació a la memòria, el maquinari BDM pot prendre el control de la part de destinació, aturar l'execució del programa i començar a funcionar en mode de fons.

Referències

modifica
  1. «Background Debug Module (BDM) Block Description» (en anglès). [Consulta: 4 desembre 2023].
  2. «[https://www.nxp.com/docs/en/application-note/AN2497.pdf HCS08/RS08 Background Debug Mode versus HC08 Monitor Mode]» (en anglès). [Consulta: 4 desembre 2023].
  3. «M•Core EBDI Interface Application Note» (en anglès). [Consulta: 4 desembre 2023].
  4. Barr, Michael. «Introduction to On-Chip Debug» (en anglès), 01-03-2003. [Consulta: 4 desembre 2023].