Forum: Mikrocontroller und Digitale Elektronik mega32m1 Fuses falsch


von Jürgen (derkleinemuck)


Lesenswert?

Ich wollte die Fuses mit avrdude setzen und habe aus Versehen den 
falschen Prozessor (644p) angegeben. Jetzt kann ich zwar die Fuses 
auslesen aber nicht mehr ändern.
Soll (16 MHz Quarz, leider super mini SMD):
L: 7F
H: D9
E: F9

Ist:
L: FF
H: DA
E: FF

Kein Ersatz vorhanden (Sonntag und auch nicht gerade billig) - also: 
irgendeine rettende Idee?

Frohen 1. Advent

von Oliver S. (oliverso)


Lesenswert?

Mal mit einer ganz niedrigen SPI-Frequenz probiert?

Oliver

von Wastl (hartundweichware)


Lesenswert?

Jürgen schrieb:
> Jetzt kann ich zwar die Fuses
> auslesen aber nicht mehr ändern.

Beitrag "Re: Timing-Problem"

von Steve van de Grens (roehrmond)


Lesenswert?

Jürgen schrieb:
> Ist:
> L: FF
> H: DA
> E: FF

Das sind die Werte für einen Quarz mit 8 - 16 MHz. Damit sollte er 
problemlos ansprechbar sein.

Da dies nicht der Fall ist, vermute ich einen Fehler im Schaltplan oder 
Aufbau. Zeige mal deinen Plan und Fotos vom Aufbau, samt Stromversorgung 
und Programmieradapter.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Jürgen schrieb:
> Ich wollte die Fuses mit avrdude setzen und habe aus Versehen den
> falschen Prozessor (644p) angegeben.

Das funktioniert standardmäßig nicht wegen der Signaturprüfung. Wie 
lautete deine Kommandozeile?

von Veit D. (devil-elec)


Angehängte Dateien:

Lesenswert?

Hallo,

habe das einmal gegenübergestellt und die Unterschiede gelb unterlegt. 
Du hast für jetzt praktisch relevant "nur" den 1/8 Teiler aktiviert. 
Also musst du nur den Programmiertakt niedriger einstellen. Dann kannste 
neu fusen. An den Quarzeinstellungen hast du glücklicherweise nichts 
geändert.

von Steve van de Grens (roehrmond)


Angehängte Dateien:

Lesenswert?

Veit D. schrieb:
> Du hast für jetzt praktisch relevant "nur" den 1/8 Teiler aktiviert.

Nö.

Das CKDIV8 Bit hat den Wert 1 bekommen, deswegen wird der Takt nicht 
geteilt. Er hat den Teiler nicht aktiviert, sondern deaktiviert. Diese 
Fuses sind aktiv (programmed), wenn sie auf 0 stehen.

Der Engbedded Fuse Calculator zeigt es richtig an.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Hallo,

ja stimmt, der Teiler ist deaktiviert, steht ja selbst in meinem 
Kommentar drin. Demnach müßte der µC normal programmierbar sein, wenn er 
vorher schon funktioniert hat. Meine Zweifel beziehen sich nämlich genau 
darauf.
Hat der TO schon einmal programmieren können?
Weil wie gesagt, die Signaturprüfung verhindert ein flashen für einen 
falsch angegebenen µC. Will damit sagen, der Eingangstext ist irgendwie 
komisch. Irgendwas passt nicht zusammen.

von Jürgen (derkleinemuck)


Lesenswert?

Tja, leider mit -F gefused:
1
avrdude -p atmega644p -F -P usb -c avrispmkII -B 1.5 -U hfuse:w:0xDA:m -U lfuse:w:0xFF:m -U lock:w:0xFC:m

Ich hatte die Zeile kopiert und in MS-DOS kopiert. Wollte sie natürlich 
noch ändern aber hatte dummerweise das Zeilenende mit kopiert, also 
wurde es beim einfügen gleich ausgeführt :-(
Wie gesagt: auslesen klappt noch.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Jürgen schrieb:
> Tja, leider mit -F gefused

Gewöhne dir das ganz schnell wieder ab. Den Parameter -F braucht man 
nur, wenn man absichtlich etwas kaputt machen will und danach als Depp 
dastehen will.

von Wastl (hartundweichware)


Lesenswert?

Jürgen schrieb:
> avrdude -p atmega644p -F -P usb -c avrispmkII -B 1.5 -U hfuse:w:0xDA:m
> -U lfuse:w:0xFF:m -U lock:w:0xFC:m

Ist ja echt übersichtlich und aussagekräftig.

von Steve van de Grens (roehrmond)


Lesenswert?

Wenn du Kommandozeilen aus irgendwelchen Formatierten Dokumenten (insb. 
Webseiten) kopierst, besteht immer die Gefahr, dass da verborgene Sachen 
drin stehen, die du nicht direkt siehst.

Also Kommandos immer zuerst in einen Plain-Text Editor kopieren, 
kontrolliere und erst dann ausführen.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Jürgen schrieb:
> leider mit -F gefused:
Der Parameter hat schon viel Leid verursacht....

Jürgen schrieb:
> Wie gesagt: auslesen klappt noch.
Das ist doch gut!
Dann sollte alles andere auch gehen.

Was fällt mir ein?:
Takt unsauber
Abblockkonsatoren
Versorgung unsauber
ISP Takt herabsetzen

von Steve van de Grens (roehrmond)


Lesenswert?

Wo sind denn jetzt Schaltplan und Bilder vom Aufbau?

von Steve van de Grens (roehrmond)


Lesenswert?

Wastl schrieb:
> Ist ja echt übersichtlich und aussagekräftig.

Deswegen gibt es ja GUIs dazu. Aber hier langatmig zu schreiben, was in 
welcher Reihenfolge angeklickt wurde, wäre schlechter gewesen. Irgend 
eine wichtige Info fehlt dann nämlich erfahrungsgemäß immer.

: Bearbeitet durch User
von Veit D. (devil-elec)


Lesenswert?

Jürgen schrieb:
> Tja, leider mit -F gefused:
>
>
1
avrdude -p atmega644p -F -P usb -c avrispmkII -B 1.5 -U 
2
> hfuse:w:0xDA:m -U lfuse:w:0xFF:m -U lock:w:0xFC:m

Du hörst zu zeitig auf.
Wie lautet die korrigierte Kommandozeile die du danach eingegeben hast 
hast?
Was gibt avrdude als Fehler aus?

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.