Forum: Mikrocontroller und Digitale Elektronik Adressierung - EEProm Bereiche


von Harry L. (Gast)


Lesenswert?

Moin,

macht es Sinn, feste Adressen zu verwenden?
Was hatte der Entwickler damit bezweckt?
1
eeprom_write_block(&seriennummer,(void *)800,4);  // Schreiben ins EEPROM

von Einer K. (Gast)


Lesenswert?

Harry L. schrieb:
> macht es Sinn, feste Adressen zu verwenden?

A:
Wenn man die Chance hat, sollte man dem Kompiler die Adressberechnung 
überlassen.
Meistens geht das.



Harry L. schrieb:
> Was hatte der Entwickler damit bezweckt?
B:
Vielleicht weiß er nichts von A, oder wie man da macht.
Vielelicht ist er auch einfach nur schlauer als der Kompiler, oder traut 
dessen Berechnungen nicht.

von Dergute W. (derguteweka)


Lesenswert?

Harry L. schrieb:
> Moin,
>
> macht es Sinn, feste Adressen zu verwenden?
Wenn du kein Filesystem im EEPROM verwendest, wie willst du das Zeugs, 
das du reinschreibst, sonst wiederfinden?

> Was hatte der Entwickler damit
> bezweckt?eeprom_write_block(&seriennummer,(void *)800,4);  // Schreiben
> ins EEPROM

Ich schaetz'mal, dass er damit eine 4 Byte grosse Seriennummer an die 
Adresse 0x320 schreiben will...

Gruss
WK

von Harry L. (Gast)


Lesenswert?

Dergute W. schrieb:
> Wenn du kein Filesystem im EEPROM verwendest, wie willst du das Zeugs,
> das du reinschreibst, sonst wiederfinden?

Wie sieht sowas aus?

von Dergute W. (derguteweka)


Lesenswert?

Harry L. schrieb:
> Wie sieht sowas aus?


https://en.wikipedia.org/wiki/List_of_file_systems#File_systems_optimized_for_flash_memory.2C_solid_state_media

Such' dir was aus. Ist halt die Frage, ob's den Aufriss lohnt.

Gruss
WK

von Harry L. (Gast)


Lesenswert?

Ist es eine art "Anordnung" im EEProm?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Harry L. schrieb:
> Ist es eine art "Anordnung" im EEProm?

Ja, halt so wie du auf Dateien auf deinem Rechner zugreifst. Da sagst du 
als "normaler" Programmierer/Anwender ja auch nicht, welchen Sektor auf 
welchem Zylinder auf welcher Platte du willst, sondern du gibst einen 
Dateinamen und Pfad an, von dem du lesen/schreiben willst. Den Rest 
macht dann das Betriebssytem/Abteilung Filesystem fuer dich.

Gruss
WK

von Harry L. (Gast)


Lesenswert?

Verstehe!
Nutzt jemand sowas für das EEProm?
Oder ist das eher stark von dem Projekt abhängig?
Gibt es schon fertige, speziell für den EEProm?

von Stefan F. (Gast)


Lesenswert?

Dergute W. schrieb:
> Da sagst du
> als "normaler" Programmierer/Anwender ja auch nicht, welchen Sektor auf
> welchem Zylinder auf welcher Platte du willst

Die teilt man sich ja auch mit anderen Programmen. Abgesehen davon: Die 
Partitionstabelle und das Inhaltsverzeichnis haben auch dort eine feste 
Position.

Beim EEPROM bin ich mit meinem Programm ganz alleine Herr der Lage. Also 
kann ich die Adressen festlegen, wenn ich das will.

Ich kann es auch dem Compiler überlassen. Nur muss ich dann darüber 
nachdenken, inwiefern ich die Daten im EEprom nach einem Softwareupgrade 
weiter verwenden kann, dass eventuell mit einem anderen Compiler 
erstellt wurde.

von Peter D. (peda)


Lesenswert?

Typisch legt man die EEPROM-Adressen selber fest, dann kann man in einem 
Dump die Daten auch zuordnen.
Auch kann der Linker die EEPROM-Daten weder überlagern noch direkt 
zugreifen.
Die Zugriffe macht man typisch auf ein Struct im RAM und erste eine 
Schreibroutine kopiert alles ins EEPROM, bzw. eine Leseroutine 
initialisiert den RAM aus dem EEPROM.

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.