Default werte aus dem eeprom

Gast #5261
Hallo!

Ich habe ein programm, welches einige häufig veränderbare defaultwerte 
verwendet (quasi sowas wie einstellungen).

diese möchte ich gerne im eeprom speichern, weil

a) das flashen dann schneller geht
b) ich ja nur ca. 1000 mal flashen kann (lebensdauer des flash)

momentan habe ich das so gelöst:

/* dies veranlasst gcc dazu, die werte ins eep zu schreiben, d.h. in die 
.eep file */
char eep_var[4] _attribute_ ((section (".eeprom"))) = 
{100,100,100,100} ;

char var[4]; //hier werden die werte nun reingeladen

/*in meiner init-funktion werden nun die werte geladen: */
val[0] = eeprom_rb(0);
val[1] = eeprom_rb(1);
val[2] = eeprom_rb(2);
val[3] = eeprom_rb(3);

Nun zu meiner Frage: Muss ich die werte wirklich extra laden? als ich 
einfach im programm (wo die default werte benötigt werden)
eep_var[n] eingesetzt habe, gings nicht. der compiler hat das nämlich 
mit einem "lds" übersetzt, und der lädt ja nicht vom eeprom (oder?). 
vielleicht habe ich da aber auch nur was falsch gemacht.

vielleicht weiß ja jemand mehr.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 24 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.