Forum: Compiler & IDEs MSPGCC - Datenauslagerung in den Flash Memory


von Michael P. Jung (Gast)


Lesenswert?

Ahoi,

ich bin gerade dabei mit meinem MSP430 mit 8kb Flash ein Programm zu
schreiben welches ueber einen ADC10 port daten liest und protokoliert.
Via dem UART interface soll dann das protokoll ausgelesen werden
koennen.

z.b. koennte ein NTC an A0 angeschlossen sein der alle 5 minuten
abgefragt wird und in den Flash via round robin verfahren die Messwerte
ablegt.

Mein Problem ist die Tatsache, dass ich keinen Anhaltspunkt habe wie
man einen Speicherbereich im Flash reserviert um darauf spaeter im
Programm zuzugreifen. Bei den "standard library functions" ist der
befehl MALLOC gelistet, der mir zwar sehr seltsam im Bezug auf µC ohne
jegliches Speichermanagement vorkommt, aber ich vermute mal, dass
malloc() irgend etwas damit zu tun hat.

Bye,

Michael

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der mspgcc legt alle "const"-Variablen im Flash an, beschreiben musst
du den Flash allerdings "von Hand", also wie in Assembler. Im
Mspgcc-CVS, in der Mailingliste oder bei den Appnotes von TI findest du
vielleicht auch schon ein Beispiel dafür.

von Michael P. Jung (Gast)


Lesenswert?

Seltsam, ich lege ein "const char blah[256]" an und bekomme dennoch
die "is not within region data" Meldung vom Compiler/Linker. Zu gross
ist das File auch nicht, denn ohne blah ist das HEX file auch nur knapp
1kb gross.

In der MSPGCC FAQ habe ich eine aehnliche Frage gefunden, die mir aber
nicht wirklich weiter geholfen hat...
http://mspgcc.sourceforge.net/faq/x71.html

Wenn nichts hilft werd ich wohl doch wieder auf Assembler umsteigen und
C bleiben lassen, auch wenn ich da schleifen, algorythmen,... besser
erkennen kann!

Bye,
Michael

von Christian Imann (Gast)


Lesenswert?

Hmm,
steh genau vor demselben doofen Problem.
nur kann ich leider -von wegen keine Ahnung wie - NICH auf Assembler
umsteigen.
wo find ich deshalb Angaben zu jenen ominösen Unterstrich-Kommandos
wie
"__inline__"
"__attribute" und so???


Beste Grüße
Christian

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.