www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 Flash vorintialisieren


Autor: Ingo Scharnack (msp430gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

folgende Probleme gilt es zu lösen.
1. Ich möchte gern den Flash ganz einfach vorinitialisieren, d.h. der 
Flash wird mit Daten bereits vorgeladen. Für den CCE V3 kann ich hierfür 
leider keine Informationen finden.
Beim µChip dsPIC30Fxxx ging das ganze unproblematisch, über absolute 
Adressierung konnte ich direkt im *.h den Flash vorinitialisieren.

2. Alternativ würde ich eine eigene Section im Info-Memory definieren in 
der ich meine Initialwerte ablegen möchte.

Kann mir zu den 2 Punkten jemand helfen?

MfG
MSPGast

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bedeutet bei dir vorinitialisieren? Tabellen ablegen, auf die du 
dann zugrifen kannst? Oder ganze Sections dem Compiler wegnehmen und für 
deine Zwecke benutzen?
Tabellen gehen doch einfach über

const int Tabelle[2048] = {....};

das würde eine 2048 Worte große Tabelle im Flash anlegen. Allerdings an 
einer Stelle, die dem Compiler gerade passt.

Wenn du eine eigene Section haben willst, musst du eine neue im 
Linker-Command-Script definieren und die dann über die Tabelle genauso 
füllen, wobei du bei der Deklaration noch angeben musst, dass der 
Compiler das jetzt in die Section legen soll. Das geht auch mit dem CCE.
Ich hab das mal für Funktionen gemacht, für einen Funk-Loader:
Die Deklaration war folgende:

void FirmwareUpdate(void)__attribute__((section(".selfloader")));

Das sollte bei Konstanten genauso funktionieren.

Edit: Bei den Optionen einschalten, dass er GCC-Extensions verarbeitet. 
Dann funktioniert das mit dem attribute. Sonst muss man mit dem 
Pragma-Gefrickel arbeiten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.