Forum: Mikrocontroller und Digitale Elektronik AVR-JTAG-USB


von wopl (Gast)


Lesenswert?

Hallo,
ich habe mir einen AVR-JTAG-USB von Olimex gekauft. Mit AVR-Studio (V 
4.19) wird der auch erkannt. Mein Board enthält einen ATMega1281.

EEPROM und Fuses kann ich sowohl lesen als auch schreiben. Aber Flash 
geht irgendwie nicht. Lese und Schreibprozess laufen beide erfolgreich. 
Beim Lesen bekomme ich viele Nullen, Verifikation beim Schreiben schlägt 
fehl.

LockBits sind nicht gesetzt (0xFF).

Hat jemand noch eine Idee? Bin wirklich ratlos. Oder gibts ein 
grundlegendes Problem mit dem Olimex Teil und ATMega1281?

Dank für jeden Tip,
Wolfram

von letz switch (Gast)


Lesenswert?

JTAG fuse enabled?

von Frank K. (fchk)


Lesenswert?

wopl schrieb:

> Hat jemand noch eine Idee? Bin wirklich ratlos. Oder gibts ein
> grundlegendes Problem mit dem Olimex Teil und ATMega1281?

Das Olimex-Teil ist ein Nachbau vom alten AVR JTAG 1. Das kann den 1281 
noch nicht. Du hast am falschen Ende gespart. Mit dem Original von ATmel 
wärst Du nicht auf die Nase geflogen.

fchk

von wopl (Gast)


Lesenswert?

Und das, obwohl mir der 1281 angezeigt wird?
O.k., hatte sowas befürchtet. Ich muß ein paar Platinchen 
umprogrammieren und brauch es danach wohl nicht mehr... was ist denn 
eine preiswerte Alternative?

Dank,
Wolfram

von Frank K. (fchk)


Lesenswert?

Machs doch per ISP. Oder lässt das die Außen beschaltung nicht zu?

fchk

von wopl (Gast)


Lesenswert?

nein, geht leider nur JTAG

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


Lesenswert?

wopl schrieb:
> was ist denn
> eine preiswerte Alternative?

AVR Dragon

Im Prinzip müsste das durchaus auch mit der alten Hardware gehen.
Soweit ich weiß, wurde am Flash-Schreiben via JTAG in den AVRs
(vor Xmega) genau einmal etwas geändert.  Diese Änderung
widerspiegelt sich im JTAGICEmkII-Parameter "allowFullPageBitStream",
der steht für die alten AVRs (bis etwa ATmega128) auf 1, bei den
neuen auf 0.  Beim mkI konnte man diesen Parameter noch nicht
mitgeben, die Firmware musste das also implizit selbst wissen.

Nun könnte man vermuten, die alte Firmware würde das neuere Verfahren
gar nicht beherrschen.  Aber: die alte Firmware hatte als letzte
Ergänzungen in ihrer Lebenszeit noch Support für AT90CAN128 und
ATmega169 bekommen, und diese beiden AVRs arbeiten bereits nach dem
neuen Verfahren.  Die Firmware muss das also können.

Hier fällt es den Clonern auf die Füße, dass sich keiner von ihnen
je um eine eigene Firmware bemüht hat.  Alle haben sich damals nur
darauf verlassen, dass man dem AVR Studio das "Kuckucksei" unter-
schieben kann, und das kümmert sich dann schon darum, die Clones
mit einer originale Atmel-Firmware auszustatten.  Das ging aber eben
nur so lange gut, wie Atmel diese Firmware noch weiter entwickelt
hat.  Haben sie irgendwann aufgehört damit.

Du könntest versuchen zu behaupten, das Teil wäre ein AT90CAN128.
Vielleicht klappt's ja.  Wenn AVR Studio sich wegen der falschen
device signature weigert, kannst du's noch mit AVRDUDE und der
Option -F probieren; die bewirkt, dass der fehlerhafte Vergleich
der Signaturwerte ignoriert wird und trotzdem mit dem Programmieren
fortgefahren wird.

von wopl (Gast)


Lesenswert?

Hab mal ein bischen probiert, aber den anderen Typ unterzujubeln hat 
nicht funktioniert. Da werd ich mir wohl mal eine andere Hardware 
besorgen.

Irgendwer, der mir günstig einen MK2 oder sowas abtreten möchte?

Und... ich hätte da noch einen Original Olimex AVR-JTAG-USVB abzugeben 
:-)

Dank Euch allen und Gruß,
Wolfram

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


Lesenswert?

wopl schrieb:
> Hab mal ein bischen probiert, aber den anderen Typ unterzujubeln hat
> nicht funktioniert.

Du könntest noch in der Firmware die JTAG-ID des AT90CAN128 gegen
die des ATmega1281 tauschen. ;-)

> Irgendwer, der mir günstig einen MK2 oder sowas abtreten möchte?

Beitrag "[V] JTAG ICE mkII OVP"

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.