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 .
cuprins
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:
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
- Fișă de date Freescale Semiconductor Inc. MC9RS08KA2 (MC9RS08KA2, Rev. 1.0).
- Freescale Semiconductor Inc. Manual de referință CPU12
- Freescale Semiconductor Inc. RS08 Core Manual de referință
- Freescale Semiconductor Inc. HCS08 Manual de referință pentru familii