Forum: Mikrocontroller und Digitale Elektronik [Gelöst] AVR Butterfly: Probleme bei der Übertragung


von Joscha L. (jowutal)


Lesenswert?

Hallo zusammen,

ich möchte gerne wieder ein bisschen mit meinem Butterfly (damals für 
die Uni angeschafft) rumspielen, um eine Lichtertafel mit ein paar 
Schieberegistern anzusteuern.
Damals in der Uni hat das mit dem Umproggen des Butterfly auch wunderbar 
funktioniert.
Nach nun 5 Jahren hab ich das Ding wieder ausgebuddelt und in Betrieb 
genommen. Das letzte Programm von damals läuft auch noch (zeigt nur 
meinen Namen auf dem Display).

Jetzt möchte ich gerne ein neues Programm auf den Butterfly laden. Dazu 
habe ich die Software von damals wieder installiert (AVR Studio 4, 
WinAVR2010) und mal versucht, meine alten Uni-Projekte (die alle 
funktionierten) zu laden.
WinAVR:Make All läuft ohne Compiler-Fehler durch und WinAVR:Make Prog 
(avrdude: Conneting to Programmer..., Butterfly-Bootloader: 
Joystick-Klick, avrdude: writing...success) zeigt auch keine Fehler.
Die Kommunikation über den (echten, nicht USB) RS232-Port scheint auch 
zu funktionieren, denn sonst würde avrdude ja nicht reagieren.

ABER: es läuft immer nur das alte Programm wieder an. Egal, was ich 
versuche, in den Butterfly zu laden.

Hat vielleicht jemand eine Idee oder einen Tipp für mich?
Ich hatte überlegt, ob es an Win7x64 liegt, habe aber gerade keinen 
Rechner mit XP zur Hand.

Ich würde mich sehr über eure Hilfe freuen.
Vielen Dank vorab.

Viele Grüße,
Joscha

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

AVRDude mit verify ausprobiert? Verify erfolgreich? Testweise mit 
AVRPROG aus dem AVRStudio 4 ausprobieren - auch mit verify. Wenn richtig 
erinnert, ist AVRProg dort im Tools-Menü verfügbar, ist aber auch eine 
eigenständige "EXE-Datei" im Installationsverzeichnis von AVRStudio 4.

AVRProg und AVRDude können auch Look-Bits anzeigen. Wie sind diese 
eingestellt? Es gab vor vielen Jahren eine Serie Butterflys mit einem 
Bootloader, der Look-Bits setzen konnte. Falls man sich damit 
ausgesperrt hat (Indiz: Verify-Error), hilft nur den ATmega169 per ISP 
zu löschen (Chip Erase) und den Bootloader, möglichst in einer Version, 
die keine Locks setzen kann, aufzuspielen.

von Joscha L. (jowutal)


Lesenswert?

Hallo Martin,

vielen Dank für deine schnelle Antwort.
Ich habe nun avrdude mit Verify und ARVPROG ausprobiert. Bei beiden 
bekomme ich einen Verify-Fehler:
1
avrdude: verifying ...
2
avrdude: verification error, first mismatch at byte 0x0000
3
         0x0c != 0x00
4
avrdude: verification error; content mismatch

Ich habe dann mal die Fuse-Bits ausgelesen, habe aber im Netz nicht 
finden können, ob diese so korrekt sind:
1
avrdude: Device signature = 0x1e9405
2
avrdude: safemode: lfuse reads as E2
3
avrdude: safemode: hfuse reads as 98
4
avrdude: safemode: efuse reads as FF
5
avrdude: current erase-rewrite cycle count is -687811840 (if being tracked)
6
7
avrdude: safemode: lfuse reads as E2
8
avrdude: safemode: hfuse reads as 98
9
avrdude: safemode: efuse reads as FF
10
avrdude: safemode: Fuses OK
11
12
avrdude done.  Thank you.

Wenn die Fuses falsch sind, muss ich mir wohl nen ISP-Progger besorgen, 
oder?
Kannst du mir da Tipps geben, welchen ich nehmen soll und wie ich dann 
damit die Fuses auf korrekte Werte einstelle?

Vielen Dank nochmals!
Viele Grüße,
Joscha

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Joscha L. schrieb:
>...
> Wenn die Fuses falsch sind, muss ich mir wohl nen ISP-Progger besorgen,
> oder?

Einstellungen kann man anhand des Datenblattes prüfen, wichtig sind die 
Lock-Bits, denn die hat seinerzeit der problematische Bootloader 
gesetzt. Fuse-Bits kann ein Bootloader bei diesem Controller nicht 
ändern. AVRProg müsste die Lock-Einstellung auch in Klarschrift 
ausgeben.

Ah - noch was - ist die Stromversorgung stabil? Im Zweifel vor weiteren 
Aktionen erstmal externe Spannungsversorgung anbinden oder zumindest 
Batterie gegen eine neue tauschen.

> Kannst du mir da Tipps geben, welchen ich nehmen soll und wie ich dann
> damit die Fuses auf korrekte Werte einstelle?

Würde den günstigsten von Atmel nehmen (müsste immer noch AVRISP MK2 
sein), STK500/600 ist noch praktischer aber teurer. Es sollte aber jeder 
AVR ISP-Programmer funktionieren, sofern dieser mit 3,3V  zurecht kommt. 
Anschaffung, nur um den Schreib/Leseschutz eines ATmega169 zu löschen 
und den Bootloader neu einzuspielen, lohnt aber nicht wirklich, ein 
neuer BF kommt günstiger. Vielleicht findet sich jemand mit einem 
AVR-ISP Programmer in der Nähe, der helfen kann. Falls nicht, kann ich 
anbieten, das Teil hier gegen Portokosten per STK500 mit einem "guten" 
Bootloader zu versehen, bei Interesse PM.

Die Fuses selbst bei ISP unangetastet lassen. Nur die Locks löschen, das 
passiert automatisch, wenn per ISP ein "Chip Erase" auslöst wird.

von Joscha L. (jowutal)


Angehängte Dateien:

Lesenswert?

Hallo Martin,

hab mir nun mit AVRProg die Lockbits anzeigen lassen (siehe Screenshot 
im Anhang). Wenn ich auf "Read" klicke, wird immer wieder "Mode 1 - No 
program lock features"" gelesen. Dann sollte doch eigentlich alles 
funktionieren...
Könntest du dann trotzdem was machen? Vielen Dank übrigens für das 
Angebot! :)

Hab gestern auch mal ne externe Spannungsquelle angeschlossen und auch 
mal nen alten XP-Rechner ausprobiert -> immer das gleiche Ergebnis ?!?

Vielen Dank für deine Hilfe, auch für die Tipps zum AVR-Progger!

Viele Grüße aus Wuppertal,
Joscha

von Joscha L. (jowutal)


Lesenswert?

Guten Morgen zusammen,

habe das Problem mit dem AVRISP Mk II gelöst. Ein Chip-Erase und 
anschließendes Flashen des Bootloaders Rev02 hats gebracht :)

Vielen Dank an alle Helfer für die Tipps!

@Martin: Ist der Rev2-Bootloader in Ordnung? Ich habe keine neuere 
Version im Netz gefunden...

Viele Grüße,
Joscha

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.