Forum: Mikrocontroller und Digitale Elektronik Debugger für ATmega32


von New (Gast)


Lesenswert?

Hallo,

ich habe vor Jahren in einem Praktikum eine Mikrocontrollerschaltung mit 
ATmega32 aufgebaut. Zum Debuggen wurde die JTAG-Schnittstelle und ein 
Atmel JTAGICE verwendet.

Nun würde ich gerne mehr mit Elektronik machen, nicht nur, aber evtl. 
auch mit dem ATmega32.

Welcher Debugger ist dafür zu empfehlen? Ich habe recherchiert, finde 
das Angebot aber verwirrend. Nur zum Herumprobieren sind die 
Originalgeräte von Atmel mit dreistelligen Preisen etwas zu teuer.

Ich hätte bereits einen geschenkten AVR Dragon, den mir aber jemand 
unbedingt abkaufen möchte. Und er soll ja etwas anfällig sein und 
wahrscheinlich reicht mir ein günstigeres Gerät - es sollte halt neben 
programmieren auch debuggen können.

Wären die folgenden Debugger gleichwertig, und welchen könnte man 
empfehlen?

1) "AVR-JTAG USB" von Olimex, u.a. bei 
https://elmicro.com/de/avrjtag.html

2) "AVR-ISP-MK2", u.a. bei 
https://www.digikey.de/product-detail/de/olimex-ltd/AVR-ISP-MK2/1188-1008-ND/3471448

3) "USP-mkII (AVR Programmer)" 
https://www.ehajo.de/boards/151/usp-mkii-avr-programmer

4) evtl. ein gebrauchter Original ICE von Atmel?

5) ein "Atmel ICE"-Klon von ebay zur unter 10 Euro



Mein erster Gedanke, wäre Nummer 4 zu nehmen. Oder habt ihr andere 
Tipps?

von Karl M. (Gast)


Lesenswert?

Frage dich bitte erst, für was Du einen Debugger für ATmega* benötigst.

Habe ich selbst nach 15 Jahren nie benötigt.

Die Programmlogik steckt im Programm und das muss man verstehen.
(Test-)Ausgaben können heute serial über einen TTL-USB Wandler an jeden 
PC übermittelt werden.
Oder man verwendet nur eine LED zum Signalisieren..

von New (Gast)


Lesenswert?

Danke für den Tipp. Das spricht dann wohl für einen günstigen Klon, dann 
hat man für wenig Geld evtl. trotzdem die Option, ggf. zu debuggen.

von Warning (Gast)


Lesenswert?

New schrieb:
> 3) "USP-mkII (AVR Programmer)"

Ist kein JTAG Debugger sondern nur ein Programmiergerät.

von New (Gast)


Lesenswert?

Ah, danke für die Info! Dann sind nur noch 1, 2, 4 und 5 im Rennen :)

von Karl M. (Gast)


Lesenswert?

Da Du ja keinen Debugger benötigst,

sondern einen ISP Programmieradapter.

Ist das Angebot von eHaJo passend für Dich.

Habe selbst alle Aufgebaut und einige Eigenentwicklungen am Start.

https://www.ehajo.de/bausaetze/programmieradapter/

Mit deinen Vorkenntnissen, sollte dieses Board, incl. ISP 
Programmieradapter, das passende sein.

https://www.ehajo.de/bausaetze/bedrahtet/89/ateval-v2.0-microchip-avr-evaluationsboard

von PittyJ (Gast)


Lesenswert?

Karl M. schrieb:
> Frage dich bitte erst, für was Du einen Debugger für ATmega*
> benötigst.
>
> Habe ich selbst nach 15 Jahren nie benötigt.
>
> Die Programmlogik steckt im Programm und das muss man verstehen.
> (Test-)Ausgaben können heute serial über einen TTL-USB Wandler an jeden
> PC übermittelt werden.
> Oder man verwendet nur eine LED zum Signalisieren..

So mache ich es meistens auch. Seit Jahren keinen Debugger mehr benutzt. 
Auf den Platinen, die später verkauft werden, ist kein Jtag-Ausgang 
(o.ä.) mehr drauf. Also muss ein Uart mit printf reichen.
Man sollte allerdings schon C (oder seine benutzte Programmiersprache) 
beherrschen, und nicht versuchen, erst auf dem Controller die Sprache 
kennenzulernen.

von New (Gast)


Lesenswert?

Softwareentwicklung ist nicht das Thema, da bin ich fit.

Das mit der seriellen Schnittstelle find ich auch eine gute Option.

Aber die Alternative, auch Breakpoints setzen zu können statt (zum 
Beispiel in dem alten Projekt) erst mal einen Uart in Betrieb zu nehmen, 
find ich trotzdem nicht schlecht.

von Gabriel M. (gabse)


Lesenswert?

Mittlerweile gibt es von Microchip (wozu Atmel gehört) zwei sehr 
günstige Optionen:

Microchip SNAP ca 25€ (Programmer/Debugger für die meisten neueren AVR 
und PIC Mikrocontroller, reine Platine)

Microchip PicKit 4 ca 50€ (Wie SNAP aber in einem Gehäuse, mit 
zahlreichen Zusatzfunktionen wie Programming on the Go, HVSP und 
einstellbare Target Versorgung)

von ... (Gast)


Lesenswert?

Man kann Dunkelheit natürlich zum Standard erklären und
sich an einem LED-Kerzenlicht erfreuen.

@TO: Such dir Controller die dir da keine Steine in den
Weg legen. Es gibt wirklich genug davon.
Bei den 8-Bittern z.B. die STM-8.

von New (Gast)


Lesenswert?

@Gabriel: Danke für den Tipp. Dass es da jetzt Geräte unter der Marke 
Microchip gibt, wusste ich noch nicht.

@...: Danke, ggf. würde ich auch STM32 oder PIC in Betracht ziehen. Aber 
hier geht es mir vor allem um das alte Projekt.

Spricht den generell etwas gegen einen günstigen Klon für den Anfang? 
Oder sollte ich den Dragon dringend behalten?

von Karl M. (Gast)


Lesenswert?

New schrieb:
> Spricht den generell etwas gegen einen günstigen Klon für den Anfang?

Hängt daVON ab, von woher er stammt und ob er die passende Firmware hat.

Hier ein Link zu einem Projekt dem USBasp:
https://www.fischl.de/usbasp/

Clone aus Übersee haben häufiger nur alte Firmware installiert, evtl. 
auch keine Möglichkeit 5V und 3,3V AVR µC Chip zu programmieren.

von Pandur S. (jetztnicht)


Lesenswert?

JTAG auf AVR ist Quatsch. Der liegt immer auf einem andersweitig 
verwendeten Port, auf einer andersweitig verwendeten Funktionalitaet.

von New (Gast)


Lesenswert?

Der USBasp ist anscheinend auch nur ein Debugger.

In dem bestehenden Projekt ist der JTAG-Zugang bereits herausgeführt. 
Was mich vorrangig interessiert, das ist, möglichst günstig diesen 
ATmega32 zu flashen UND zu debuggen.

Neue Projekte sind erst mal nicht der Fokus...

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

AVR8/Mega hat mindestens so viele closed source On-Chip-Debug Typen wie 
devices, aergerlich!

von m.n. (Gast)


Lesenswert?

Karl M. schrieb:
> Frage dich bitte erst, für was Du einen Debugger für ATmega* benötigst.
>
> Habe ich selbst nach 15 Jahren nie benötigt.
>
> Die Programmlogik steckt im Programm und das muss man verstehen.
> (Test-)Ausgaben können heute serial über einen TTL-USB Wandler an jeden
> PC übermittelt werden.
> Oder man verwendet nur eine LED zum Signalisieren..

Das sehe ich ganz genau so. Wenn Du in C-Programmierung fit bist, ist 
das schon einmal eine gute Voraussetzung. Spezielle 
Assembler-Programmierung kann man im Simulator ablaufen lassen, um zum 
Beispiel die Flags im Statusregister anzusehen.

Die AVR-Peripherie ist so einfach, daß man dafür keinen Debugger 
braucht, wenn man mit ein wenig Geschick den Programmablauf anhand 
gesetzter Portpins verfolgt.
Ein Oszilloskope würde ich eher empfehlen.

von Steffen H. (avrsteffen)


Lesenswert?

Also ich würde ja die Finger von der älteren Generation AVR Tiny/Mega 
lassen und auf die neueren der Serie 0/1 umsteigen. Die brauchen nämlich 
nur noch eine Ader + GND zum Programmieren und !Debuggen! - Nennt sich 
UPDI

Da wäre zum Beispiel der ATmega4809 im 40-PDIP Gehäuse, siehe:
https://ww1.microchip.com/downloads/en/DeviceDoc/40-pin-Data-Sheet-megaAVR-0-series-DS40002104A.pdf

UPDI Programmer/Debugger sind schnell aus einem ATmega32U4 hergestellt. 
So zum Beispiel aus einem Arduino Mini oder Micro.


Wenn man trotzdem bei den alten Deveraten bleiben will, dann gibt es 
hier auch Selbstbaulösungen für einen JTAG Programmer/Debugger auf Basis 
eines ATmega16.

https://scienceprog.com/build-your-own-avr-jtagice-clone/

https://amtek.wordpress.com/2011/07/20/make-your-own-avr-jtag-debugger/

http://www.aquaticus.info/jtag/

Den hatte ich mir mal vor Jahren auch gebaut und er hat aus dem Atmel 
Studio 4 damals funktioniert.

von ... (Gast)


Lesenswert?

> daß man dafür keinen Debugger braucht

Die AVR sind so beschissen designt, dass man einen auf JTAG
verhunzelten ATM32 nur mit JTAG anreden kann.

Nimm einen Dragon.

Aber Vorsicht. Selbst scharfes Ansehen kann ihn zerstoeren.

Oder tu das alte Ding entweder in die Bastelkiste zurueck
oder wirf es einfach in den Muell.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Karl M. schrieb:
> Frage dich bitte erst, für was Du einen Debugger für ATmega*
> benötigst.
>
> Habe ich selbst nach 15 Jahren nie benötigt.

Aha ;-)

> Die Programmlogik steckt im Programm und das muss man verstehen.
> (Test-)Ausgaben können heute serial über einen TTL-USB Wandler an jeden
> PC übermittelt werden.
> Oder man verwendet nur eine LED zum Signalisieren..

Wenn der OP einen Debugger haben möchte, soll er doch einen benutzen - 
da gibt es doch nichts zu diskutieren.

Warum sollte man mittlerweile auf Debugging verzichten? Ich hab oft gar 
kein RS232 und keine LED, weil ich das nicht brauche - ich hab einen 
Debugger ;)

Ich überlege mir, künftig eher STM8 als AVR einzusetzen, weil man über 
SWIM wunderbar debuggen kann. Für alles größere benutze ich STM32 und 
hab da eh SWD. Proprietäres Debugging-Gedöhns wie beim AVR ist nicht 
mehr zeitgemäß - aber das werden die schon noch lernen.

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Steffen H. schrieb:
> Nennt sich UPDI

Ui! Das ist ja schön, dass sich da mal etwas tut!

von Hans (Gast)


Lesenswert?

Hallo,

der ATMEGA32 ist doch "Asbach Uralt". Den würde ich mir nicht antun.

Wenn Du Geld sparen willst: ATMEGA328 in Form eines Arduino Boards. 
Vorteil preisgünstig, an jeder Ecke zu haben. Niemand zwingt dich die 
Arduino Oberfläche zu benutzen.

Ich habe zum basteln einige Boards und habe mit einem Atmel Dragon 
Programmer/Emulator angefangen. So empfindlich wie mansche Leute 
sagen/schreiben ist der nicht. Meiner hat mindestens 10 Jahre auf dem 
Buckel.

Aber ich habe auch einen neuen Atmel ICE und wenn Du auf ein 
"Sonderangebot" von Microchip warten kannst, ist der auch nicht so 
teuer.

Ciao

von New (Gast)


Lesenswert?

@Mampf F. : Genau. Es geht um einen ATmega32 - und welcher Debugger 
dafür eine gute Wahl ist.

Danke für alle Empfehlungen für andere Controller usw., ist ganz 
interessant, aber beantwortet leider nicht meine Frage.

@Hans: Danke für den Tipp, vielleicht finde ich ja auch noch so ein 
Sonderangebot.

Was spricht ansonsten gegen einen Klon? Oder für einen Dragon?

von New (Gast)


Lesenswert?

...oder wäre so ein "AVR-JTAG USB" auch eine praktikable Lösung?

von xXXx (Gast)


Lesenswert?

Nimm den AVR-Dragon wenn den noch bekommen kannst.
Der ist nicht zu teuer und so empfindlich ist er nun auch wieder nicht.
Einfach in ein passendes Gehäuse einbauen gut ist.
Der kann ISP, Jtag und HV-Programming also ich find dieses Teil seit
Jahren super gut dafür.
Sogar one-wire debugging über ISP.

von xXXx (Gast)


Lesenswert?


von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

160 Euro? Verrueckt!

von m.n. (Gast)


Lesenswert?

Uwe B. schrieb:
> 160 Euro? Verrueckt!

AmArschon eben ;-)

von New (Gast)


Lesenswert?

Danke für die Beiträge, aber leider helfen sie mir nicht in meiner 
Ausgangsfrage.

Behalte ich den AVR-Dragon oder reicht für ein bisschen flashen und 
debuggen eines ATmega32 auch ein günstigerer Debugger (welcher?), so 
dass ich den Dragon verkaufen kann?

von xXXx (Gast)


Lesenswert?

New schrieb:
> Behalte ich den AVR-Dragon

Ich gestehe habe dein Eingangspost nicht ganz gelesen.
Behalte deinen Dragon, etwas vergleichbares unter 50€ wirst du
so schnell nicht finden.

Es bleibt dir sonst noch selber bauen oder warten bis etwas verfügbar 
ist.

von xXXx (Gast)


Lesenswert?

New schrieb:
> 5) ein "Atmel ICE"-Klon von ebay zur unter 10 Euro

Also wenn der Funktioniert haste was du wolltest.
Bei 10€ da machste nichts kaputt!

von Gabriel M. (gabse)


Lesenswert?

xXXx schrieb:
> etwas vergleichbares unter 50€ wirst du
> so schnell nicht finden.

https://www.microchipdirect.com/dev-tools/PG164100

20,5€


https://www.microchipdirect.com/dev-tools/PG164140

48€

Können beide JTAG, ICSP, UPDI, PDI, TPI und SWD + UART Schnittstelle

Ansonsten bleib beim AVR-Dragon.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

New schrieb:

> Behalte ich den AVR-Dragon oder reicht für ein bisschen flashen und
> debuggen eines ATmega32 auch ein günstigerer Debugger (welcher?), so
> dass ich den Dragon verkaufen kann?

Nur für's Flashen geht's wesentlich günstiger und ist dann kompatibel zu 
allem Möglichen.

Das Problem ist das Debuggen. Natürlich kann das hilfreich sein, aber 
wirklich brauchen tut man es nicht. Insbesondere dann nicht, wenn es für 
das Target einen einigermaßen brauchbaren Simulator gibt. Und das ist 
beim Mega32 definitiv der Fall, da hat man sogar die Wahl zwischen 
zweien. Jeweils mit ziemlich furchtbaren Unfähigkeiten und Fehlern, aber 
bei kompetenter Nutzung unter der Berücksichtigung der jeweiligen 
Schwächen sind beide durchaus brauchbar, irgendwie ergänzen sie sich 
auch gegenseitig ein wenig.

Unter Berücksichtigung der Tatsache, dass der ATmega32 längst nicht mehr 
"state of the art" ist, würde ich meine Entscheidung ganz sicher nicht 
mehr davon abhängig machen, ob der unterstützt wird...

Beitrag #6578423 wurde vom Autor gelöscht.
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.