Forum: Mikrocontroller und Digitale Elektronik LPC1343 / LPC1114 Flashspeicher zur Datensicherung nutzen


von M.H. (Gast)


Lesenswert?

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?

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

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.

von Robert T. (robertteufel)


Lesenswert?

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

von Erwin R. (er-tronik)


Lesenswert?

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
Noch kein Account? Hier anmelden.