Forum: Mikrocontroller und Digitale Elektronik EEPROM - atMEGAxx komplett löschen?!


von Jan H. (janiiix3)


Lesenswert?

Moin,

wie löscht man den kompletten Inhalt vom internen EEPROM?
Die Lib. <avr/eeprom.h> bietet dies ja nicht an.
Muss ich das EEPROM direkt über Adressen ansprechen?
Wie würde das aussehen?

MFG Jan

von Karl M. (Gast)


Lesenswert?

Hallo Jan,

mit avrdude wird das interne EEprom beim beschreiben des Flash-Speichers 
automatisch gelöscht. Man kann das natürlich auch abschalten.

Per Programm, schreibe man sich eine Löschroutine über alle Adressen, 
die jedes Byte mit $ff füllt.

von Karl M. (Gast)


Lesenswert?

Hallo Jan H. schrieb:
> <avr/eeprom.h>

Der Funktionsumfang dieser Sammlung ist hier sehr gut beschrieben:

https://www.nongnu.org/avr-libc/user-manual/group__avr__eeprom.html

Man kann z.B.
1
eeprom_write_block(const void * src,void * dst, size_t n);
verwenden, um z.B. einen 64 Byte großen Bereich aus dem SRAM in das 
interne EEprom zu schreiben.

Dann läuft nur eine Schleife über alle Bytes mit 64 Byte increment.

von Karl M. (Gast)


Lesenswert?

Karl M. schrieb:
> Dann läuft nur eine Schleife über alle Bytes mit 64 Byte increment.

Sollte heißen:
Dann läuft nur eine Schleife über alle EEprom-Adressen mit 64 Byte 
increment.

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.