mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avrdude fuses manuell setzen?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Johnny S. (sgt_johnny)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Karl M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Karl M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist noch ein Tipp:

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

Autor: Johnny S. (sgt_johnny)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Klaus I. (klauspi)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johnny S. (sgt_johnny)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: der_dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
avrdude.exe -vvv -p m1284p -c stk500v1 -P COM8 -b 19200

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.