Forum: Mikrocontroller und Digitale Elektronik JTAGICE 3 debugWIRE debuggen geht, programmieren nicht?


von Juergen H. (juergen_h)


Lesenswert?

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

von Spess53 (Gast)


Lesenswert?

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

von Juergen H. (juergen_h)


Lesenswert?

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

von Juergen H. (juergen_h)


Angehängte Dateien:

Lesenswert?

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?

von Adrian K. (akummer)


Lesenswert?

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

von Adrian K. (akummer)


Lesenswert?

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