Aufteilung parameter im eeprom

Gast #6600270
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.
Gast #6600343
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
Gast #6600375
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.
#6600401
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.
Gast #6601089
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.
Gast #6601506
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.