EEPROM beim Flashen nicht überschreiben

Gast #336410
Lesenswert?

Hallo,
ich habe ein Problem. Ich benutze ein Atmega32. Ich möchte im EEPROM
Daten speichern diese sollen niemals wieder gelöscht werden. Ich möchte
also mein Device mit einer Firmenware Programmieren aber den Inhalt des
EEPROM möchte ich nicht verändern (bestimmte bereiche). Ich benutze den
avrdude zum Programmieren. Ich dachte mich einfach das Automatische
Chiperase rauszunehmen (-D). Das Funktioniert auf den ersten blick ganz
gut. Will ich dann aber ie anderes hex file Flashen kommt es immer zu
einem Verify Error an der Stelle 0x000e. Und der Code funktioniert
nicht!

avrdude.exe -p m32 -c stk200 -P lpt1 -U flash:w:main.hex:i -U
flash:v:main.hex:i -D

Wer kann mir ein Tip geben.

Gruß Dennis
Gast #336411
Lesenswert?

Die -D option bedeutet, dass das Flash vor dem Programmieren nicht
gelöscht wird. Es ist klar, dass dann ein Verify-Error eintritt, denn
Bits können nur von 1->0 programmiert werden. 0->1 geht nur durch
Löschen.

Versuche, das EEprom vor dem Chip erase auszulesen und danach wieder
reinzuschreiben. Entweder mit mehreren Kommandos in der Befehlszeile
oder mit einem .bat-File, das den AVRDUDE mehrmals aufruft.

Lass uns wissen, ob es so geht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren