Fehlermeldung bei MSP LINKER

Gast #17331
Lesenswert?
• ▲
▼
Ich versuche einen Assembler Code zu Linken aber er gibt mir immer eine 
blöde Fehlermeldung weiß jemand was das ist?

Error[e16]: Segment INTVEC (size: 0x20 align: 0x1) is too long for 
segment definition. At least 0x2 more bytes needed. The problem occurred 
while processing the segment placement command 
"-Z(CODE)INTVEC=FFE0-FFFF", where at the moment of placement the 
available memory ranges were "ffe0-fffd"
   Reserved ranges relevant to this placement:
   0000FFFE - 0000FFFF  Absolute code from fet140_1
Gast #17334
Lesenswert?
• ▲
▼
Ich habe das IAR-Kickstart. Wenn ich die Interrupt vektoren 
auskoommentiere kommt eine fehlermeldung das ihm das main fehlt.
Das Programm ist eine Ansteuerung eines transceivers über I2C ich habe 
nur den Reset Interrupt drinnen.
MSP430f149

Reset ...
.
.
.
ORG 0FFFE
DB  Reset
Gast #17335
Lesenswert?
• ▲
▼
Probier doch mal das: nimm ein Beispiel ASM-Projekt ( nicht Neues 
Projekt ..! ), schmeiß die Asm Files raus und binde deine Files dafür 
ein. Bei mir hat es funktionier ( Ich hab' vorher wirklich tausend 
Schalter ausprobiert > immer die gleiche Fehlermeldung ). Würde mich 
aber auch interessieren woran es liegt.
Gast #17337
Lesenswert?
• ▲
▼
Diese Fehlermeldung bekommt man wenn der Code zu gross ist; deshalb 
steht das "is too long".

Mit der Vollversion bekommt man den Fehler wenn der Code rund 180 kB 
überschreitet und bei der Kickstart-Version wesentlich früher.
Gast #17342
Lesenswert?
• ▲
▼
Hallo Schicki,
könnte es vielleicht daran liegen:
ich glaube der Linker (XLINK) unterstellt immer das du in C 
programmierst daher bindet er auch bei Asm-Projekten die INVEC für C ein 
(default).Du kannst eine kleine Datei mit einem Editor schreiben,der die 
folgende Zeilen beinhalten sollte:

// Define CPU
-cMSP430
// Allocate the interupt vector table segment INTVEC.
-Z(CODE)INTVEC=FE0-FFFF

Das hinter den  // sind natürlich nur Kommentare.
Diese Datei solltest du mit der Endung .XCL  (Bsp.: Neu.xcl) 
idealerweise in dein Projektverzeichnis kopieren. Um diese File in dein 
Projekt zu Übernehmen musst du  im
Projektfenster: Debug markieren, (rechte Maustaste) Optionen, unter 
Category XLINK ,
Karteikasten Include, den Schalter file name override default setzen und 
deine XCL Datei
auswählen.

Wahrscheinlich könntest du auch die Standard  .XCL  entsprechen ändern 
wenn du ständig ASM programmieren willst.

@nobody0 du solltest auch mal einen Blick in die Projekt  *.XCL werfen 
und entsprechende
Doc's (bevor du die Software von deiner Firma verramschst).
Gast #17343
Lesenswert?
• ▲
▼
@Bernhard T:
Zum Projekt gibt es keine *.xcl; es gibt nur eine zum MC und dadrin 
steht doch der Z(CODE) für die Interrupt-Vektoren, die doch über die 
Projekt-Optionen automatisch verwendet werden (aus dem entsprechenden 
*.xcl-File).Und die Doc's sind veraltet; beispielsweise gibt es die dort 
beschriebenen Versionen für HP-UX, AIX usw. nicht mehr und das man 
regelmässig die Temporärdateien löschen muss um keine Compiler-Fehler zu 
bekommen steht auch nicht drin.
Und was meinst Du mit verramschen? Wieviel kann man denn für einen 
MSP430 IAR Embedded Workbench (mit Dongle, Updates, Handbüchern usw.) 
verlangen?

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