Ist vielleicht eine dumme Frage, aber gibt es eigentlich irgendwo (außer in der AVR Studio Hilfe) irgendwelche Infos zum AVR Dragon und zum Thema AVRs debuggen ? Bzw. kann mir jemand erklären, wie das Debuggen genau funktioniert ? Aus der Beschreibung des debugWire kann man entnehmen, dass der Code im Controller des zu debuggenden uC sein muss. Wofür benötigt der AVR Dragon dann die 32kByte SRAM ? Wenn man das Programm anhält, werden dann alle Takte im Zielcontroller gestoppt, so dass das ganze trotzdem noch synchron bleibt (z.B. die Timer und der ADC werden gestoppt, und benötigen nach dem Fortsetzen des Programms noch die verbleibenden Takte, ehe der Interrupt ausgelöst wird usw) ?
Du bist auch ueberwaeltigt durch die Flut von Informationen zum Dragon. Ja, geht mir auch so.
Willkommen im Club. Ich hab auch schon überlegt mir ne Arche zu bauen wegen der Informatiosflut. Die Hilfe geht und ich hab paar PDFs gezogen aber alles im allem recht dünn das ganze
Nach dem Auswählen des Projekts im Wizard. Aufnext klicken und dort das Gerät aus wählen wo man hat und dann auf der rechte seite den Prozessor auswählen. Hoffe es ist verständlich was ich meine.
Wie man debugged ist klar, aber mein Problem ist, wie verlässlich die Ergebnisse sind: Läuft z.B. der Watchdog und ich drücke Pause, wird der Watchdog dann sicher gestoppt, oder läuft der weiter und löst einen Reset aus ? Es geht mir vor allem darum zu verstehen, wie er Debugger funktioniert, nicht das ich am Ende Fehler suche, die garnicht da sind (da sie erst durch das Debuggen verursacht werden.) Hier mal noch ein Beispiel: Der ADC läuft und erzeugt einen Interrupt, dessen Frequenz irgendein anderes Timing beeinflusst. Debugge ich jetzt, und drücke Pause, dann gibt es 3 Möglichkeiten: a) Der ADC Takt läuft weiter, der ADC ist also früher fertig und das Timing kommt durcheinander. b) Der ADC Takt wird entsprechend gebremst, was aber das ADC Ergebnis zerstört, da der ADC kapazitiv arbeitet und die Leckströme die Kapazitäten entladen. c) Der ADC läuft ganz normal durch, der ADC Interrupt wird aber künstlich verzögert. Wäre möglich, aber dazu müsste man den AVR in Echtzeit emulieren. Die beiden AVRs auf dem AVR Dragon schaffen das nie, und dass der Simulator im AVR Studio das macht, glaube ich nicht.
Erstmal danke für die Antworten. Anscheinend gibt es aber wirklich nirgends eine Erklärung zu dem Ding. Das die Peripherie weiter läuft wenn die Software gestoppt ist, hätte ich auch vermutet, aber: Ich hatte eine Software die einen Timer als PWM verwendet, und an dem Pin kommt ein High Pegel raus wenn ich Pause drücke ! Daher kam ja erst überhaupt die Frage auf, ob das auch bei anderer Peripherie genauso ist. Ebenso natürlich auch die 32kB (128kByte SRAM Chip) auf dem Dragon. Andere Debugger brauchen sowas nicht. Weiterhin verwirrt mich diese Zeile im Datenblatt: "Emulates All On-chip Functions, Both Digital and Analog, except RESET Pin". Unter einem Emulator verstehe ich eigentlich etwas, das sich genauso wie der uC verhält, aber eben nicht der entsprechende uC ist. Also quasi wenn die Software im Dragon laufen würde, aber nur die Peripherie des entsprechenden uCs verwendet wird. Aber das ist ja wohl kaum möglich.
Also dass der AD eine bereits angestossene Wandlung wärend der Pause fertig macht, stelle ich auch fest. Das ist beim MK2 aber genauso. Timer, Watchdoch usw. bleiben aber stehen. Auch Hardware-SPI senden bleibt stehen, wenn ich das richtig beobachtet habe. Ich denke sowohl der Dragon, als auch der MK2 lassen das Programm zwar im Kontroller laufen (wie sollten sonst die die ganzen Steuerdaten schnell genug zum Kontroller kommen), halten aber ein exaktes flash-Speicherabbild bei sich. Der MK1 (bzw. seine Klone) hat ja kein SRAM, aber Debug geht trotzdem. Evtl. ist das nur eine "beschleunigung". Genauere Beschreibung wäre spannend. Gruß Fabian
Ich möchte obige Frage noch einmal aufgreifen: Gibt es mittlerweile eine separate Dokumentation zum Dragon? Applikation, Steckerbelegungen?
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.