Hallo. Ich habe mal eine eventuell blöde Frage an euch... Es geht um einen ATXmega32E5, bei dem ich den Eeprom beschreiben will. Der Aufbau des Eeproms entnehme ich dem Datenblatt wie folgt: 512Byte Gesamtgröße, Eeprom ist in Pages aufgeteilt und wird auch in Pages beschrieben. Eine Page umfasst 32Byte, das heißt ich habe insgesamt 16 Pages. Nun lasst mich mal kurz etwas annehmen: Page 1 = Byte 1 bis Byte 32 Page 2 = Byte 33 bis Byte 64 Page 3 = Byte 65 bis Byte 96 usw. Der NVM Controller beschreibt nur ganze Pages. Ist eigentlich an und für sich ja gut, man kann den NVM Page Buffer mit 32 Bytes beladen und diese 32 Bytes komplett in einem Wisch speichern. Das heißt, ich kann den Page-Buffer entweder von Byte 1 bis Byte 32 oder Byte 33 bis Byte 64, usw. laden. Nur was passiert wenn ich den Page Buffer von Byte 15 angefangen bis 47 lade? Das sind dann ja 2 Pages. Müsste ich meiner Software beibringen, die Seiten aufzuteilen und jeweils eine Page beschreiben lassen, oder wie? Eigentlich ja, wenn ich das richtig verstanden habe? Oder gibt es andere Lösungen, wie man das automatisiert macht? Oder einfach nach jedem Byte was ich speichern will, direkt in den Eeprom über Page Buffer usw.? Gibt ja viele Wege...
Daniel schrieb: > Nun lasst mich mal kurz etwas annehmen: > Page 1 = Byte 1 bis Byte 32 > Page 2 = Byte 33 bis Byte 64 > Page 3 = Byte 65 bis Byte 96 Gewöhne dir von vorne herein an in Adressen zu denken. Das erste Byte ist Byte 0 Das zweite Byte ist Byte 1 Das letzte Byte eine Page ist Byte 31! etc. Machst du das nicht wirst du früher oder später auf die Schnauze fallen, wenn auch nur virtuell. Weh tut es trotzdem.
Daniel schrieb: > Müsste ich meiner Software beibringen, die Seiten aufzuteilen und > jeweils eine Page beschreiben lassen, oder wie? Ja so ist das. Eine einigermassen intelligente Software macht das so. Aber du kannst auch jedes Byte, Wort oder Doppelwort einzeln schreiben. Also keine "komplizierten" Page Aktionen starten. Auszug aus dem Datenblatt: ---------------------------- Data memory One linear address space Single-cycle access from CPU SRAM EEPROM Byte and page accessible
Ah, ok. Dankeschön für deine Antwort. Mit der Aufzählung ab 1 beginnend war falsch, ich weiß. Ich war Gedanklich sozusagen bei "Äpfeln" Apfel 1, usw. 0 Apfel gibt es ja nicht... mir ging es ja nur darum die Page Aufteilung zu verstehen... Danke :-)
Daniel schrieb: > Ich war Gedanklich sozusagen bei "Äpfeln" Apfel 1, usw. Äpfel haben keine Adresse. Daniel schrieb: > 0 Apfel gibt es ja nicht 0 Apfel heisst: Anzahl der Äpfel ist null, und "keine Äpfel" gibt es tatsächlich, nämlich dann wenn der Vorrat an Äpfeln eben aufgebraucht ist.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.