C, pic30, fkonstantes array im eeprom oder programmspeicher ablegen

OP #1721779
Lesenswert?

hallo leute,

ich such mich hier dumm und dämlich ... man kommt irgendwie vom 
hundertsten ins tausendste ...

mein problem:

speicherplatz!
ich hab ein rudel char arrays (da sind befehle für peripherie drin), die 
ändern sich nicht. daher ist es ja quatsch die im ram abzulegen. 
deswegen hätte ich die gern im eeprom oder programmspeicher.
wie krieg ich das hin?

sprut hilft mir da auch nicht weiter, da steht nur assemblerzeug zu 
eeprom, und im datasheet find ich auch nix.

landen const variablen im flash?
muss ich die in nem header file definieren?

danke schonmal
OP #1721892
Lesenswert?

ah ok, wenn ich direkt nach '__attribute__((space(auto_psv)))' im C30 
handbuch suche find ichs ...
aber da kommt doch jemand ohne pic erfahrung nich drauf, dass das 
kapitel: "Defining Data for Managed PSV Access" was mit "variablen im 
programmspeicher ablegen" zu tun hat ...

ich glaub, ich seh trotzdem grade noch nicht so ganz durch ...
kann ich darauf dann ganz normal zugreifen? also:
1
//konstantes array definieren:
2
const __attribute__((space(auto_psv))) unsigned char myarray[2] = {0x00,0xff};
3

4
//selbiges lesen:
5
unsigned char mychar;
6
mychar = myarray[0];
7

8
//schreiben auch möglich?
9
myarray[1] = mychar;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren