Hallo, ich benötige mal einen Rat zu folgendem Sachverhalt. (ist mein erster kontakt mit AVR Debugging) Installierte Software AVR Studio 5 Beta2 Hardware AVR Dragon (neu), STK600 mit ATMega2560(neu) STK600 mit eigener Stromversorgung, Dragon an USB Hub mit Netzteil, JTAG Verbindung über Dragonlair(Verbindungskabel Länge 2x 8cm), Externe Clock von STK600 (1MHz). Fuses, ID lesen geht. Hex Datei laden und löschen geht. OCDEN true, JTAGEN true, SPIEN true, WDTON false, EESAVE true, CKDIV8 true, SUT_SKSEL EXTCLK_6CK_65MS, LOCKBits alle NO_LOCK. An der JTAG Clock Leitung messe ich eine Frequenz von ca. 4,2KHz, egal wie der Takt auf dem Board eingestellt ist. 1. Frage ist das mit der gemessenen Frequenz so richtig, da ich keine Einstellmöglichkeit für dei JTAG Frequenz finde? Ich habe nun ein Leeres GCC Projekt erstellt für ATMega2560 und AVR Dragon und folgenden Code eingefügt: #include <avr/io.h> int main(void) { DDRB = 0xFF; while (1) { PORTB = 0x1F; PORTB = 0xFF; //<-- hier habe ich einen Haltepunkt gesetzt }} So nun war ich der Meinung ich könnte auf Debuggen Starten drücken, an meinem Haltepunkt wird gestoppt und ich kann mir die Ports usw. anschauen. So kenne ich das aus meiner C# Programmierung. Ist diese Hoffnung grundsätzlich falsch? Muß ich noch weitere Einstellungen machen? (laut Anleitung in AVR Studio 5 nicht, aber vielleicht übersehe ich ja etwas grundsätzliches, was keiner erwähnung bedarf) Wenn ich nun Debug Start drücke, erscheint in der Ausgabe am Ende: 11:42:58.328: [ERROR] TCF command: StackTrace:getChildren failed: Code:3 ,Service:StackTrace ,Message from peer:readMemory failed: An unknown emulator error occured. # JtagIceMkiiProtocol::assertResponse(): readMemory failed: # An unknown emulator error occured. # JtagIceMkiiProtocol::assertResponse(): go failed: # An unknown emulator error occured. # go failed: # An unknown emulator error occured. In der Statusleiste steht running aber ansonsten passiert nichts. Wenn ich wieder Stopp drücke : 11:47:36.734: [ERROR] TCF command: Processes:terminate failed: Code:1 ,Service:Processes ,Message from peer:Failed to execute command with ID 0x14. Unexpected sequence number: got 0x001c instead of 0x001d. 11:47:36.734: [ERROR] Failed to terminate the session. # Failed to execute command with ID 0x14. # Unexpected sequence number: got 0x001c instead of 0x001d. # Failed to execute command with ID 0x14. # Unexpected sequence number: got 0x001c instead of 0x001d. Vielleicht hat ja sogar jemand hier die gleiche Soft- und Hardware und könnte mir bestätigen, das es gehen müßte.Habe jetz schon über eine Woche gegoogelt und eigentlich nichts gegenteiliges gefunden. für jede Hilfe vielen Dank
ich kämpfe mit ähnlichen Problemen - das ist keine Hilfe aber vielleicht ein Trost; Meine Konfiguration besteht aus einem ATmega 169 board (butterfly) und einem KEE JTAGICE mkii. Die genannten Funktionen (Programm laden, Fuses setzen, Signatur lesen) funktionieren einwandfrei. Beim Start des Debuggers kommt aber die Fehlermeldung : TCF command: Processes:launch failed: Code:1 ,Service: ,Message from peer:Unexpected signature 0x001e9405 (expected 0x001e9411) Keine Ahnung was das bedeutet; es keimt allerdings der Vardacht, dass AVRStudio5 noch nicht so ganz stabil ist.
ich kämpfe mit ähnlichen Problemen - das ist keine Hilfe aber vielleicht ein Trost; Meine Konfiguration besteht aus einem ATmega 169 board (butterfly) und einem KEE JTAGICE mkii. Die genannten Funktionen (Programm laden, Fuses setzen, Signatur lesen) funktionieren einwandfrei. Beim Start des Debuggers kommt aber die Fehlermeldung : TCF command: Processes:launch failed: Code:1 ,Service: ,Message from peer:Unexpected signature 0x001e9405 (expected 0x001e9411) Keine Ahnung was das bedeutet; es keimt allerdings der Verdacht, dass AVRStudio5 noch nicht so ganz stabil ist. Nachtrag: Zwei Dinge haben mein PROBLEM GELÖST: a) der Prozessor Typ muss ganz genau angegeben werden; in meinem Fall 169PA (irrtümlich 169A angegeben); danach verschwanden o.g. ominöse Fehlermeldungen; b) die JTAG Frequenz darf nicht grösser sein als 1/4 der Taktfrequenz des Systems; man erreicht die dazugehörige Einstellung über das Menue project -> <project name> properties -> Tab "debugging"; hier lässt sich über eine Schiebregler bequem die Frequenz einstellen; .... und funzt !
Harald Becker schrieb: > Hallo, ich benötige mal einen Rat zu folgendem Sachverhalt. > (ist mein erster kontakt mit AVR Debugging) > Installierte Software AVR Studio 5 Beta2 Du weißt, was Beta heißt? "Vorsicht Baustelle. Kann funktionieren, muss aber nicht." Nimm erstmal Studio 4.18, bringe das zum Laufen, und dann kannst Du ja bei Studio 5 weiter probieren, wenn Du nicht aufs Christkind warten willst. fchk
@Frank K. ich weiß das dies eine Beta Version ist, aber sie wäre gerade für mich, der sonst mit VS 2010 und C# programmiert eine gute Brücke zur AVR Welt. In Studio 4.18 funktioniert das Debuggen, aber da es ja auch in Studio 5 funktionieren sollte, siehe auch Beitrag von Claus, würde ich halt lieber direkt mit der neuen IDE arbeiten (übersichtlicher für mich). @Claus schon mal schön zu hören, das es gehen müßte, wobei Du leider nicht mit der gleichen Hardware arbeitest. z.B. der Regler zur Einstellung der JTAG Frequenz (den habe ich auch in der Beschreibung zu Studio5 gesehen, da wird das ja anhand von AVR !ONE gemacht) ist bei mir mit AVR Dragon nicht vorhanden!? Hast Du irgend etwas an den Toolchains oder so geändert? Welche Toolchains benutzt Du, die mitgelieferten, oder...? Ich nehme an, dass Studio 4 irgendetwas automatisch macht, was Studio 5 nicht macht. Bei Studio 4 habe ich nichts geändert und es lief. Zwischnzeitlich habe ich festgestellt, dass die Fuses sich bei meinen Tests mit Studio 5 verstellten. Ich nehme an dass dies an meiner benutzung des PortB lag, da hier auch die SPI Schnittstelle sitzt. Ist doch richtig, dass JTAG über die SPI Schnittstelle funktioniert? Konnte da im Datenblatt nichts direktes zu finden. Ist es weitergehend nicht möglich ein Programm, dass SPI benutzt, wenn ich z.B. den AT45DB041B 4Mbit DataFlash auf dem STK600 nutzen will, zu Debuggen?
nein- keine Änderung an den Toolchains, nur die mitgelieferten werden verwendet. Dass du die Einstellung für die JTAG Frequenz nicht siehst, ist äußerst merkwürdig. Hast du SP3 installiert ? Die Fuses verstellen sich in der Tat. OCDEN wird von beim Debuggen automatisch geschaltet; JTAGEN muss man selbst setzen; Den zweiten Teil deiner Fragen kann ich leider nicht beantworten;
Hallo Claus, was meinst Du mit SP3? Ich rede von der AVR Studio 5 Beta 2 Version, mit der ich Schwierigkeiten habe. Nicht das wir uns da mißvertehen.
ja, du hast recht; das SP3 gibt es nur bei 4.18; bei AVRStudio 5 ist man vorerst noch bei Beta 2;
noch ein Nachtrag: das Window mit dem JTAG Clock Schiebregler erscheint bei mir sofort nachdem ich AVRStudio 5 geöffnet habe und ein Projekt ausgewählt habe. Danach muss nur noch über das seitliche Auswahlmenue (Build / Build Events Toolchain Device / Debugging) das Debugging ausgewählt werden - et voila. Das geht übrigens schon ohne angeschlossenen JTAGICE. Ergo - solltest du das nicht sehen, ist irgendwas mit deiner AVRStudio 5 Installation oberfaul.
Hallo, ich habe mich jetzt nocheinmal mit meinem Problem beschäftigt und folgende Lösung gefunden. In der Projektdatei " Test.avrgccproj "(mit Editor öffnen) im Projektordner war unter <JtagDbgClock>0</JtagDbgClock> die Fequenz nicht eingetragen, die habe ich auf 1000000 geändet. Bei mir mit AVR Dragon erscheint der Schieberegler für die Frequenz nicht! Ausserdem habe ich den <port>4711</port> fest vorgegeben auf 4711. Das ist der Standardport für das Programm avrdbg.exe in C:\Programme\Atmel\AVR Studio 5.0\avrdbg , welches ich vor dem starten von AVR Studio 5 direkt starte. In AVR Studio 5 muß man noch unter Extras -> Optionen -> Debugger den Debug Port fest vorgeben auf 4711, sodaß sich das Studio direkt mit dem schon gestarteten avrdbg.exe verbindet, dadurch verschwindet der AVR Dragon auch nicht mehr im Studio. Unter Taskmanager Prozesse sollte (darf) nur einmal avrdbg.exe auftauchen. Funktioniert bis jetzt einwandfrei und ich bin froh mit der neuen IDE arbeiten zu können. Arbeitserleichterungen sind meiner Meinung nach nichts schlechtes. Auch nochmal vielen Dank an Claus. Der Hinweis auf die Frequenz hat mich auf die richtige Spur gebracht. Natürlich ist das ein Fehler der Betaversion, deshalb heißt sie ja auch Beta. @Hannes Jaeger Dein Kommentar über "Visual Dreckszeug" zeigt meiner Meinung nach eindeutig, dass Du dich wohl noch nie ernsthaft mit den Entwicklungstools von MS beschäftigt geschweige denn, damit gearbeitet hast, ansonsten würdest Du wissen, daß bei der proffesionellen Arbeit mit z.B. Visual Studio 2010 vielleicht 1% mit dem Designer gearbeitet wird und dann auch nur damit lästige Oberflächengestaltung entfällt. Bei Projekten mit über 100 Dateien und zig Tausend Zeilen Code, bin ich froh für jede Hilfe, die mir das Schreiben von langweiligem Code erspart, sodaß ich mich um die interesanten Sachen kümmern kann. Aber natürlich könnte man das alles auch in einem Text-Editor schreiben, aber will man das?
nur zur Info. seit der AVR Studio 5 Release Version funktioniert die genannte Kombination von Geräten ohne irgendetwas zu ändern...
Kann ich so leider nicht bestätigen!
Stundenlang funktioniert Debugging nicht!
Target: AT90CAN128
Fehler:
10:51:49.005: [ERROR] TCF command: StackTrace:getChildren failed:
Code:3 ,Service:StackTrace ,Message from peer:Failed to execute command
with ID 0x07.
Unexpected sequence number: got 0x010d instead of 0x010e.
# Failed to execute command with ID 0x07.
# Unexpected sequence number: got 0x010d instead of 0x010e.
Lösung:
Um debuggen starten zu können:
Fuses müssen gesetzt sein für Jatag und On chip debug
Project properties:
Build
Configurations -> Debug
Build Events
Configurations -> Debug
Toolchain
Configurations -> Debug
Memory
Configurations -> Debug
Debugging
Jatag Clock -> 1/4 des System Clocks, besser noch: im KHz Bereich.
Jetzt funktioniert es wieder. Vorher kam er gar nicht zum Debuggen oder
flog raus.
Das komische: selbst nach Abspeichern der Einstellungen, sind diese z.T.
nach einem Neustart des AVR S5 wieder weg... Ferner, es funktionierte
Wochenlang zum Teil Problemlos...
Hoffe anderen damit helfen zu können...
MfG
OK, Habs nur richtig gefunden. Es liegt am Taktsignal des Jatag-Verbinders bei mir... Benutze den Dragon. Wenn man über 500 kHz geht, erkennt der Prozessor den Takt nicht mehr richtig und die Daten werden nicht mehr korrekt übertragen. Deswegen 500kHz maximal!
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.

