Hallo miteinander, ich habe hier ein ATmega328P, den ich mit dem JTAGICE 3 über ISP sauber flashen kann. Wenn ich dann die FUSE DWEN setze kann ich auch debuggen, aber leider nicht programmieren. Das Verhalten hat mich schon richtig Nerven gekostet. Die Default Einstellung im AtmelStudio 6 SP2 unter Projektseite - Tool - programming Settings ist richtigerweise nicht "Skip programming" sondern "Erase only program area". Dadurch bricht bei mir ohne weiteres Zutun nach dem Start des Debuggens und dem automatisch folgenden vergeblichen Versuch des Progammierens des 328P über debugWire der Debug Modus ab und ich fand zunächst keine Möglichkeit, die DWEN Fuse wieder zurückzusetzen. Kennt jemand dies Verhalten? Gibt es noch was zu beachten um über debugWire nicht nur debuggen sondern auch programmieren zu können? Die Firmware im JTAGICE 3 ist aktuell, am RESET bzw. debugWIRE Pin gibt es keine PullUps oder Kondensatoren. Viele Grüße, Jürgen
Hi >Kennt jemand dies Verhalten? Ja. Ist normal. Wenn DW aktiviert ist geht kein ISP mehr da der Reset-Pin eine andere Funktion hat. >Gibt es noch was zu beachten um über >debugWire nicht nur debuggen sondern auch programmieren zu können? Wenn man das Debugging über DW startet wird das aktuelle Programm in den Flash geladen. Das Abschalten von DW sollte auch im Debugging-Mode möglich sein. Zumindest geht es beim 4er Studio dort. Das 6er tue ich mir nicht an. MfG Spess
Hallo Spess, ich versuche mich besser auszudrücken: Bei eingeschaltetem debugWire kann ich das vorher über ISP in den Controler geladenen Programm debuggen, wenn ich den automatischen Download des Programms über die debugWire Schnittstelle vorher abschalte. Das "normale" Debuggen mit vorherigem Download über debugWire endet immer im Abbruch des gesamten Debug Modus des Atmel Studios. Gäbe es diese Möglichkeit des Debuggens ohne vorherigen Download nicht, bekäme ich überhaupt kein Zugang mehr zum Controller, da DWEN nich mehr rücksetzbar wäre. Ich habe noch ein wenig mit den Fuses herum,gespielt, ohne Erfolg. Höchst merkwürdig das ganze! Viele Grüße, Jürgen
Ich habe mal die Logdatei des Studios angehängt. Vorgang: Start des Debuggers mit geführtem Einschalten der DWEN Fuse, dann Fehler meines Erachtens bei: 09:38:18.574: dbg ProcessesService::launch() failed: An invalid memtype was requested. Debugger command Memory write failed. "Manueller" erneuter Start des Debuggers mit Option "skip programming" und Rückschalten in den SPI Betrieb. Wem bei Atmel kann ich das schicken? Offensichtlich funktioniert die debugWire Geschichte, aber irgendwo im Bereich Ablaufsteuerung Studio Jtag ICE 3 AVR ATmega328p hängts, oder?
Hi Ich habe bei meine Atmega168 mit dem JTAGIC3 mit Studio 6.1 genau das selbe Problem. Ein zwei mal klappte es mit dem Debugwire und ISP Wechsel und dann nicht mehr. Jürgen, hast du oder jemand anders ne Lösung gefunden? Dank dem Debugsetting "Skip memory" um Debugwire wieder zu deaktivieren muss ich den SMD Print wenigstens nicht mehr in die Tonne werfen, kann jedoch nur noch mit ISP Code laden. Danke, Adrian
Gelöst, bei mir war das Problem, dass ich im Code die Fuse Bit gesetzt hatte, damit die im .elf für ISP drinn sind und nicht vergessen gehen. Klappt für den Release Build perfekt, jedoch zum Debuggen ergibt diese den Fehler Invaid Memtype, da, so wie ich das sehe, debugWire Fuses nicht setzten kann und dann abbricht. /* FUSES = // Set Fuses Bits { .extended = 0xF9, .high = 0xC7, .low = 0xE2, }; */ Gruss, Adrian
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.