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


von Felix (Gast)


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)


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)


Lesenswert?

Gib mal ein -B 10 als Parameter für Avrdude mit an.

von Felix (Gast)


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)


Lesenswert?

https://store.arduino.cc/arduino-nano

>Tech Specs
>Clock Speed   16 MHz

von Frickelfritze (Gast)


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)


Lesenswert?

Fehlt da nicht das Löschen der MCU?

von BlaBla (Gast)


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)


Lesenswert?

Removing -D solved the problem

von Thierry R. (tyr)


Lesenswert?

Hi Felix, which operating system and toolchain do you use ?

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.