Hi, ich habe einen ATmega16 und ein JTAGmk2 und möchte gerne ein paar Programme auf dem ATmega ausprobieren. Nun wollte ich fragen, ob ich mir die RS232-Schnittstelle für Fehler- und Statusmeldungen sparen kann, wenn ich über JTAG debugge? Habe sowas noch nie gemacht. Kann ich da z.B. in den Code schreiben put("Bis hier bin ich gekommen"); und es dann lesen?? Oder ist es einfachen ne RS232-Schnittstelle dran zu bauen? Gruß und Danke, Stefanie
Stefanie, das kommt in erster Linie darauf an, ob die Debugger Software den JTAG unterstuetzt. Falls ja, vergiss den UART, Falls nein, dann brauchst Du den UART unbedingt. Robert
Du musst gar keine Fehlermeldungen etc. via printf ausgeben, weil Du mit JTAG tatsächlich debuggen kannst. Das bedeutet, daß Du Breakpoints im Code verwenden kannst, Dir Variableninhalte ansehen kannst, ganz, ohne irgendwelche Testausgaben in Dein Programm einbauen zu müssen. Was Du bislang "debuggen" nanntest, ist eher so eine Art mehr oder weniger koordiniertes Ausprobieren.
So, nun habe ich mein compiliertes .elf File mit dem AVR Studio geöffnet und möchte damit debuggen. Ich habe AutoStep gedrückt, und gesehen wie er die ganzen Ausdrücke durchspringt, aber nun hängt er schon ne Ewigkeit in einer for-Schleife, die bis 50000 hochzählt (unten am Rand steht aber "Running" und das JTAG blinkt ganz schnell). Leider sehe ich in der linke Spalte nur die Register Info und Projekt, aber nirgends kann ich sehen, was nun wirklich die Pins und Register von meinem ATmega sind. Was mach ich falsch?
Setz den Cursor unter die Schleife und sage dem Studio go to cursor. MW
OK, danke und wie sehe ich die Registerinhalte meines ATmegas?
Schau unter IO View mal, da kannst du diverse "Ebenen" öffnen.. Schaut in etwa so aus Um einen Breakpoint zu setzen musst du nur an die Stelle gehen, und F druecken und noch einmal F9 um ihn wieder zu endfernen Gruss Jens
>un hängt er schon ne Ewigkeit in einer for-Schleife, setz mal die JTAG Kommunikationsraten höher, ist standardmäßig auf 19200Baud >aber nirgends kann ich sehen, was nun wirklich die Pins und Register >von meinem ATmega sind. doch unter IO >Registerinhalte meines ATmegas? auch unter IO
Du solltest ein Fenster haben namens IO-View. dort sind alle Register Ports usw. dargestellt. Aber nur, wenn du ein projekt angelegt hast. Ein Update findet immer dann statt, wenn der Programmablauf gestoppt wird. MW
Kannst auch "durchstepen" mit F11 (geht auch in Unterprogramme) bzw. F10 (überspringt Unterprogramme) Im Watch kannst du dir alle deine Variablen ansehen.
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.