Hi, möchte mehrere Funktionen in einem bestimmten Block des Flashspeichers ablegen und auch dort ausführen lassen. Wie erkläre ich das meiner Entwicklungsumgebung (Compiler / linker)? Gibt es da ein #pragma? Was benötige ich für eine Linkeroption und wie stelle ich die ein? Verwende den Code Composer Essentials. Bin für jede Hlfe dankbar!
Ich nehme an Code Composer Essentials für MSP430. Du musst im Linker File eine neue Code Section anlegen. Dazu den Speicherplatz von der .text Section abziehen. Dann kannst du mit pragma code_section deine Funktion da hin schieben. Steht doch alles im User Guide des Compilers (SLAU132) auf Seite 87 (5.9.4) und der Aufbau der Linker Files ist in 4.3.8 beschrieben (Seite 74).
Danke, hab' da erst mal was zu lesen. Eine Frage aber hab' ich noch: Muß ich die standardmäßige Code-Section irgendwie verkleinern oder genügt es eine zusätzliche Code-Section ZU definiereN und dieser dann den gewünschten Speicherplatz zuzuweisen? Kann ich eigentlich auch mehrere Funktionen in eine neue Code-Section stecken? In dem User Guide sieht es so aus, als ob ich für jede Funktion eine eigene, neue Code-Section definieren muß...
Du musst den benötigten Speicherplatz (auf die Flash Sektorengröße aufpassen) natürlich von der normalen .text Section abziehen. Sonst gibts ein Overlap. Und du kannst da so viele Funktionen reinpacken wie du möchtest, einfach für jede Funktion die gleiche Section angeben. Der Linker kümmert sich dann schon.
Vielen Dank! Klinkt eigentlich logisch, dass amn erst mal speicher frei räumen muss. Werd' das dieses WE gleich mal ausprobieren.
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.