Interfície Background debug mode
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]- ↑ «Background Debug Module (BDM) Block Description» (en anglès). [Consulta: 4 desembre 2023].
- ↑ «[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].
- ↑ «M•Core EBDI Interface Application Note» (en anglès). [Consulta: 4 desembre 2023].
- ↑ Barr, Michael. «Introduction to On-Chip Debug» (en anglès), 01-03-2003. [Consulta: 4 desembre 2023].