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 |
|
|
Forum: Mikrocontroller und Digitale Elektronik Adressierung - EEProm BereicheMoin, macht es Sinn, feste Adressen zu verwenden? Was hatte der Entwickler damit bezweckt?
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. 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 Dergute W. schrieb: > Wenn du kein Filesystem im EEPROM verwendest, wie willst du das Zeugs, > das du reinschreibst, sonst wiederfinden? Wie sieht sowas aus? 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 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 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? 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. 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.
|
|