Forum: Mikrocontroller und Digitale Elektronik AVR JTAG Debugging - geht es auch billig?


von m_bedded (Gast)


Lesenswert?

Hallo,

kennt jemand eine billige Alternative zu JTAG ICE u.ä. für mega128?

Programmieren geht z.B. super billig über ISP vom LPT-Port. Gibt es was 
für JTAG?

Macht http://www.olimex.com/dev/avr-jtag.html es gut?

von Ulrich (Gast)


Lesenswert?

ich habe bis jeztt noch nie jtag gebraucht. da fand ich einen 
LogicAnalyser besser

von Spess53 (Gast)


Lesenswert?

Hi

@Ulrich: Ist das einer von der neuen Generation, mit denen man 
Breakpoints setzen und die Register/Speicher ansehen kann ?

MfG Spess

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Das Olimex-Teil ist ein x-beliebiger Clone, wie du ihn dir auch mit
einem ATmega16, einem 7,3xx-MHz-Quarz, einem MAX232 und bissel
Hühnerfutter selbst löten kannst.  Benutzt wird die Atmel-Firmware,
die du als Kunde (auf Grund der Atmel-Lizenzbedingungen) selbst da
rein bringen musst.

Für einen ATmega128 tut sowas, einen ATmega1281 kannste damit aber
nicht mehr debuggen, dafür ist das JTAG ICE mkI zu alt.  Für neuere
Prozessoren geht der AVR Dragon als preiswerte Variante, aber der ist
zum Debuggen auf 32 KiB limitiert.

von dl2ipu (Gast)


Lesenswert?

Findet man die Schaltpläne und die Firmware irgendwo? Mit atmel.com habe 
ich es schon fast aufgegeben..

von _CH_ (Gast)


Lesenswert?

Hallo,
ich hab mir diesen mal gehäkelt - funktioniert prima.
http://aquaticus.info/jtag

Gruß,
Christian

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Schaltpläne gibt's genug davon (das Ding ist trivial, wenn man die
Pegelwandler weglässt).  Die Firmware gibt's nur als Bestandteil
von AVR Studio.  Der gängige Weg war/ist, dass man sich einen AVR910-
kompatiblen Bootloader in den ATmega16 popelt und danach avrprog.exe
anwirft und ihm sagt, dass es bitteschön die Firmware von diesem
JTAG ICE ,,upgraden'' möge.

von m_bedded (Gast)


Lesenswert?

Vielen Dank für eure Antworten! Nun bin ich auch mit JTAG bewaffnet, für 
insgesamt <20€ und einen Sonnabend ohne TV :)

von mr.chip (Gast)


Lesenswert?

> @Ulrich: Ist das einer von der neuen Generation, mit denen man
> Breakpoints setzen und die Register/Speicher ansehen kann ?

Register anschauen kann man sich auch über die serielle Schnittstelle, 
gerade bei 8-bittern geht das sehr einfach, und zwar ohne dass man das 
(meist zeitkritische) Programm anhalten muss.

von Spess53 (Gast)


Lesenswert?

Hi

Wie machst du das, ohne das Programm zu unterbrechen.

MfG Spess

von Dirk (Gast)


Lesenswert?

Hallo,

ich nutze WinAvr + Avr Studio für die Entwicklung von AVR-Programmen.
Mehr und mehr kommt dabei jetzt C++ zur Anwendung. Das Debuggen unter
Avr-Studio ist auf Grund der Inkompatibilitäten von AvrStudio und 
avr-gcc
so gut wie nicht möglich.

Gibt es eine Beschreibung wie man mit

- avr jtag ice mkII (usb)
- avrice
- avr-gdb
- avr-insight oder ist DDD unter Windows eine Alternative ?
- atmega 128

auf der Hardware unter Windows debuggen kann. Auch ein einfaches 
Beispielprojekt würde mir schon sehr helfen.

Die Beschreibung

http://www.fh-augsburg.de/~hhoegl/doc/avr/avrquick/avrquick.pdf

von Herr Hoehgl geht dabei leider nicht ins Detail.

Vielen Dank
Dirk

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Die Inkompatibilitäten sind aber nicht zwischen AVR Studio und AVR-GCC,
sondern sie bestehen schlicht und ergreifend darin, dass AVR Studio
kein C++ unterstützt.

DDD geht nicht unter Windows.

Was genau funktioniert den bei dir nicht?  Hast du zumindest das
Prinzip verstanden, wie die Komponenten ineinander greifen?

von Dirk (Gast)


Lesenswert?

Hallo Jörg,

AVR Studio unterstützt C++ quasi nur halb, ältere Versionen von AVR 
Studio
und avr-gcc (3.4.6) arbeiteten halbwegs zusammen (über den this 
pointer).
Allerdings hast du recht von C++ Unterstützung kann man nicht sprechen.

Soweit ich weiß gibt es eine DDD Version (Cygwin) die unter Windows 
startet,
ich hatte sie mal im Zusammenhang mit ARM uC's testen wollen, sie lief 
aber
quälend langsam.

Das Prinzip habe ich schon verstanden, ich möchte nur wissen bevor ich 
den Umstieg von AVR Studio auf AVR Insight vornehme, ob das alles auch 
richtig
funktioniert und man damit gut arbeiten kann. Im Internet wird oft 
beschrieben das prinzipiell alles funktioniert aber konkret wird, wie 
gesagt, das C++ Debugging nicht beschrieben.

Letztendlich würde ich gern auf einem Beispiel aufsetzen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

C++-Debugging wird prinzipiell von GDB unterstützt (anders als von
AVR Studio selbst), von der Hinsicht wirst du also keine Probleme
zu befürchten haben.  Achte drauf, dass du als Debugformat "stabs"
auswählst, der AVR-GDB kommt mit DWARF-2 in keiner Hinsicht zurecht.

AVaRICE ist die schwächste Stelle des Ganzen.  Zwar ist im Prinzip
das Handling des JTAG ICE in der Appnote AVR067 beschrieben, da es
aber letztlich ausschließlich in Interaktion mit AVR Studio durch
die Autoren selbst getestet wird, schleichen sich da gerne mal Bugs
und Ungereimtheiten ein, da man aus der Appnote nicht alles
entnehmen kann, was man sich wünschen würde.  Mittlerweile geht
AVR067 schon einiges besser als zuvor, allerdings wird erst die
nächste Version soft breakpoins können (und damit mehr als drei).
In dieser Hinsicht sitzt du aber ohnehin auf dem Trockenen, da der
ATmega128 keine soft breakpoints unterstützt.

Auch geht AVaRICE + GDB nicht ganz so ,,flüssig'' an manchen Stellen
wie AVR Studio.  Andererseits benutze ich es den lieben langen Tag
auf Arbeit und möchte in keiner Hinsicht mit AVR Studio tauschen. ;-)
Ich finde das nämlich in vielen Dingen unlogisch aufgebaut.  Vermutlich
kann man das nur benutzen, wenn man vorher von Microsoft Visual
Affentheater hinreichend vorgeformt worden ist...

von Dirk (Gast)


Lesenswert?

Danke ich werde es mal mit mit AVARICE + GDB versuchen. Aber ich habe 
noch
ein paar Fragen:

Wird auch Debugwire für andere AVR-Derivate unterstützt ? Falls ich 
parallel
doch noch mit AVR-Studio arbeiten möchten, wie kann ich die USB-Treiber
Installation/Deinstallation automatisieren, ich habe irgendwo gelesen 
das
sich die USB Treiber von AVR-Studio und AVARICE beißen.

P.S.: Der Threadname ist vielleicht irreführend für meine Fragen, es 
geht
mir nicht in erster Linie um billig, aber es sollte doch kostengünstiger
sein als z.B. IAR EVAVR und vor allen Dingen sollte es funktionieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.