Rozhraní režimu ladění na pozadí - Background debug mode interface
Režim ladění na pozadí (BDM) rozhraní je elektronické rozhraní, které umožňuje ladění z vestavěné systémy. Konkrétně poskytuje ladění v okruhu funkčnost v mikrokontrolérech. Vyžaduje jeden vodič a specializovanou elektroniku v laděném systému. Objevuje se v mnoha Freescale Semiconductor produkty.
Rozhraní umožňuje a Hostitel spravovat a dotazovat se cílová. V cílovém zařízení je vyžadován speciální hardware. V hostiteli není vyžadován žádný speciální hardware; jednoduchý obousměrný I / O pin je dostačující.
I / O signály
Signály používané BDM ke komunikaci dat do a z cíle jsou iniciovány hostitelským procesorem. Hostitel neguje přenosové vedení a pak buď
- Tvrzení řádek dříve, na výstup a 1,
- Vloží řádek později, aby na výstupu 0,
- Tri-státy jeho výstup, umožňující cíli řídit linii. Hostitel může snímat 1 nebo 0 jako vstupní hodnotu.
Na začátku dalšího bitového času hostitel neguje přenosové vedení a proces se opakuje. Každý bit je komunikován tímto způsobem.
Jinými slovy, rostoucí složitost dnešních návrhů softwaru a hardwaru vede k některým novým přístupům k ladění. Výrobci křemíku nabízejí stále více funkcí ladění na čipu pro emulaci nových procesorů.
Tato schopnost, implementovaná v různých procesorech pod takovými názvy, jako je režim ladění na pozadí (BDM), JTAG a na čipu emulace v obvodu, umístí základní ladicí funkce na samotný čip. S BDM (1 drátové rozhraní) nebo JTAG (standardní JTAG) ladit port, řídíte a monitorujete mikrokontrolér pouze prostřednictvím stabilních služeb ladění na čipu.
Tento režim ladění běží, i když dojde k chybě cílového systému, a umožňuje vývojářům pokračovat ve vyšetřování příčiny selhání.
Vývoj aplikací pro mikrokontroléry
Dobré prostředí vývojového nástroje je důležité ke snížení celkové doby a nákladů na vývoj. Uživatelé chtějí ladit svůj aplikační program za podmínek, které napodobují skutečné nastavení jejich systému. Z tohoto důvodu je vyžadována schopnost ladit uživatelský program ve skutečném cílovém systému. Toto je známé jako ladění v obvodu. Navíc většina nových MCU má energeticky nezávislou paměť, jako je flash paměť takže je také vyžadován programovací kód v cílovém systému. Toto je známé jako programování v obvodu.
Pro podporu požadavků na ladění a programování v obvodu má rodina HC08 monitorovací režim a HCS08 a RS08 využívají režim ladění na pozadí (BDM). Hardware pro ladění na pozadí na HCS08 se skládá z řadiče ladění na pozadí (BDC) a modulu ladění (DBG). Hardware pro ladění na pozadí na RS08 se skládá pouze z řadiče pro ladění na pozadí (BDC).
Příkazy BDM
Hostitel BDM může vydávat příkazy s parametry k cíli. Některé příkazy umožňují čtení nebo zápis bloků paměti cíle, jednotlivých registrů v CPU nebo registrů, které nejsou cíli k dispozici.
Mezi příklady patří:
READ_BYTE | Načíst bajt z paměti |
WRITE_BYTE | Napište bajt do paměti |
JÍT | Spusťte / pokračujte v provádění na aktuálním místě počitadla programu |
WRITE_PC | Napište hodnotu do čítače programu |
READ_PC | Odečtěte hodnotu počitadla programu |
WRITE_X | Zapište hodnotu do indexového registru |
READ_X | Přečtěte si hodnotu indexového registru |
READ_SP | Přečtěte si hodnotu ukazatele zásobníku |
Funkce BDM
V závislosti na cílové části může řadič BDM obsahovat hardware bod zlomu Registrovat. Registr obsahuje hodnotu označující adresa v paměti. Když CPU cílové části přistupuje k tomuto místu v paměti, hardware BDM může převzít kontrolu nad cílovou částí, zastavit provádění programu a začít pracovat v režimu na pozadí.
Reference
- Freescale Semiconductor Inc. MC9RS08KA2 Datový list (MC9RS08KA2, rev. 1.0).
- Freescale Semiconductor Inc. Referenční příručka k CPU12
- Freescale Semiconductor Inc. Referenční příručka k jádru RS08
- Freescale Semiconductor Inc. Referenční příručka rodiny HCS08