MSP430 - Infomemory fuer Code nutzen

Gast #341482
Lesenswert?

Hiho,
wuerde beim MSP430F2012 gerne den Infomemory fuer den Code nutzen (IAR
EW430, V3.41). Lt. IAR Technical Note 39271 geht das angeblich auch.
Gesagt, getan, natuerlich geht nix. Hat jemand von Euch bereits
Erfahrungen hiermit gemacht? Beziehe mich wie gesagt auf den IAR,
Aussagen über andere Compiler/Linker nuetzen mir hier leider nix.
Vielen Dank
#341483
Lesenswert?

szimmi,

was geht denn nicht?
Du kannst im Linker-Config-File (z.B.lnk430F1232.xcl ) angeben, in
welchen Adressbereichen Code abgelegt werden soll.
Beispiel:
-Z(CODE)CODE=1000-10FF,E000-FFDF
nutzt auch den Infoflash-Bereich als Code-Segment.
Beim 'F169 kann man den Bereich sogar zusammenhängend nutzen:
-Z(CODE)CODE=1000-FFDF

Ciao, Yagan
Gast #341484
Lesenswert?

Genau das habe ich gemacht, aber aus irgendeinem Grunde legt er den Code
nur in den "normalen" Flash. Wird der Code geringfügig größer (kleine
Funktion), bringt der Linker die Fehlermeldung. Ich werde das mal mit
anderen Derivaten probieren, mit dem F1232 scheint es ja Deiner Aussage
nach zu funktionieren.
#341485
Lesenswert?

szimmi,

für den MSP430F2012 habe ich momentan keine Info über die
Speicherverteilung, aber es könnte sein, dass der Linker kein
ausreichend kleines "Häppchen" findet, das er in den Infoflash legen
kann. Hast Du einmal versucht Funktionen separat zu kompilieren, damit
mehrere kleine Module entstehen? Möglicherweise ist dann der Linker
erfolgreich. Eventuell passt auch der CSTART in den Infoflash.

Ciao, Yagan
#341486
Lesenswert?

Ich habe noch einmal in einem Projekt von mir nachgeschaut.
Bei unterbrochenen Adressbereichen sollte man angeben:
-Z(SPLIT-CODE)CODE=1000-10FF,E000-FFDF
Das SPLIT bewirkt, dass der Linker auch grössere Segmente aufbricht.
Ich nehme an, dass damit das Problem bei Dir beseitigt ist.

Ciao, Yagan

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