Zapojení debuggeru
Debugger je nástroj, který umožňuje sledovat a řídit provádění programu v cílovém procesoru. Říká, kde se má program zastavit, umí si vyžádat od procesoru hodnoty uložené v registrech nebo v paměti, umí je změnit, umožňuje nahrát program do paměti procesoru. Procesory ARM jsou vybavené rozhraním JTAG, které slouží jako komunikační rozhraní s blokem ladící logiky procesoru.
Ladicí funkce procesoru Cortex-M3 implementuje technologie CoreSighthttp://www.arm.com/products/system-ip/debug-trace/coresight-for-cortex-m.php Rozhraní JTAG definuje pět signálů:
TDI - zápis dat do rozhraní
TDO - výstup dat z rozhraní
TMS - řízení rozhraní
TCK - synchronizační hodinový vstup
TRST - reset rozhraní
Blokové schéma připojení PC na JTAG rozhraní procesoru je na obr.1.1. Obvod FT2232D, který komunikuje s osobním počítačem po sběrnici USB, je prostředníkem mezi počítačem a cílovým procesorem. K obvodu FT2232D poskytuje firma FTDIhttp://www.ftdichip.com/FTDrivers.htm ovladače pro operační systémy Windows, Linux nebo Mac OS. Výstupy obvodu FT2232D umožňují komunikaci různými protokoly prostřednictvím bloku s názvem Multi-Protocol Synchronous Serial Engine - MPSSE. Mezi podporované komunikační protokoly patří například I2C, SPI nebo asynchronní RS232. Nás zajímá JTAG režim převodníku FT2232D.
Na prototypovací desce BaseBoard je osazen obvod FT2232D, který nám umožní připojit PC na JTAG rozhraní procesorového modulu LM3S800. Schéma zapojení je na obrázku1.2. Osobní počítač připojíme na konektor J1 prototypovací desky standardním USB kabelem, který podporuje standard USB2.0. Tuto rychlost sice nevyužijeme, ale jelikož je zmíněný kabel kvalitní a má lepší stínění, nebudeme s ním mít problémy.
Obvod FT2232D má na straně výstupů dva porty, A a B. Blok MPSSE je k dispozici pouze na portu A, pro implementaci JTAG rozhraní proto použijeme port A. Výstupy ADBUS[0..7] jsou na prototypovací desce propojeny s konektorem J35. Na schématu je zobrazen také procesorový modul LM3S800, na kterém jsou vyznačeny a popsány piny korespondující s JTAG rozhraním mikrokontroléru LM3S800. Drátovými propojkami spojíme piny konektoru J35 s piny s odpovídajícím označením na modulu LM3S800. To znamená ADBUS0_TCK s TCK, ADBUS1_TDI s TDI, ADBUS2_TDO s TDO atd.
Osobní počítač propojíme USB kabelem s prototypovací deskou BaseBoard. Konektor USB-B kabelu zasuneme do konektoru J1 na prototypovací desce a konektor USB-A zasuneme do USB zásuvky osobního počítače.
Obrázek 1.3 znázorňuje propojení obvodu FT2232D s JTAG rozhraním procesorového modulu LM3S800 na prototypovací desce BaseBoard.
Červený a modrý vodič reprezentují napájecí napětí pro procesorový modul LM3S800. Je potřeba dát pozor a nezaměnit jednotlivé vodiče. Modrý vodič zapojíme dle konvence na GND na pinu 40, červený připojíme na +3.3V na pinu 39.
Konektor převodníku FT2232D s vyvedenými JTAG signály má označení J35. Pin číslo 1 je vyznačen bílou tečkou. Další číslování pokračuje dle schématu 1.2. Procesorový modul LM3S800 propojíme s konektorem J35 podle obrázku 1.3, celé zapojení zkontrolujeme, připojíme napájecí napětí do konektoru J6 a samotnou desku zapneme vypínačem SW1.
Nyní máme zapojeny všechny obvody pro ladění a můžeme přistoupit ke konfiguraci softwarové části debuggeru.