Forum: Mikrocontroller und Digitale Elektronik ATMega16u4 per JTAG Debuggen


von Gabriel M. (gabse)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich kämpfe gerade damit einen ATMega16u4 mit meinem nagelneuen PicKit4 
über JTAG zum Debuggen zu bekommen.
Es erscheint jedes mal die Fehlermeldung im Anhang.

Mein aktueller Aufbau ist wie folgt:
ATMega16u4-MU auf einer custom Platine mit 16MHz Quarz und Versorgung 
über USB
PickKit4 Debugger
PC mit AS7.0.2397

Was ich bisher probiert habe:
MCU per JTAG Flashen/Fuses Lesen&Schreiben: Funktionert
Anderer PC: Gleiches Verhalten
Update auf MicrochipStudio 7.0.2542: Gleiches Verhalten
Neues C "Blinki" Projekt: Gleiches verhalten
Neues Assembler "Blinki" Projekt: Gleiches verhalten
Atmega32u4(auf Arduino Micro Board) als Target: Gleiches verhalten
Atmega2560(auf Arduino Mega Board) als Target: Debuggen Funktioniert

Ich habe auch probiert das ganze mit MPLABX zu Debuggen, was aber auch 
nicht so richtig funktionieren wollte. Mir wäre ehrlich gesagt auch AS 
um einiges lieber.
Mich würde nun interessieren, ob jemand von euch schon mal den 
Mega16u4/32u4 debuggt hat, oder ob es sich um einen Bug mit dem PicKit4 
handeln könnte.

von Maxim B. (max182)


Lesenswert?

Gabriel M. schrieb:
> Mich würde nun interessieren, ob jemand von euch schon mal den
> Mega16u4/32u4 debuggt hat

32u4 geht mit JTAGICEII und AVR Studio 4.19 gut.

von Gabriel M. (gabse)


Lesenswert?

Hallo Maxim,
Hast du mal probiert ob es bei dir auch mit AS7 funktioniert?
Ich habe leider nur den PicKit4 der AVR JTAG Debuggen kann...

von Gabriel M. (gabse)


Lesenswert?

Hat sonst noch jemand eine PicKit4, oder einen anderen Atmel JTAG 
Debugger, und kann dieses Verhalten bestätigen?
Ich würde gerne eingrenzen, ob es an AtmelStudio, am PicKit4 oder am DAU 
vor dem PC liegt.

von Maxim B. (max182)


Lesenswert?

Gabriel M. schrieb:
> Hallo Maxim,
> Hast du mal probiert ob es bei dir auch mit AS7 funktioniert?

Bei mir funktioniert AS7 nicht, da ich Windows XP benutze.
Aber dafür geht AVR Studio 4.19 auf dem 10-jährigen Laptop und sogar 
zügig :)
Zum Versuch habe ich mal Windows 7 über eine virtuelle Machine 
installiert und dort mit AS7 versucht. Aber die braucht halbe Stunde für 
Starten :) Unbrauchbar. Deshalb habe ich Files aus dem AS7 genommen und 
in AVR Studio 4.19 kopiert. So habe ich aktuellen Compiler und schnelle 
IDE.

Gabriel M. schrieb:
> Ich habe leider nur den PicKit4 der AVR JTAG Debuggen kann...

Ich habe bei Chinesen eine Kopie von JTAGICEII für ca. 110 € gekauft, da 
Atmel/Microchip selbst das Gerät nicht mehr herstellt. Aber ich habe 
nicht geplant, PIC-Controller zu debuggen: ihre segmentierte SRAM macht 
mir Magenschmerz.

von Gabriel M. (gabse)


Lesenswert?

Maxim B. schrieb:
> Deshalb habe ich Files aus dem AS7 genommen und
> in AVR Studio 4.19 kopiert. So habe ich aktuellen Compiler und schnelle
> IDE.
Aus Interesse: Welche Files hast du genau kopiert?


Maxim B. schrieb:
> Aber ich habe
> nicht geplant, PIC-Controller zu debuggen: ihre segmentierte SRAM macht
> mir Magenschmerz.

Ich habe zwar auch nicht geplant PICs zu debuggen, Der PicKit4 kostet 
aber aktuell bei Mouser nur 51€, und kann Theoretisch HVSP und OTG 
Programmierung.

von Maxim B. (max182)


Lesenswert?

Gabriel M. schrieb:
> Aus Interesse: Welche Files hast du genau kopiert?

Zuerst habe ich avr-toolchain-installer-3.4.2.1573-win32.win32.x86.exe 
installiert, das ist letzte Toolchain mit Installator für WinXP.
Dann habe ich in Ordner c:\Program Files\Atmel\AVR Tools\AVR Toolchain\ 
alle gleichnahmigen Daten erneuert. avr-gcc-4.7.2.exe mit Unterstrich im 
Namen deaktiviert und avr-gcc-5.4.0.exe kopiert.

Komischerweise funktioniert alles gut :)
Somit habe ich (zum Unterschied von WinAVR-20100110 ) außer PROGMEM auch 
__FLASH. Ob gcc-5.4.0 besser optimiert als gcc-4.7.2, kann ich nicht 
sicher sagen.

Gabriel M. schrieb:
> Ich habe zwar auch nicht geplant PICs zu debuggen, Der PicKit4 kostet
> aber aktuell bei Mouser nur 51€, und kann Theoretisch HVSP und OTG
> Programmierung.

Ich fand den Preis etwas über 100 € noch als akzeptabel. Aus Erfahrung 
vermeide ich immer zu moderne Programme und Treibersysteme: ich habe 
gesehen, so machen oft die Profis. Als Beispiel: ca. im 2010 habe ich in 
einem Tonstudio gesehen, daß alles dort mit Windows2000 Läuft. Man hat 
mir damals erklärt, daß Windows2000 garantiert stabil läuft, während 
neuere Systeme immer noch Bugs haben und Erneuerungen notwendig sind... 
So kam ich zum Schluß: wenn etwas sicher läuft, dann bleibe ich bei dem 
Sicheren. :)

Deshalb habe ich Debugger gekauft, der mit WinXP läuft. Mir ist klar, 
daß ich damit auf neuerste ATMega verzichten muß. Das ist für mich aber 
keine Beschränkung: ich kann als Liebhaber sowieso nicht alles erlernen 
(irgendwann soll ich auch mal Orgel üben und Noten schreiben, dafür 
bekomme ich schließlich meinen Lohn :) ), deshalb habe ich mich für ein 
paar MEGA-Familien entschieden, die ich dann besser kennenlernen kann: 
324-644-1284, 88-168-328, 2560 und einige Tiny: 2313-4313 und 25-45-85. 
Ich glaube, das ist alles für einen Amateur mehr als ausreichend.

ATMega16u4 ist interessant, nicht nur wegen USB. Das ist ein von wenigen 
in der AVR-Familie mit Frequenz-PLL. Meistens aber reicht mir 644 oder 
1284. 88-168-328 sind beschränkt brauchbar, da nur DebugWire. Aber ich 
kann alle für mich fragwürdigen Funktionen zuerst auf einer 
Versuchsplatine mit 1284 testen.

von Gabriel M. (gabse)


Lesenswert?

An alle die es interessiert:
Das Problem war auf einen Bug in der PK4 Firmware in Zusammenhang mit 
dem Systemtakt (XTAL funktionierte nicht, Externer Oszillator oder 
interner RC funktionierte) beim Debuggen zurückzuführen. Der Fehler 
wurde in der aktuellen FW gefixt (V1.6.961).

Allen noch frohe Weihnachten und ein gutes neues 2021

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.