Forum: Mikrocontroller und Digitale Elektronik JTAG-Debugen statt RS232-Schnittstelle


von Stefanie (Gast)


Lesenswert?

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

von Robert (Gast)


Lesenswert?

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

von Stefanie (Gast)


Lesenswert?

OK,
ich benutze AVR Studio, wie kann ich mir dann meine Fehlermeldungen
schreiben? Mit printf??

von Kritiker (Gast)


Lesenswert?

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.

von Stefanie (Gast)


Lesenswert?

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?

von Michael Wilhelm (Gast)


Lesenswert?

Setz den Cursor unter die Schleife und sage dem Studio go to cursor.

MW

von Stefanie (Gast)


Lesenswert?

OK, danke und wie sehe ich die Registerinhalte meines ATmegas?

von Jens D. (jens) Benutzerseite


Angehängte Dateien:

Lesenswert?

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

von Wolfram (Gast)


Lesenswert?

>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

von Michael Wilhelm (Gast)


Lesenswert?

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

von Fritze (Gast)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.