Welche werte müssen die Fuses der ATmega32 enthalten ?

Hier könnt ihr Diskussionen über die Software des Labornetzteiles des c't-Lab führen.
Antworten
blip
Beiträge: 4
Registriert: 10.02.2008, 13:43
Kontaktdaten:

Welche werte müssen die Fuses der ATmega32 enthalten ?

Beitrag von blip »

Hallo zusammen,

bin gerade dabei mein DCG fertig zustellen und die Firmware zu flashen.
Leider hat mein Laptop weder Parallel- noch Serielport und so kommt der
auf der Heise-Seite erwähnte Programmer für mich wohl eher weniger in
Frage - das ist auch nicht mein Problem, ich habe einen funktionierenden
USB Programmer. Nur kann Ponyprog den irgendwie nicht ansteuern,
ich benutze avrdude.
Jetzt hab ich aber das Problem, dass ich mich noch nicht so toll mit den AVR's
auskenne und nicht weiss, welche Werte die LFuses und die HFuses haben
sollen - in Ponyprog kann man das ja ganz toll zusammenklicken, was er
aber letztendlich in den AVR programmiert habe ich nirgends gefunden.

Kann mir da jemand vielleicht bitte weiterhelfen ?
Besten Dank im Voraus,

Blip
Zuletzt geändert von blip am 08.04.2008, 09:07, insgesamt 1-mal geändert.
psclab38
kann c't-Lab-Konstrukteure konstruieren
kann c't-Lab-Konstrukteure konstruieren
Beiträge: 942
Registriert: 25.01.2008, 23:34

Beitrag von psclab38 »

> Jetzt hab ich aber das Problem, dass ich mich noch nicht so toll mit den AVR's
auskenne und nicht weiss, welche Werte die LFuses und die HFuses haben
sollen -

CM hat da eine schöne Anleitung (für PonyProg) erstellt, aber da sind auch die richtigen Fuse-Settings erwähnt. Wenn Du das nicht schon kennst, dann schau mal bitte hier:

http://www.heise.de/ct/projekte/machmit ... areFlashen
Viele Grüße
Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 262
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Re: Welche werte müssen die Fuses der ATmega32 enthalten ?

Beitrag von thoralt »

blip hat geschrieben:Jetzt hab ich aber das Problem, dass ich mich noch nicht so toll mit den AVR's auskenne und nicht weiss, welche Werte die LFuses und die HFuses haben sollen - in Ponyprog kann man das ja ganz toll zusammenklicken, was er aber letztendlich in den AVR programmiert habe ich nirgends gefunden.
Kuckst Du hier:
http://thoralt.ehecht.com/wiki/index.ph ... re_flashen

Da gibt es auch einen großen Abschnitt über die Benutzung von avrdude im Zusammenhang mit dem c't-Lab.

Viele Grüße
Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.
blip
Beiträge: 4
Registriert: 10.02.2008, 13:43
Kontaktdaten:

Re: Welche werte müssen die Fuses der ATmega32 enthalten ?

Beitrag von blip »

@psclab38
Doch, das kannte ich schon.
Habe mich etwas unklar ausgedrückt, mit "Werte der Fuses" meinte ich
nicht, welche setzen und welche nicht, sondern welche Hex-Werte.

@toralt:
thoralt hat geschrieben: Kuckst Du hier:
http://thoralt.ehecht.com/wiki/index.ph ... re_flashen
Das ist genau das was ich brauchte !
Von den heise.de Seiten gibt da keinen Link hin,
oder hab ich den übersehen ? Der Link zum "Fuse Bits Calculator" ist gut,
aber die richtigen Werte kenn ich jetzt ja schon. Vielen Dank !

(10 Minuten später)
Der AVR mag mich (oder meinen Programmer) nicht :-(
Wenn ich avrdude im Terminalmode nutze (mit .... -u -t), sagt er das:
avrdude> w lfuse 0 0x3f
>>> w lfuse 0 0x3f
avrdude (write): error writing 0x3f at 0x00000, rc=-1
write operation not supported on memory type "lfuse"
avrdude (write): error writing 0x3f at 0x00000 cell=0xe1

Mit der Kommandozeile wie auf der Seite oben kommt auch ne Fehlermeldung:
Writing |################################## | 100% 0.00s
avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xCF:
avrdude: load data hfuse data from input file 0xCF:
avrdude: input file 0xCF contains 1 bytes
avrdude: reading on-chip hfuse data:
Reading |################################# | 100% 0.01s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0xcf != 0x99
avrdude: verification error; content mismatch

Woran könnte das nun liegen ?
Das flash und eeprom konnte ich erfolgreich programmieren !

Blip
Zuletzt geändert von blip am 08.04.2008, 09:07, insgesamt 1-mal geändert.
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Re: Welche werte müssen die Fuses der ATmega32 enthalten ?

Beitrag von amd-65 »

blip hat geschrieben: (10 Minuten später)
Der AVR mag mich (oder meinen Programmer) nicht :-(
Wenn ich avrdude im Terminalmode nutze (mit .... -u -t), sagt er das:
Funktioniert das Lesen der Fuses? Bei einem 'jungfräulichen' ATMega mußt Du den Clock vom Programmer reduzieren, da der ATMega nur mit 1MHz läuft.

Gruß
amd-65
blip
Beiträge: 4
Registriert: 10.02.2008, 13:43
Kontaktdaten:

Beitrag von blip »

Ja, das lesen funktioniert.
Ich lese 0xe1 für die lfuse und 0x99 für die hfuse, was nach intensivem
Datenblattstudium die Werte für einen jüngfräulichen atmega32 sind, wenn
ich korrekt gerechnet habe.

Aber schreiben geht nicht. Es scheint, als wäre das in meinem Programmer
einfach nicht implementiert :-(
Ich hatte dann die Idee, per "send" Befehl im Terminalmode des avrdude
direkt den Fuse-Programm-Befehl zu schicken (da ich durch meine Unkenntnis
nicht den Controller verhunzen wollte, wollte ich das zuerst mit einem
"ungefährlichen" Befehl - Read Fuse - ausprobieren) :
avrdude> send 0x50 0x00 0x00 0x00
>>> send 0x50 0x00 0x00 0x00
The avr910 programmer does not support direct ISP commands.
Na toll :-( Der Programmer war wohl ein Fehlkauf :-(
Werde demnächst mal den auf der c´t-Lab Seite beschriebenen ParPort-
Programmer zusammenfrickeln und mir irgendwo einen Rechner mit
ParPort leihen.
Langfristig hätte ich schon gern einen eigenen USB Programmer.
Hat jemand Erfahrungen mit dem neuen Programmer von tuxgraphics,org ?

Grüsse,

Blip
Benutzeravatar
thoralt
Site Admin
Site Admin
Beiträge: 262
Registriert: 10.04.2006, 08:48
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von thoralt »

blip hat geschrieben:Na toll :-( Der Programmer war wohl ein Fehlkauf :-(
Ich nutze schon seit Monaten (neben dem AVRDragon) den usbprog:
http://www.ixbat.de/index.php?page_id=147

Ich habe damals von dem Kollegen dort die Version 2.0 gekauft. Mittlerweile gibt's schon 3.0. Der kann auch einiges mehr als nur AVRs flashen. Es existiert ein ganzer Pool an Firmwares, welche in den Programmer geladen werden können und dieser agiert dann als AVR-Programmer, JTAG-Adapter, serielle Schnittstelle, ...

Vielleicht wär' das was für Dich?

Viele Grüße
Thoralt
There are 10 kinds of people in this world: Those who understand binary and those who don't.
amd-65
kann c't-Lab-Module konstruieren
kann c't-Lab-Module konstruieren
Beiträge: 130
Registriert: 29.11.2007, 16:28

Beitrag von amd-65 »

blip hat geschrieben:Aber schreiben geht nicht. Es scheint, als wäre das in meinem Programmer
einfach nicht implementiert :-(
Hast Du das auch mal mit AVR-Studio unter Windows versucht?

Hat jemand Erfahrungen mit dem neuen Programmer von tuxgraphics,org ?
Ich benutze einen Nachbau davon in AVR-Studio unter Windows.

Gruß
amd-65
blip
Beiträge: 4
Registriert: 10.02.2008, 13:43
Kontaktdaten:

Beitrag von blip »

@thoralt:
Ja, über den hab ich auch schon nachgedacht. Ich glaube, der wurde mal in
der Elektor erwähnt ?
So wie ich es verstehe, bräuchte ich da halt einen funktionierenden
Programmer, um den Bootloader auf den Programmer zu bringen :-/

@amd-65:
Nein, hab schon seit Jahren kein MS-Windows mehr daheim.
Ich denke da auch an einen Nachbau, weil mir die direkt verlöteten Kabel
nicht passen, ansonsten gefällt mir das Kozept der Schaltung sehr gut,
weil man da keinen anderen Programmer braucht um die Firmware in den
Programmer zu bringen.
Achja, den Programmer Clock zu reduzieren hatte ich auch versucht, ohne
Erfolg.

Wahrscheinlich werde ich dieses Wochenende schnell einen Parport-
Programmer zusammenlöten und mir einen PC mit Parport ausleihen.
Dann hab ich etwas Zeit gewonnen, mir die USB-Programmer Sache zu
überlegen, und nebenbei hätte ich dann ja einen Programmer um die
Firmware in den usbprog zu bringen ;-)

Trotzem danke für eure Hilfe !

Blip
Antworten