Speicherüberlappung DATA16_AN IAR MSP430

Gast #647455
Lesenswert?

Hallo,
ich bin gerade dabei ein Projekt für den MSP430 auf IAR umzustellen.
Mein Projekt besteht sowohl aus .c als auch aus Assembler-Dateien.
Wenn der Linker einsetzt erhalte ich bei einem Rebuilt folgende
Fehlermeldung:

"Error[e78]: Absolute segment in module myassemblerfile ( 
myassemblerfile.r43 ) overlaps segment DATA16_AN"


Wenn ich jetzt "myassemblerfile.s43" mal separat kompiliere dann ist 
alles
o.k..
Aus der Fehlermeldung sehe ich nur, dass irgendwelche Speicherbereiche 
wohl
doppelt benutzt werden oder der Compiler denkt zumindest es sei so. In
"DATA16_AN" werden ja normalerweise nur Variablen für den RAM 
geschrieben, die nicht zu initialisieren sind (wenn ich da richtig 
liege). In der Datei
"myassemblerfile.s43" weise ich aber keinen Variablen Speicheradressen 
zu.

Gibt es irgendeine Möglichkeit zu sehen, welche Speicherbereiche 
eigentlich
doppelt belegt sind oder auf welche Segment/-e sich der Linker bezieht?


Mfg
Ulf
Gast #647471
Lesenswert?

Im .map File sollten alle benutzten Speicherbereiche aufgelistet sein.
.map File im \Debug\List oder \Release\List Verzeichnis

Ausserdem: DATA16_AN beinhaltet jene Variablen, die zwar nicht 
intialisiert werden müssen, allerdings wurden diese Var's (z.B. mit 
#pragma location = ADR) an eine feste absolute Adresse gebunden!
Gast #647504
Lesenswert?

ja richtig das mit der Zuweisung hatte ich vergessen zu erwähnen.

Ich hab aber noch nicht verstanden wo ich die .map files finden soll.
Im Verzeichnis Debug/List gibt es nur die .list Dateien. Dort kann ich 
aber nicht erkennen wo Speicherüberlappungen auftreten, jedenfalls nicht 
unter den Segementen.

Und als .map Datei sind mir nur die mikrocntrollerspezifischen .xcl 
Dateien bekannt, die im Systemverzeichnis abgelegt sind. Allerdings auch 
dort finde ich keine Angaben zu Überlappungen oder DATA16_AN????
Gast #647529
Lesenswert?

Ja, ich hab jetzt rausgefunden, dass gem. Voreinstellung keine .map 
Dateien
genriert werden und man diese einstellen muss.
Ich muss jetzt noch sehen wo. In der Beschreibung steht unter dem "List 
Tab".
Das befindet sich ja in den Projektoptionen, aber da kann man nicht 
einstellen, dass .map Dateien generiert werden sollen.

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