Forum: Mikrocontroller und Digitale Elektronik MSP430 Constante Daten im Flash


von Tobi (Gast)


Lesenswert?

Hallo,

ich arbeite zurzeit mit einem MSP430F2274, der aber bald von einem 
MSP430F5XXX ersetzt wird. An diesem µC hängt ein Display. Für dieses 
Display möchte ich nun Bilder (12000 Byte pro Bild) in den Flash 
schreiben.

Ich habe bislang nur Beispiele gefunden, wie man zur Laufzeit den Flash 
beschreibt und wieder ausliest. Geht es auch, dass ich direkt ein Array 
im Flash ablege? Also sowas wie bei ATMEL mit
1
uint8_t bild[12000] PROGMEM = { [...] };
machen kann.

Genug Flash für ein paar Bildchen und genug RAM um ein komplettes Bild 
zu halten, werden wir ja mit dem neuen Controller haben.


~Tobi

von Oliver J. (skriptkiddy)


Lesenswert?

Glaube das ging mit const.
1
const uint8_t bild[12000] = { [...] };

Gruß Oliver

von Tobi (Gast)


Lesenswert?

OK, anscheinend ist es wirklich so einfach.

Beim MSP430F2274 habe ich jetzt ein 2048 Byte großes Array erstellt und 
damit es nicht wegoptimiert wird einmal per UART ausgegeben. Nun bekomm 
ich nach dem Flashen folgende Ausgabe:
1
MSP430: Program loaded. Code Size - Text: 9288 bytes  Data: 2476 bytes

Da mein Controller nur 1KB RAM hat (und 32KB + 256B Flash Memory), gehe 
ich davon aus, dass es funktioniert. Hätte aber nicht gedacht dass ich 
wie eine ganz normale RAM-Variable darauf zugreifen kann.

Aber in einer Config-File hab ich auch folgende Zeile gefunden.
1
.const     : {} > FLASH              /* CONSTANT DATA                     */

Danke für die schnelle Antwort.

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.