Hallo,
vielleicht denke ich im Moment zu kompliziert...
Ich habe eine recht umfangreiche Config Structur die ich immer nur ZUM
TEIL auch zur Laufzeit benötige (Pseudocode)
1 | struct model
|
2 | {
|
3 | char name[10];
|
4 | char mac[8];
|
5 | ......
|
6 | }
|
7 |
|
8 | struct config
|
9 | {
|
10 | unsigned char sn[8];
|
11 | struct model models[10];
|
12 | };
|
So ganz grob, ich bin da noch am ausarbeiten vor dem Code schreiben,
daher nur Pseudo Code.
Jetzt wäre es schön sagen zu können:
1 | struct config EEMEM eeConfig;
|
Wichtig, der Benutzer kann die Firmware selbst updaten, daher muss zu
100% sicher sein, das die Config immer an der gleichen Adresse im EEPROM
steht.
Das kann ich ja mit EEMEM nicht sicher stellen. Vor allem wenn ich mal
einen neueren Compiler nutze, Variablen dazu kommen, etc....
Und ich möchte natürlich eine Default Config im EEPROM haben.
Gibt es da keine Möglichkeit das einfach zu machen ?
Ich kann die Startadresse ja einfach fest im Programm hinterlegen
(struct config *eeConfig = 0x01;), dann bekomme ich aber keine
eeprom.hex Datei zum schreiben...
Ich muss auch immer nur 1 Teil der Config im Speicher haben oder darauf
zugreifen, das sollte aber für mein Problem irrelevant sein. Das sollte
Dank Struct ja kein Problem sein.
Ich bin doch bestimmt nicht der einzige, der das Problem hatte ?!
Dann noch eine Frage: Ist es möglich zu Compilezeit eine CRC über das
EEPROM zu berechnen, also über meine Default Daten, die ich schreiben
will, damit die in der EEP Datei landen ?
Gruss
Juergen