Hallo, wie kann ich ATMEGA1284 stdout/stderr/cout/cerr Ausgaben in das Atmel Studio während dem debuggen umleiten (JTAG)? Solche Logging Ausgaben in der Studio Console wären manchmal hilfreich. Vielen Dank Marcel
:
Verschoben durch Moderator
Über JTAG geht das meines Wissens nach nicht. Du kannst aber stdout auf eine serielle Schnittstelle umleiten: AVR-GCC-Tutorial: Die Nutzung von sprintf und printf Gruß Marius
Marius Wensing schrieb: > Über JTAG geht das meines Wissens nach nicht. Prinzipiell hätte man die Möglichkeit, byteweise auf das Debugregister (IDR) auszugeben. Allerdings gibt es 1.) dann nur 255 mögliche Zeichen (der Wert 0 heißt „es liegen keine Daten vor“). 2.) gibt es meines Wissens in Atmel Studio lediglich eine Meldung mit “IDR dirty”, die den jeweiligen Bytewert vom ICE dann anzeigt, aber niemanden, der das irgendwie zu einem Bytestrom zusammenfassen würde. Auch ist der Transport der Daten auf diesem Weg ziemlich schwerfällig, da das ICE für jedes Byte ein event signalisieren muss, das auf dem PC dann bearbeitet wird.
Hmm, eigentlich bin ich ehh Linuxer. Geht das ganze (brennen & debuggen) denn im eclipse? Dort könnte man eventuell ein paar Java Codezeilen anpassen um das IDR als Logzeile auszugeben. Einen anderen JTAG Rückkanal gibt es nicht? Danke Marcel
Marcel Ruff schrieb: > Geht das ganze (brennen & debuggen) denn im eclipse? Da musst du die Eclipse-Nutzer fragen. Die Tools an sich (AVRDUDE und AVaRICE + GDB) sind da. > Dort könnte man eventuell ein paar Java Codezeilen anpassen > um das IDR als Logzeile auszugeben. Wird aufgrund der Schwerfälligkeit des Protokolls nicht ganz einfach. AVaRICE meldet die IDR-Messages zwar, aber das müsstest du dir dann trotzdem noch „weiter oben“ zusammenbauen. Oder du modifizierst AVaRICE so, dass es diese Bytes auf andere Weise zurückgibt, vielleicht über eine named pipe. > Einen anderen JTAG Rückkanal gibt es nicht? JTAG selbst bzw. das AVR-JTAG-Interface hat dafür keine weiteren Vorkehrungen. Ich würde an deiner Stelle eher die Variante über UART oder USB verfolgen.
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.