Adressierung - EEProm Bereiche

Gast #5780498
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.
#5780504
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
#5780548
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
Gast #5780610
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.
#5780621
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren