PIC vs ATMEL #2

Füzesi Arnold arno at freemail.hu
Mon Feb 9 21:38:22 CET 2004


----- Original Message ----- 
From: "pyxys1" <pyxys1 at westel900.net>
To: "VF" <elektro at tesla.hu>
Sent: Monday, February 09, 2004 7:57 PM
Subject: Re[2]: PIC vs ATMEL #2


>
> V> Ugyanis a debugger (talan nem veletlenul) csak azt tamogatja.
> V> De miert kell feltetlenul a JTAG? Sokkal egyszerubb a sima Atmel ISP
>
> ezt egyébként már én is akartam kérdezni, hogy miért ilyen sláger a
> jtag. én debuggolásra egy terminálemulátort és egy-két ledet szoktam
> használni. szal, a jtag használatának elvárása olyan, mintha nem
> tudnánk, hogy mi is történik a prociban... de hát a program?
> (most ezért biztosan kapok a fejemre:-) )

:-)

Tegyük fel néha hibázik/lefagy a kütyü.
Fene tudja hol.
Ha JTAG felügyelete alatt fut, akkor megállítom a prg futást, és simán
látszik hova van beakadva.
Ide ugye nem lehet tenni LED villogtatást, mert ha tudnánk, hogy ide kell
tenni, akkor tudnánk, hogy itt a hiba. :)

Fogom ha valahol valamire kivancsi vagyok, akkor odateszek egy (felteteles)
breakpointot, és
ha odaert a prg megnézhetem akár melyik regisztert/változót.
Modosithatom az eeprom-ot, flasht.

Nem lassitja/befolyásolja a prg futását stb.

Illetve nem kell telepakolni debug kiirasokkal a sw-t!!!!!!!!!!!!!!!!!
Foleg, ha nem tudjuk hol a hiba, akkor eleg macera tud lenni.
Debugkiiras betesz fordit, letolt, tesztel,debugkiiras betesz fordit,
letolt, tesztel.
Kozben sziv amiatt mert a debugban is hiba van.
Meg amiatt mert a debug beleszol a prg futasba. (Lassitja, ami egy hw
kezelésnél bekavarhat)

Ki kell probalni, és akkor látja az ember!

Pl az elobb is imádtam.
Program folyamatosan ujraindult!
Egy tombbe (LCD kimeno buffer) akartam betenni egy valtozot, meg egy
stringet, meg egy valtozot.
myprintf(LCD, "%d,%s,%d",valtozo_egy, valtozo_ketto);       //hibas
myprintf(LCD, "%d,%s,%d",valtozo_egy, string, valtozo_ketto);  //korrekt

De a string elmaradt veletlen figyelmetlensegbol.
A string a C-ben a 0x00 karakterig tart.
A program meg a string helyere a masodik valtozot tette be, és egesz addig
pakolta, amig nem talalt 0 karaktert
a memoriaban.
A buffert meg tulirta, és szepen belenyult a rendszerteruletbe.
Pillanatok alatt kiderult, hogy hol indul ujra a progi. Szepen leptettem a
programot, és hupsz! :)))

Arnold



More information about the Elektro mailing list