Hallo, ich möchte ein Feld des Flashspeichers benutzen um dort wichtige Daten welche im Programm erzeugt werden abzulegen. Oder einfacher, ich möchte einen Teil des Flashspeichers als interes EEPROM nutzen. Kann mir hierzu jemand Hilfestellung geben?
Vgl. LPC13xx User Manual, Abschnitt Flash Memory Programming, Unterabschnitt IAP. Auf stm.com gibt es eine EEPROM-emulation Application-Note für deren Cortex-M3. Die darin verwendetet Vorgehensweise liefert mglw. etwas Inspiration.
M.H. schrieb: > Hallo, > > ich möchte ein Feld des Flashspeichers benutzen um dort wichtige Daten > welche im Programm erzeugt werden abzulegen. > > Oder einfacher, ich möchte einen Teil des Flashspeichers als internes > EEPROM nutzen. > > Kann mir hierzu jemand Hilfestellung geben? Hallo, soweit ich weiss (nicht sicher) hat das interne Flash immer noch eine ECC Funktion (ECC = Error Correcting Code). Falls dem so ist, dann kann nur in groesseren Bloecken z.B. 256 byte geschrieben werden. Sollen also Byte oder Word Variable geschrieben werden, ist es entweder gewaltige Platzverschwendung oder lange und haeufige Reprogrammierzyklen weil dazu dann immer die sagen wir mal 256 ins RAM gelesen, Flash gesloescht, RAM mit den neuen Daten versehen und wieder in Flash geschrieben. Versteh mich nicht falsch, das geht schon, ist aber nicht immer effektiv. Wenn da einmal pro Tag oder pro Schicht was reingeschrieben werden soll, kein Problem. Wenn ein Data Logger immer die Moeglichkeit hat 256 Bytes abzuwarten und dann zu schreiben, kein Problem, wenn es aber Byte-weisse geschehen soll, dann ist das trickreich. Auf der Seite http://www.lpc2000.com gibt es einen Application Notes Bereich, ist zwar nicht sehr umfangreich, doch die EEPROM Application Note ist dort drauf. Gruss, Robert
Um den ganzen Streß mit dem internen Flash-Speicher zu umgehen, sehe ich bei allen LPC13xx, 17xx Projekten ein externes I2C-EEPROM vor. Ein 24LC16 kostet bei Reichelt keine 50 Cent, ein wenig Programmcode, fertig. Erwin
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.