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