Forum: Mikrocontroller und Digitale Elektronik avrdude fuses manuell setzen?


von Johnny S. (sgt_johnny)


Lesenswert?

Hallo zusammen,

Ich versuchte vergeblich auf einem Atmega1284p einen Arduino-Bootloader 
zu installieren.

Zuerst wurde mir dauernd eine device-id von 0x00000 angzeigt.Nach dem 
umverdrahten ging dann der flash-prozess aber brach leider ab.

Fehlermeldung:

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xdf != 0xd6
avrdude: verification error; content mismatch


Wenn man nun mit Arduino den Sketch via Programmer hochladen will geht 
das zwar, nur scheint die Clock falsch zu sein. 100ms sind optisch 
geschätzt 1000ms, also gehe ich davon aus das der Atmega1284p mit 1 Mhz 
internem Oszillator statt 8Mhz extern arbeitet.  Stellt man in der IDE 
auf 1Mhz um, sind die 100ms optisch korrekt. Nun löst das leider das 
Problem nicht, da andere Programmmteile mit 1Mhz vieeel zu lange dauern.




Ich habe nun mal mit arvdude in der Console rumegespielt:

Der "Befehl" = 
-CC:\Users\Jonathan\AppData\Local\Arduino15\packages\MightyCore\hardware 
\avr\2.0.0/avrdude.conf  -v -patmega1284p -cstk500v1 -PCOM8 -b19200

ergibt bei mir:


avrdude: Device signature = 0x1e9705 (probably m1284p)
avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF

avrdude: safemode: hfuse reads as DF
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:DF, L:62)

avrdude done.  Thank you.


Scheinbar sind die fuses tatsächlich falsch denn wenn man die gesezten 
fuses mit dem http://www.engbedded.com/fusecalc/ anschaut, erscheint 
beim Oscillator etwas mit "Int RC Osc.".

Mir scheint es so dass dies nun irgendwie gesichert ist, und ein 
erneutes flashen nicht möglich ist??

Auch verwirrend ist das Wort "safemode" beim avrdude, so als wäre 
irgendwie ein Schreibschutz vorhanden.


Da ich keinerlei Erfahrung mit Avrdude habe, möchte ich hier mal 
nachfragen ob man irgendwie trotzden flashen kann, bzw. den Mega auf 
"Werkseinstellung" zu bringen

von Karl M. (Gast)


Lesenswert?

Hallo,

Sucht man nach Avrdude, kann man einfach dieses PDF nutzen.

Wenn der ISP nicht funktioniert, kann dass unterschiedliche Gründe habe.

Ein Schaltplan vom Projekt und Bilder sind dann immer für die Leser 
sinnvoll.

Sonst kann man nur 1000 Vermutungen anstellen und nicht systematisch 
vorgehen.

von Karl M. (Gast)


Lesenswert?


von Karl M. (Gast)


Lesenswert?

Hier ist noch ein Tipp:

-patmega1284p ist als Parameter richtig nur die Auswahl ist falsch !

von Johnny S. (sgt_johnny)


Lesenswert?

Karl M. schrieb:
> Hier ist noch ein Tipp:
>
> -patmega1284p ist als Parameter richtig nur die Auswahl ist falsch !

Wie meinst du das? Ich verwende einen 1284p, steht auch so auf dem IC 
drauf?

von Klaus I. (klauspi)


Lesenswert?

Johnny S. schrieb:
> -v -patmega1284p -cstk500v1 -PCOM8 -b19200

Vielleicht meint Karl, dass Du "-patmega1284p" in "-p m1284p" ändern 
sollst?

Avrdude scheint ihn ja als solches zu erkennen
> avrdude: Device signature = 0x1e9705 (probably m1284p)

Die korrekte Bezeichnung für den Parameter "-p ..." ist dem Handbuch / 
der Website zu entnehmen - Zumindest aus einem aktuellerem, als dem von 
Karl verlinktem.

Hier bist Du direkt an der Quelle:
http://www.nongnu.org/avrdude/user-manual/avrdude_4.html#Option-Descriptions

von Johnny S. (sgt_johnny)


Lesenswert?

Mitlerweilen hat sich herausgestellt das sich der MCU generell sehr 
merkwürdig verhält

(kein RS232 möglich, unbestimmbares Pin verhalten)

Desshalb glaube ich dass der MCU entweder defekt oder sonst was an der 
Schaltung schlecht ist

von der_dude (Gast)


Lesenswert?

avrdude.exe -vvv -p m1284p -c stk500v1 -P COM8 -b 19200

von Stefan F. (Gast)


Lesenswert?

> -p atmega1284p

Geht auch. Ich benutze in meinem Makefile immer den gleichen Wert wie 
für den -mmcu Parameter des Compilers.

Safemode hat nichts mit Schreibschutz zu tun. Das ist eine Funktion 
innerhalb von avrdude und meint, dass er den Schreibzugriff auf die 
Fuses mehrmals wiederholt, wenn es nicht geklappt hat. Solange man noch 
keinen Power-Cycle gemacht hat gelten nämlich noch die alten Fuses und 
man kann es nochmal versuchen.

Lade Dir mal AVR-Burn-O-Mat von der Seite 
http://stefanfrings.de/avr_tools/index.html herunter, das könnte für 
dich hilfreich sein.

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.