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
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.
Gib mal ein -B 10 als Parameter für Avrdude mit an.
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?
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.
Fehlt da nicht das Löschen der MCU?
-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.
Removing -D solved the problem
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.