Debuggen mit Atmega 8

Gast #4275158
Lesenswert?
• ▲
▼
Ich wollte für ein Bastelprojekt für Einsteiger einen Atmega 8 
verwenden, unter anderem auch weil noch einige Muster im 
anfängerfreundlichem DIL-Gehäuse verfügbar sind. Austattung des uC 
spielt keine Rolle, es sollen nur ein Taster und LEDs dran.

Ich selbst habe noch einen JTAG ICE mk2 Debugger, den ich mal via debug 
wire benutzte, uC war ein ATXmega.

Meine Frage: wie debuggt mal sinnvoll in einem Atmega8? JTAG und DW kann 
der nicht, hilft mir da der MK2?
Es wäre für Anfänger schön, wenn man Einzelschritt oder Breakpoints 
realisieren könnte.

Muss ich zum Atmega88 wechseln, gibts den in DIL?
Gast #4275183
Lesenswert?
• ▲
▼
Ok, habe verstanden dass ich mit dem MK2 besser wechsele.

Und wie verwendet man den Mega8?
Ein ICE wäre übertrieben, kann man da nur blind den Code einspielen und 
hoffen dass man nichts übersehen hat?
#4275191
Lesenswert?
• ▲
▼
Holler schrieb:
> Ok, habe verstanden dass ich mit dem MK2 besser wechsele.
>
> Und wie verwendet man den Mega8?
> Ein ICE wäre übertrieben, kann man da nur blind den Code einspielen und
> hoffen dass man nichts übersehen hat?

Solange sich dein Code nur um Taster und LED dreht, kann man das alles 
wunderbar auch im Simulator debuggen. Dazu muss man nicht auf den 
konkreten µc gehen. Im Simulator gibt es simulierte Ports. Wenn du einen 
Taster drücken willst, dann klickst du auf den simulierten Portpin und 
lässt dein Programm weiterlaufen (single step). Wenn eine Ausgabe an 
einen Port kommt, dann siehst du in der simulierten Portansicht wie 
dieses Bit von 0 auf 1 oder umgekehrt wechselt.

Allerdings: Taster und Led sind jetzt sooo kompliziert auch wieder 
nicht, als das man das Programm nicht einfach auf den Mega laden und 
ausprobieren könnte. Man schreibt ja ein Programm sowieso nicht in einem 
Rutsch runter sondern beginnt erst mal ganz einfach und erweitert dann 
laufend den Code bis man beim Ziel angekommen ist. Das funktioniert 
eigentlich ziemlich gut und ist in der Praxis ein viel kleineres Problem 
als du jetzt denkst.
Gast #4275194
Lesenswert?
• ▲
▼
Ok, mit dem ATMega wäre es für einen Anfänger wenig transparent was da 
passiert.

Nochmal ne Frage an Frank k.: warum ist dW ein Krampf?

Wie gesagt, ich nutzte es vor 2 Jahren in einem ATXmega, allerdings 
blieb der uC selten am Breakpoint stehen, meist rannte der noch etliche 
Befehle weiter. Meinst du das?
#4275484
Lesenswert?
• ▲
▼
Holler schrieb:
> Ok, mit dem ATMega wäre es für einen Anfänger wenig transparent was da
> passiert.
>
> Nochmal ne Frage an Frank k.: warum ist dW ein Krampf?
>
> Wie gesagt, ich nutzte es vor 2 Jahren in einem ATXmega, allerdings
> blieb der uC selten am Breakpoint stehen, meist rannte der noch etliche
> Befehle weiter. Meinst du das?

dW ist nur zum debuggen. Normalerweise hast Du ja einen Zyklus 
Compilieren, Flashen + Debuggen, Bug im Editor ändern, Compilieren...
Flashen und Debuggen ist normalerweise ein Arbeitsschritt. Bei dW musst 
Du aber per ISP Dein Binary flashen, dW anschalten, debuggen, dW 
ausschalten, neues Binary flashen,... Das macht das ganze ziemlich 
nervig.

Die XMegas nutzen PDI, das ist wieder was anderes.

Da lobe ich mir doch die PICs. Da kannst Du alle Modelle (es gibt ca 
1000) von den kleinen 8 Bittern bis hin zu den 200 MHz 32 Bit PICs mit 
dem gleichen Interface (ICSP) programmieren und bis auch ganz wenige 
Ausnahmen auch debuggen. Und für die Ausnahmen gibts Debug Header, damit 
das dort auch geht.

fchk

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren