Forum: Mikrocontroller und Digitale Elektronik Variablen im Flash speichern beim ATSAM3S4 / Cortex-M3


von Obs (Gast)


Lesenswert?

Hi,

wie kann ich beim ATSAM3S4 / Cortex-M3 Variablen zur Compilezeit im 
Flash ablegen und sie zur Laufzeit von dort auslesen? Bei AVR-MCUs kann 
ich auf verschiedene Weise Daten zur Compilezeit im Flash ablegen und 
zur Laufzeit aus dem Flash lesen. Zum Beispiel kann ich PROGMEM bei der 
Definition einer Variablen nutzen um diese im Flash abzulegen und kann 
sie dann mit memcpy_P wieder von dort auslesen:
1
const PROGMEM uint8_t table_P[] = {
2
    0x00, 0x01, 0x02, 0x03
3
};
4
...
5
memcpy_P(buf, table_P, 4);

Wie mache ich das am besten beim ATSAM3S4 / Cortex-M3?  Vielen Dank 
schon mal.

von Stefan S. (stefan2013)


Lesenswert?

Hallo!

Bei meinem gcc für Cortex reicht es aus, wenn du nur z.B:

const uint16_t xyz;

schreibst.

Probiers mal mit und ohne const und schau dir die Größe von .text und 
.data an. Wenns mit const nach .text kommt, ist es im flash.

LG

von Obs (Gast)


Lesenswert?

Jap, das funktioniert. Vielen Dank :)

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.