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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.