Programmspeicher reservieren unter C

05/08/2011 - 19:49 von RS | Report spam
Hallo Leute,

ich habe einen Microchip PIC Controller ohne internes EEPROM (aus
Kostengründen).
Nun möchte ich im Flash Program memory ein EEPROM "emulieren".
Dazu möchte ich einen Teil des Programmspeichers reservieren so dass
dieser nicht durch Sourcecode belegt wird und ich darin meine Daten
abspeichern kann.

Wie kann ich dem Compiler unter HiTech C mitteilen dass ein bestimmter
Bereich des Flashs für ihn "tabu" ist.

Grüße,

Stefan

PS: ja, ich weiß dass der Flash keine großen Zyklenzahlen kann.
 

Lesen sie die antworten

#1 Roland Ertelt
05/08/2011 - 23:36 | Warnen spam
Und so sprach RS:

Hallo Leute,

ich habe einen Microchip PIC Controller ohne internes EEPROM (aus
Kostengründen).
Nun möchte ich im Flash Program memory ein EEPROM "emulieren".
Dazu möchte ich einen Teil des Programmspeichers reservieren so dass
dieser nicht durch Sourcecode belegt wird und ich darin meine Daten
abspeichern kann.

Wie kann ich dem Compiler unter HiTech C mitteilen dass ein bestimmter
Bereich des Flashs für ihn "tabu" ist.




HiTech hab ich jetzt nicht im Kopf, aber es sollte gehen, indem du ein
const ... irgendwas[x] anlegst, und auf eine definierte Adresse legst.

const unsigned char samples[4] @ 0x1000 = {0x00, 0x04, 0x08,0x0C};

Nicht ganz sauber, aber sollte gehen. Denke aber daran, dass du den
Flash nur sektorweise gelöscht bekommst. Wenn der PIC den Programm-Flash
selber löschen kann...

Roland

Ähnliche fragen