Forum: Mikrocontroller und Digitale Elektronik Aufteilung parameter im eeprom


von Lars (Gast)


Lesenswert?

Hallo,
ich habe gerade einen Code vor mir liegen wo parameter aus dem EEPROM 
gelesen und später auch wieder geschrieben werden.
Jetzt ist es bei allen parametern wie folgt aufgebaut
2 Byte Checksumme
2 Byte frei
parameter...

Hat es einen grund, warum man diese 2 Byte nach der checksumme frei 
macht?
Erst habe ich gedacht, dass man so möchte, dass man genau auf 8Byte 
kommt (wenn noch 4 Bytes danach geschrieben werden). Aber es gibt auch 
Blöcke wo dann nur 6 Byte oder einer auch mit 15 Byte geschrieben 
werden.

von Helge (Gast)


Lesenswert?

Hört sich nach Programmierleiche an. Vielleicht solltens zu 
Projektbeginn 4 Byte Checksumme werden?

von Lars (Gast)


Lesenswert?

Helge schrieb:
> Hört sich nach Programmierleiche an.
Das kann gut sein. Der code ist auch wahrscheinlich von Neunzehnhundert 
nochwas.

Hätte ja sein können, dass man sowas aus bestimmten gründen macht.
Dann nehme ich das raus

von A. S. (Gast)


Lesenswert?

Vielleicht ist oder war das eeprom 2byte-weise organisiert.

Dann sorgt die Lücke dafür, dass ein Parameter-update im Fehlerfall 
(Stromausfall) keinen zweiten mit zerstört.

von Adam P. (adamap)


Lesenswert?

Oder es liegt an der Art und Weise wie die Daten organisiert sind.

Bei einem 32-bit System würden hierbei:
1
struct foo
2
{
3
    uint16_t crc;
4
    uint32_t a;
5
    uint32_t b;
6
};

Nach der crc Variable 2 Byte frei bleiben bzgl. des alignment.

von Stefan F. (Gast)


Lesenswert?

Lars schrieb:
> Hat es einen grund, warum man diese 2 Byte nach der checksumme frei
> macht?

Vielleicht kann man dieses EEprom mur in 4-byte Stücken ansprechen oder 
löschen.

von mIstA (Gast)


Lesenswert?

Hab ich mir auch kurz gedacht, aber die Checksumme sollte sich 
eigentlich immer Hand in Hand mit dem Parameterwert ändern, damit müssen 
ohnehin immer beide neu geschrieben werden.

von A. S. (Gast)


Lesenswert?

mIstA schrieb:
> Hab ich mir auch kurz gedacht, aber die Checksumme sollte sich
> eigentlich immer Hand in Hand mit dem Parameterwert ändern, damit müssen
> ohnehin immer beide neu geschrieben werden.

Du hast doch geschrieben, dass die Parameterwerte verschiedene 
Bytegrößen haben können. Es geht doch darum, dass nachfolgende 
Strukturen nicht gleichzeitig mit geschrieben werden.

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.