Forum: Mikrocontroller und Digitale Elektronik JTAG: Programmieren geht, debuggen nicht.


von Manfred Schreier (Gast)


Lesenswert?

Hi,

Ich benutze den USB JTAG Programmer von OLIMEX. Ich kann meinen ATMEGA32 
programmieren aber nicht debuggen, woran kann das liegen.

Muss ich bei AVRSTUDIO v 4.18 auf irgend welche Settings achten?


Danke

von Noli (Gast)


Lesenswert?

JTAG Fuse im ATmega enabled?

von Manfred Schreier (Gast)


Lesenswert?

Noli schrieb:
> JTAG Fuse im ATmega enabled?

ist das nicht im auslieferungs Zustand schon enabled?

von Manfred Schreier (Gast)


Angehängte Dateien:

Lesenswert?

Ist enabled (s.O)

von Uwe Bonnes (Gast)


Lesenswert?

Häufig ist der Verkabelung kritisch. Einfach Sachen gehen, komplexere 
nicht, z.B. ab einer gewissen Kabellänge...

von Sepp (Gast)


Angehängte Dateien:

Lesenswert?

Richtigen Debugger ausgewählt?

von Manfred Schreier (Gast)


Lesenswert?

Uwe Bonnes schrieb:
> ab einer gewissen Kabellänge...

Ist da das USB-Kabel auch entscheident?(Wahrscheinlich schon)

Sepp schrieb:
> Richtigen Debugger ausgewählt?

Ja JTAG ICE.


Bei der Vorgänger Version von AVRStudio 4 konnte man ein 
On-Chip-Debugging Fuse setzten. Wird das bei der Version automatisch 
gesetzt wenn JTAGEN gesetzt ist?

von Thomas E. (thomase)


Lesenswert?

Manfred Schreier schrieb:
> Bei der Vorgänger Version von AVRStudio 4 konnte man ein
> On-Chip-Debugging Fuse setzten. Wird das bei der Version automatisch
> gesetzt wenn JTAGEN gesetzt ist?
Mit JTAGICE MKII braucht man sich nicht darum kümmern. Aber bei deinem?
Setze es einfach. Schaden tut's nicht.

mfg.

von Manfred Schreier (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> Manfred Schreier schrieb:
>> Bei der Vorgänger Version von AVRStudio 4 konnte man ein
>> On-Chip-Debugging Fuse setzten. Wird das bei der Version automatisch
>> gesetzt wenn JTAGEN gesetzt ist?
> Mit JTAGICE MKII braucht man sich nicht darum kümmern. Aber bei deinem?
> Setze es einfach. Schaden tut's nicht.
>
> mfg.

hab ich, nutz nix.

Hab ein ca 1m langes usb kabel denke es liegt an dem. Was denkt ihr?

von cskulkw (Gast)


Lesenswert?

Die OCDEN - Fuse ist nicht gesetzt.
Die muss gesetzt sein, sonst ist das Debuggen auf dem Chip abgeschaltet.

von Manfred Schreier (Gast)


Lesenswert?

cskulkw schrieb:
> Die OCDEN - Fuse ist nicht gesetzt.
> Die muss gesetzt sein, sonst ist das Debuggen auf dem Chip abgeschaltet.

IST jetzt gesetzt!

von Thomas E. (thomase)


Lesenswert?

Manfred Schreier schrieb:
> Hab ein ca 1m langes usb kabel denke es liegt an dem. Was denkt ihr?
Ein Meter ist ja fast das kürzeste, was es gibt.
USB-2,5"-HDs funktionieren damit auch. Aber mit 1,5m nicht mehr. Da ist 
es wohl ein Stromversorgungsproblem.
Vielleicht liegt es bei dem Debugger auch daran. Evtl. dickeres Kabel 
nehmen?
Zu kurz wird es wohl nicht sein.

Auf jeden Fall aber direkt am PC stöpseln. Ohne Hub.
mfg.

von Uwe Bonnes (Gast)


Lesenswert?

Die USB Verkabelung meldet sich mit Fehlern im USB Protokoll. Dann kommt 
gar keine JTAG Verbindung zustande. Die Verkabelung zwischen USB-Adapter 
und JTAG Device ist kritischer. Dort gibt es Klingeln, Uebersprechen und 
Wackelkontakte...

von Manfred Schreier (Gast)


Lesenswert?

Also sollte ein kürzeres USB-Kabel das Problem nicht beheben?!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Manfred Schreier schrieb:
> Ich kann meinen ATMEGA32
> programmieren aber nicht debuggen, woran kann das liegen.

JTAG-Taktfrequenz zu hoch.  Die muss kleiner als 1/4 der CPU-Frequenz
sein beim Debuggen (beim Programmieren darf sie beliebig hoch sein, da
JTAG dann den clock master spielt).  Da ein ATmega32 im
Auslieferungszustand mit 1 MHz CPU-Takt betrieben wird, muss man mit
weniger als 250 kHz JTAG-Takt debuggen, oder man setzt (per Fuse) die
CPU-Frequenz hoch.

von Manfred Schreier (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> JTAG-Taktfrequenz zu hoch.  Die muss kleiner als 1/4 der CPU-Frequenz
> sein beim Debuggen (beim Programmieren darf sie beliebig hoch sein, da
> JTAG dann den clock master spielt).  Da ein ATmega32 im
> Auslieferungszustand mit 1 MHz CPU-Takt betrieben wird, muss man mit
> weniger als 250 kHz JTAG-Takt debuggen, oder man setzt (per Fuse) die
> CPU-Frequenz hoch.

Hat sich sehr vielversprechend angehört.

Hab nun F_CPU auf 8MHz gesetzt und es funktioniert immernoch nicht :(

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Manfred Schreier schrieb:
> Hab nun F_CPU auf 8MHz gesetzt und es funktioniert immernoch nicht :(

Es genügt aber nicht, dass du in deinem Programm F_CPU änderst,
ja?

Du musst dich auch schon irgendwie physisch drum kümmern, dass die
CPU schneller läuft.  Bei einem ATmega32 bedeutet das zwangsläufig
eine Änderung der Fuses.

von Manfred Schreier (Gast)


Lesenswert?

Jörg Wunsch schrieb:
> Änderung der Fuses

Ja klar, hab ich gemacht.

seh ich auch an einer blinkenden LED, dass es geklappt hat.

von Manfred Schreier (Gast)


Lesenswert?

Und wie setze ich die JTAG Frequenz herrunter?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nun kannst du, wenn du Laune hast, noch gucken, ob AVaRICE mit dem
Teil zurecht kommt.  Aber auch da ist der Code für das JTAGICE mkI
schon lange nicht mehr angefasst worden.  Vielleicht bekommst du
ja zumindest bessere Fehlermeldungen; mit der Option -d kannst du
auch sehen, was da an Kommunikation mit dem ICE passiert.

Wenn das auch nicht geht, würde ich das alte Teil in die Ecke legen
und einen AVR Dragon benutzen.

Manfred Schreier schrieb:
> Und wie setze ich die JTAG Frequenz herrunter?

Bei AVaRICE mit der Option -B.

Bei AVR Studio hab' ich keine Ahnung.  No Gates, no Windows here.

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.