Hallo miteinander, ich scheitere gerade an dem Versuch eine Funktion an einer bestimmten Stelle im Flash abzulegen. In Assembler macht man das ja noch mit org <adresse> aber wie bekomme ich das jetzt in C hin? Gibt es überhaupt eine möglichkeit das zu beeinflussen? Vielen Dank Steffen
Steffen Gerner schrieb: > aber wie bekomme ich das jetzt in C hin? wozu? > Gibt es überhaupt eine möglichkeit das zu beeinflussen ja aber keine Standardisierte, dazu muss man über hints den linker beeinflussen.
Ich möchte eine Funktion in einen gesicherten bereich eines MSP430 ablegen, den man nur mit JTAG programmieren kann, aber der BL nicht erreicht.
Leg die Funktion in eine spezielle Section und sag dem Linker, wo die hinsoll.
Hallo Jürgen, das hört sich gut an, doch wie mache ich sowas unter C?
Mich würde auch mal interessieren, wie man dem Compiler sagen kann, in welche Sektion eine Variable oder Funktion soll? Danach musst du nur das Linkerscript anpassen und die Sektion an die entsprechende Adresse mappen.
Leider ist unbekannt um welchen Compiler es sich handelt (und welche CPU). Für AVR-GCC gibt es hier http://www.rn-wissen.de/index.php/Avr-gcc/Interna Informationen.
Scheibenhonig. Habs überlesen. Es war MSP430 von TI. Da muss man mal in der Compiler-/Linker Docu schauen.
VIelleicht ist es wie beim GCC? Versuch es mal mit:
1 | foo __attribute__ ((section (".test"))) bar(...)
|
2 | {
|
3 | ... |
4 | } |
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.