Interfață în modul de depanare în fundal - Background debug mode interface

Context modul de depanare ( BDM ) interfață este o interfață electronică care permite depanarea de sisteme embedded . Mai precis, oferă funcționalitate de depanare în circuit în microcontrolere. Necesită un singur fir și electronice specializate în sistem fiind depanate. Apare în multe produse semiconductoare Freescale .

Interfața permite unui gazdă să gestioneze și să interogheze o țintă . Este necesar un hardware specializat în dispozitivul țintă. Nu este necesar niciun hardware special în gazdă; este suficient un simplu pin I / O bidirecțional .

Semnalele de I / O

Semnalele utilizate de BDM pentru a comunica date de la și de la țintă sunt inițiate de procesorul gazdă. Gazda neagă linia de transmisie, apoi

  • Afirmă linia mai devreme, pentru a ieși un 1,
  • Afirmă linia mai târziu, pentru a ieși un 0,
  • Tri-afirmă ieșirea sa, permițând țintei să conducă linia. Gazda poate sesiza un 1 sau 0 ca valoare de intrare.

La începutul următorului bit de timp, gazda neagă linia de transmisie și procesul se repetă. Fiecare bit este comunicat în acest mod.

Cu alte cuvinte, complexitatea din ce în ce mai mare a proiectelor hardware și software de astăzi duce la unele abordări noi de depanare. Producătorii de siliciu oferă din ce în ce mai multe caracteristici de depanare pe cip pentru a emula noi procesoare .

Această capabilitate, implementată în diferite procesoare sub denumiri precum modul de debug de fundal (BDM), JTAG și emularea în circuit în chip , pune funcțiile de depanare de bază pe cip în sine. Cu un port de debug BDM (1 wire) sau JTAG (standard JTAG) , controlați și monitorizați microcontrolerul numai prin serviciile stabile de depanare on-chip.

Acest mod de depanare se execută chiar și atunci când sistemul țintă se prăbușește și permite dezvoltatorilor să continue investigarea cauzei accidentului.

Dezvoltarea aplicațiilor pentru microcontroler

Un mediu bun pentru instrumentele de dezvoltare este important pentru a reduce timpul și costurile totale de dezvoltare. Utilizatorii doresc să depaneze programul lor de aplicație în condiții care imită configurarea reală a sistemului lor. Din această cauză, capacitatea de a depana un program de utilizator într-un sistem țintă real este necesară. Aceasta este cunoscută sub denumirea de depanare în circuit . Mai mult, majoritatea MCU-urilor noi au memorie nevolatilă, cum ar fi memoria flash, astfel încât este necesar, de asemenea, codul de programare pe sistemul țintă. Aceasta este cunoscută sub numele de programare în circuit .

Pentru a susține cerințele de depanare și programare în circuit, Familia HC08 are modul de monitorizare, iar HCS08 și RS08 utilizează un mod de debug în fundal (BDM). Hardware-ul de depanare de fundal pe HCS08 constă dintr-un controler de debug de fundal (BDC) și modul de depanare (DBG). Hardware-ul de depanare de fundal pe RS08 constă numai din controlorul de debug de fundal (BDC).

Comenzile BDM

Gazda BDM poate emite comenzi cu parametri către țintă. Unele comenzi permit citirea sau scrierea blocurilor din memoria țintei, registrele individuale din procesor sau registrele care nu sunt disponibile pentru țintă.

Exemplele includ:

Comenzile BDM
READ_BYTE Citiți un octet din memorie
WRITE_BYTE Scrieți un octet în memorie
GO Porniți / reluați execuția la locația curentă a contorului de program
WRITE_PC Scrieți o valoare în contorul de programe
READ_PC Citiți valoarea contorului de programe
WRITE_X Scrieți o valoare în registrul de index
READ_X Citiți valoarea registrului de index
READ_SP Citiți valoarea indicelui stivei

Funcții BDM

În funcție de partea țintă, controlerul BDM poate avea un registru punct de pauză hardware . Registrul deține o valoare care indică o adresă în memorie. Când CPU-ul părții țintă accesează acea locație în memorie, hardware-ul BDM poate prelua controlul părții țintă, opri execuția programului și poate începe să funcționeze în modul de fundal.

Referințe