Forum: Mikrocontroller und Digitale Elektronik AVRDUDE - verifications error?


von weakbit (Gast)


Lesenswert?

Hallo,

Arduino Mega Board 2560 16MHz USB
Ateml Studio 7
AVRDUDE.exe wird über tools aufgerufen das funktioniert soweit.

nach installation von AVRDUDE und der Commandline:
Command:  C:\AVRdude\avrdude.exe
Arguments:  -patmega2560 -cwiring -P\\.\COM5 -b115200 -D 
-Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

programmieren geht die LEDs flackern auf und der µC antwortet nur leider 
das falsche.

Das Ergebnis:
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0200
             0x01 != 0x59
avrdude.exe: verification error; content mismatch

Nach einfügen von -B10 oder -B50 der selbe Error? Nun was kann man da 
machen das der Cotroller seine Daten bekommt. Timing? Ich habe schon 
einige gleiche Problem hier gelesen und vielleicht hat ja Jemand eine 
Idee.



MfG
weakbit

von weakbit (Gast)


Lesenswert?

kann mir wenigstens Jemand sagen wie man dieses Optiprog für den Arduino 
Mega 2560 in den Speicher reinprogrammiert. Denn nachdem hier Niemand 
antworten will.

Die Forenb3eiträge zum Thema habe ich bereits alle gelesen nur da gibt 
es keine Hilfe.

MfG
weakbit

von Bernadette (Gast)


Lesenswert?

Lesefehler bei der Kontrolle.

Probiere mal einen anderen Programmer oder eine reduzierte 
Programmiergeschwindigkeit.

"COM5 -b115200" Das ist schon sehr schnell.

von Uaaaahh Gähn (Gast)


Lesenswert?

weakbit schrieb:
> kann mir wenigstens Jemand sagen wie man dieses Optiprog für den Arduino
> Mega 2560 in den Speicher reinprogrammiert.

Immer das gleiche Lied.

Es geht halt nichts über einen vernünftigen ISP-Programmer.

Ich verstehe niemanden der nur auf Bootloader-Programmierung
schwört.

von Einer K. (Gast)


Lesenswert?

Uaaaahh Gähn schrieb:
> Immer das gleiche Lied.
Dass die Frage nicht zu verstehen ist?
Der TE vergessen hat, Ross, Reiter und Grund zu nennen?

Uaaaahh Gähn schrieb:
> Es geht halt nichts über einen vernünftigen ISP-Programmer.
Benötigt man, z.B. um den Bootloader da drauf zu bekommen.

Uaaaahh Gähn schrieb:
> Ich verstehe niemanden der nur auf Bootloader-Programmierung
> schwört.
Wer schwört denn da drauf?
Das ist doch nur eine Einbildung von dir!

Es ist bequem, mehr nicht.

1. Arduino an den PC stecken.
2. richtiges Board einstellen
3. Upload drücken.
(der TE macht irgendwas anderes, KA was)

Eigentlich kann da nichts schief gehen.
Und wenn, hat das nichts mit dem Bootloader zu tun, sondern eher mit 
Dummheit/Irrtum.


Bequem:
Wenn sowieso schon eine serielle Verbindung zum PC besteht, benötigt man 
den ISP Adapter nicht.

von Einer K. (Gast)


Lesenswert?

Bernadette schrieb:
> Probiere mal einen anderen Programmer oder eine reduzierte
> Programmiergeschwindigkeit.
>
> "COM5 -b115200" Das ist schon sehr schnell.
Tja, der Bootloader erwartet eben die 115200 Baud.
Um diese herabzusetzen muss man schon tiefer in die Trickkiste greifen. 
Bootloader modifizieren.

Andererseits ist das nicht nötig, denn das tuts in den allermeisten 
Fällen perfekt.

von g457 (Gast)


Lesenswert?

> Andererseits ist das nicht nötig, denn das tuts in den allermeisten
> Fällen perfekt.

Wenns mans richtig verdrahtet hat. Im Zweifelsfall mal das Ossi 
dranhängen.

von Einer K. (Gast)


Lesenswert?

g457 schrieb:
> Wenns mans richtig verdrahtet hat.

Da kann man bei einem
> Arduino Mega Board 2560 16MHz
wenig falsch machen.
Das passende USB Kabel liegt meist beim Kauf bei.

Allerdings könnte man an Pin 0 und 1 auch irgend einen Unsinn angeklemmt 
haben, der dem Upload im Wege steht.
Das wäre dann das Kapitel: Dumm gelaufen!

von Stefan F. (Gast)


Lesenswert?

Warum benutzt du den Parameter "-cwiring" anstatt den für Arduino 
üblichen "-c arduino" ?

Welcher Bootloader ist auf deinem Arduino Board installiert?

Wenn dein Board einen Keramik Resonator (statt Quarz) hat, funktionieren 
die 115200 Baud nur mit Glück. Da würde ich lieber einen Bootloader 
installieren, der auf 57600 Baud läuft. Dafür brauchst du einen ISP 
Adapter.

von Eberhard H. (sepic) Benutzerseite


Lesenswert?

Welcher USB-Controller ist denn auf dem Board?

Wenn es ein CH340 ist, solltest du AVRDUDE einmal mit geringerer 
Baudrate versuchen (wie bereits vorgeschlagen), nämlich per –b 57600.

Wenn das klappt, ist ein "Old Bootloader" installiert.

Sonst - wenn nicht schon geschehen - schalte unter Atmel Studio beim 
Einrichten der Tools "Use Output Window" ein und stelle das komplette 
AVRDUDE-Protokoll hier rein.

Ich habe verschiedene AVR-Boards (allerdings keines mit ATmega2560) mit 
unterschiedlichen USB-Controllern (Atmel und CH340) und 
unterschiedlichen Bootloadern unter Atmel Studio zum Laufen gebracht.

Wenn dann alles mal läuft, ist die Programmierung unter Atmel Studio 
sogar einfacher als mit einem Atmel-ISP.

Am Bootloader selbst würde ich zunächst nicht eingreifen.

Wenn du per Atmel Studio nicht weiterkommst, kannst du erst einmal mit 
der Arduino-IDE per Einstellungen unter "Werkzeuge" untersuchen, was 
Sache ist.

Wenn es damit schließlich klappt, kannst du mit einem Beispiel-Programm 
anhand des Arduino-Protokolls herausfinden, wie der AVRDUDE-Aufruf 
aussehen muss und diesen dann sinngemäß auf Atmel Studio übertragen.

von Einer K. (Gast)


Lesenswert?

Stefan F. schrieb:
> Warum benutzt du den Parameter "-cwiring" anstatt den für Arduino
> üblichen "-c arduino" ?

Die aktuelle Arduino IDE tut das auch.
Sollte also nicht das Problem sein.

Den AVRDUDE Aufruf habe ich schon geprüft.
Der ist ok.

Eberhard H. schrieb:
> Wenn das klappt, ist ein "Old Bootloader" installiert.
Nano!
Das ist ein Nano Problem.

von Eberhard H. (sepic) Benutzerseite


Lesenswert?

Arduino Fanboy D. schrieb:
> Nano!
> Das ist ein Nano Problem.

Das ist nicht nur bei Nano ein Problem, denn auch andere Clones 
verwenden den CH340.

von Stefan F. (Gast)


Lesenswert?

Was hat das alles denn speziell mit dem CH340 zu tun? Der unterstützt 
alle gängigen Baudraten tadellos. Wenn die Baudrate des Bootloaders 
nicht funktioniert, dann beim AVR und seinem Oszillator.

von Uaaaahh Gähn (Gast)


Lesenswert?

Stefan F. schrieb:
> Wenn die Baudrate des Bootloaders
> nicht funktioniert, dann beim AVR und seinem Oszillator.

Seeeehr richtig.

von Einer K. (Gast)


Lesenswert?

Eberhard H. schrieb:
> Arduino Fanboy D. schrieb:
>> Nano!
>> Das ist ein Nano Problem.
>
> Das ist nicht nur bei Nano ein Problem, denn auch andere Clones
> verwenden den CH340.

Du sprachest vom "Old Bootloader".
Das gibts nur bein Nano.
Das hat nichts mit dem USB-UART Wandler zu tun.

Siehe:
Arduino Fanboy D. schrieb:
> Eberhard H. schrieb:
>> Wenn das klappt, ist ein "Old Bootloader" installiert.
> Nano!
> Das ist ein Nano Problem.

Bemerke:
Ein USB-UART Wandler ist nicht das gleiche wie ein Bootloader.
(auch wenn dir das so vorkommen mag)

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.