Forum: Mikrocontroller und Digitale Elektronik ArduinoNano mit avrdude flashen - verification error; content mismatch


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.
von Felix (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe einen Arduino Nano bekommen und wollte diesen Flashen. 
allerdings bekomme bekomme ich dabei Probleme, die ich nicht ganz 
entziffern kann.
Output
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.00s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: reading input file "C:\Users\Documents\Atmel 
Studio\7.0\Projects\stripeClock\stripeClock\Debug\stripeClock.hex"
avrdude.exe: writing flash (7934 bytes):

Writing | ################################################## | 100% 
1.56s

avrdude.exe: 7934 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\Documents\Atmel 
Studio\7.0\Projects\stripeClock\stripeClock\Debug\stripeClock.hex:
avrdude.exe: load data flash data from input file 
C:\Users\Documents\Atmel 
Studio\7.0\Projects\stripeClock\stripeClock\Debug\stripeClock.hex:
avrdude.exe: input file C:\Users\Documents\Atmel 
Studio\7.0\Projects\stripeClock\stripeClock\Debug\stripeClock.hex 
contains 7934 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 
1.33s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0007
             0x0c != 0x0d
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: Fuses OK (E:05, H:DA, L:FF)

avrdude.exe done.  Thank you.


Jetzt habe ich auf http://www.engbedded.com/fusecalc/ die Fuses 
eingegeben und sehe, dass diese einen externen Quarz benötigen. Dieser 
hat der ArduinoNanao allerdings nicht. Liegt der Fehler darin? Die Fuses 
habe ich aber eigentlihc gar nicht umgestellt. Sollten die nicht 
standardmäßig auf einen internen Oszillator stehen?

Was genau bedeutet der Fehler
avrdude.exe: verification error, first mismatch at byte 0x0007
             0x0c != 0x0d
avrdude.exe: verification error; content mismatch
??

flashen mache ich mit avrdude und einen DiamexProg-S:
-patmega328p -c STK500 -PCOM4 -b57600 -D 
-Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

Gruß

Felix

von derjaeger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Das Programmiergerät hat nicht das Byte an die Adresse geschrieben, die 
du wolltest, sondern ein anderes, was zu einem fehlerhaften Programm 
während der Ausführung führen würde.

von holger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gib mal ein -B 10 als Parameter für Avrdude mit an.

von Felix (Gast)


Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
> Gib mal ein -B 10 als Parameter für Avrdude mit an.

Habe ich gemacht, aber bleibt der selbe Fehler.


Der ArduinoNano hat ja doch einen quarz (hätte nciht gedacht, dass es so 
kleine gibt). Aber sollten nicht standardmäßig die Fuses trotzdem auf 
internen Quarz gestellt sein?

von derjaeger (Gast)


Bewertung
0 lesenswert
nicht lesenswert
https://store.arduino.cc/arduino-nano

>Tech Specs
>Clock Speed   16 MHz

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Felix schrieb:
> Der ArduinoNano hat ja doch einen quarz (hätte nciht gedacht, dass es so
> kleine gibt).

Nein er hat keinen Quarz, aber etwas ähnliches, einen Keramik-
Resonator. Das ist für dein jetziges Problem aber nicht relevant
und du kannst so tun als ob es ein Quarz wäre.

von BlaBla (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Fehlt da nicht das Löschen der MCU?

von BlaBla (Gast)


Bewertung
0 lesenswert
nicht lesenswert
-D
Disable auto erase for flash. When the -U option with flash memory is 
speci-
fied, avrdude will perform a chip erase before starting any of the 
programming
operations, since it generally is a mistake to program the flash without 
performing
an erase first. This option disables that. Auto erase is not used for
ATxmega devices as these devices can use page erase before writing each 
page
so no explicit chip erase is required. Note however that any page not 
affected
by the current operation will retain its previous contents.

von Felix (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Removing -D solved the problem

von Thierry R. (tyr)


Bewertung
0 lesenswert
nicht lesenswert
Hi Felix, which operating system and toolchain do you use ?

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]
  • [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.