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?
Die Antwort lautet: gar nicht. Der pinkompatible Mega88 hat wenigstens dW. Aber das ist ein Krampf. Nimm einen Mega324p oder 644p im DIL40, dann hast Du JTAG, und dann machts auch Spaß. fchk
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?
Holler schrieb: > kann man da nur blind den Code einspielen und > hoffen dass man nichts übersehen hat? Klar, einen Debugger braucht man eh nur in Ausnahmefällen. Es hat auch viele Projekte gegeben, bei denen ich ihn auch nicht mal vermisst hätte.
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.
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?
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
Frank K. schrieb: > Bei dW musst > Du aber per ISP Dein Binary flashen, dW anschalten, debuggen, dW > ausschalten, neues Binary flashen,... Das macht das ganze ziemlich > nervig. Das kann ich nicht bestätigen. Mit dem dw kann man genau so gut flashen.
Hi > Bei dW musst >Du aber per ISP Dein Binary flashen, dW anschalten, debuggen, dW >ausschalten, neues Binary flashen,... Das macht das ganze ziemlich >nervig. Das ist falsch. MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.