Hallo liebe Gemeinde!
Ich habe aktuell ein Problem und zwar bezüglich der EEPROM Section
meines Mega32u2.
Ich habe 2 Applikationen, einmal mein Bootloader und die Applikation als
solches, beide haben folgende gleiche EEPROM Variablen im Programm:
1 | uint8_t eePeeringComplete EEMEM = 0xFF;
|
2 | uint8_t eePeeringSetup EEMEM = 0xFF;
|
3 | uint8_t eeMySerial[] EEMEM = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
|
Im Bootloader Bereich wird eeMySerial beschrieben, soweit so gut, wenn
ich den Bootloader mittels Atmel Studio 7 hochlade, bleibt der EEPROM
inhalt erhalten.
Wenn ich nun aber die Applikation zum Debuggen über das Atmel Studio 7
in den Application Sector hochlade, wird mein EEPROM jedoch zum teil
überschrieben und die Werte die der Bootloader gespeichert hatte, sind
verloren.
Nun meine Frage, wie stelle ich es an, das sich der Bootloader und die
Applikation der Variablen bedienen ohne das ständig immer die Werte beim
wechsel der Applikation verloren gehen?
Achso, ich schreibe in den Applikationen wie folgt in das EEPROM:
1 | eeprom_write_byte(&eePeeringComplete, 0x02);
|
2 | eeprom_write_byte(&eePeeringSetup, 0x02);
|
Muss ich ein .eeprom Sektor angeben? Wenn ja wo finde ich diesen
Startwert im Datenblatt?
vielen Dank im vorraus.
Daniel