X51 J-TAG

Jan Waclawek wek@evona.sk
Pátek Říjen 7 13:23:24 CEST 2005


Milan MCM wrote:
> k čemu je J-TAG dobrý.
> Zaznělo zde že mužu sledovat běh aplikace v reálu .

No je to na velmi dlhe rozpravanie, ale len tak v strucnosti: JTAG ako 
taky nie je o debugovani ani o "napalovani" apod. Je to standardizovane 
seriove rozhranie, nieco ako keby som napisal SPI (alebo I2C, ale to SPI 
sa podoba trocha viac). Povodne bolo vymyslene ako prostriedok pre 
testovanie kvality DPS s mnozstvom SMD stonoziek, potom sa zacalo 
pouzivat aj na ine ucely.

Samotne debugovanie vyuziva rozsirenia v jadre procesora/jednocipu, 
ktore umoznuju jednak vycitat vnutorne stavy/registre a spatne (dve 
bodky na a, aby ste si to v CZ zle nevylozili :-) ) ich modifikovat, 
druhak umoznuju nastavovat rozne breakpointy t.j. zastavenie procesora 
za nejakych nastavenych podmienok. JTAG je len rozhranie k tymto 
rozsireniam, prave tak to rozhranie moze byt - a byva - lubovolne ine - 
u plneho emulacneho procesora paralelne, dnes su moderne tzv. 
jednodrotove, najperverznejsia verzia u AVR ako ten jeden drot pouziva 
rovno pin RESET. (oproti plnohodnotnym emulatorom tieto seriovo ovladane 
pomocky nemavaju ziadny trace, t.j. pamat v ktorom sa odpamatava 
minulost niektoreho sledovaneho prvku).

Tym padom sa tieto pomocky dostavaju na polcestu medzi riesenia s tzv. 
monitormi a plnohodnotne emulatory.

> jsem tedy problém řešit tak
> že třeba v určitém kusu kodu kde jsem identifikoval nesrovnalost jsem si 
> potřebné hodnoty
> napsal na LCD či RS232 a tak nějak amatérsky jsem si to v reálné čase 
> pochytal našel problém
> opravil a jel dál. 

Na tomto pristupe nevidim nic amaterskeho.
Pritomni profesionali ma mozu pripadne opravit.

> K sw simulaci jsem se občas vrátil ale 
> nikdy to nedopadlo dobře.

SW simulacia byva fajn na maly uzavrety kus kodu s dobre definovanymi 
vstupmi a vystupmi. Problem byva s periferiami, aj ked byvaju v 
niektorych simulatoroch nejake standardne periferie simulovane, nie vzdy 
je to celkom ono. No a nieco zlozitejsie, ked ma clovek zo desat 
navzajom sa vnarajucich preruseni a asynchronne mu do toho busia rozne 
vstupy... :-P

> Ale o to tady neběží - jak lze tedy využít JTAG pro x51 klony které ho 
> podporují
> jaký SW je k němu potřeba a co umožnuje. 

Najznamejsi je SiLabs - ex-Cygnal (tusim je tu viac ludi co ich pouziva 
a mohli by poreferovat). Potom ma nieco podobne STM uPSD34xx (co je od 
ex-WSI), teraz prave ponukaju taku hracku na vyskusanie za nieco ako $9 
(clo a postovne je zrejme vyrazne drahsie...).

Zabudovany monitor (softwarova pomocka) maju vraj MSP12xx od TI (ex-BB), 
a aj P89V51RD2 od Philipsu (a jeho bratia od SST), co je asi 
najlacnejsia varianta stredne pouzitelneho vyvojoveho geretu; ten som 
trocha skusal a funguje s Ke*ilovym u*Visionom (necudo, je to vlastne 
klon Ke*ilovskeho FlashMon-u). Ale inak monitorov je viac a niektore 
budu zrejme aj dost pouzitelne, akurat zvacsa vyzaduju troska 
komplikovanejsi hardware (zvacsa externu RAMku namapovanu ako datovu aj 
kodovu) - uz spominany ke*ilovsky monitor; z volne sirenych je znamy 
napr. PaulMon. Velmi zaujimavy je aj monitor od pana Hankovca, ktory je 
tu v konfere - ten napr. nepotrebuje spominanu externu RAM.

> Přeci jenom sw v cpu jede na 
> nějakých Mhz
> a děje jsou v reálu pro člověka velice rychlé , takže nějaké krokovaní 
> kodu ?

Mno v okamihu, ked sa krokuje, uz to nie je realtime, ale sa vlastne len 
hlada nejaky konkretny chrobak.
Ale vyrazne pomahaju prave tie breakpointy, t.j. clovek vidi, co su 
bezprostredne nasledky chyby, a nastavi podmienku zastavenia procesora 
na tieto nasledky. Potom je fajn mat trace a ist spat (znova dve bodky 
na a...), co vsak u tychto serioidnych pomocok nie je; takze nedostatok 
hardwaru treba nahradit vynaliezavostou a intuiciou.

Hm, to som sa pri piatku rozkecal; dufam ze mi to bude odpustene...

wek




Další informace o konferenci Hw-list