Code Composer Linker Option -> Funktion verschieben

Gast #2507717
Lesenswert?

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!
#2507868
Lesenswert?

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).
Gast #2508595
Lesenswert?

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ß...
#2508695
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren