Forum: Compiler & IDEs MSPGCC Problem beim Compilieren


von Jens Timme (Gast)


Lesenswert?

Hallo GCC-Forum

Da ich noch nicht so lange in C programmiere und zwischen den einzelnen
Projekten immer relativ große Zeiträume liegen habe ich noch einige mehr
oder weniger große Wissenslücken.

Ich habe ein Problem bei der Compilierung mit MSPGCC für einen
MSP430F123. Nach einer gewissen Größe des Quelltextes gibt mir der
Compiler folgende Meldung zurück:

msp430-ld: region text is full (a.out section .text)
msp430-ld: section .vectors [0000ffe0 -> 0000ffff] overlaps section
.text [0000fc00 -> 00010365]
msp430-ld: a.out: section .vectors lma 0xffe0 overlaps previous
sections

Ehrlich gesagt bin ich mir nicht im klaren welche Bedeutung die Sektion
.text (sowie .bss, .noinit) hat und man diese anpassen kann.
Im erzeugten MAP-File ist unter der Memory-Config "text" Origin:
0xfc00 Lenght: 0x03e0 zu finden, ist dies denn richtig ?
Im Listfile wird der Code auf die für den µC richtige Adresse gelinkt
und läuft korrekt.

Deklariere ich nun weitere z.B. globale Arrays gibt mir der Compiler
folgende Fehlermeldung zurück:

msp430-ld: address 0x45a of C:\MSPGCC\Projekte\test1\test1.exe
section .bss is not within region data
msp430-ld: address 0x45a of C:\MSPGCC\Projekte\test1\test1.exe
section .noinit is not within region data

Dies sagt mir nun leider gar nichts.
Für ein paar erklärende Worte wäre ich sehr dankbar.

von Rolf F. (Gast)


Lesenswert?

Entweder muß Du einen Prozessor mit ausreichend Flash nehmen oder deinen
Code kleiner machen.
Für den Prozessor ist dein Code zu groß.

von versuch maldyer (Gast)


Lesenswert?

Hello Alle;
I waere sehr dankbar, wenn ihr mir sagt, wie man source code
compilieren kann und die Befehle vom mspgcc compiler.
Ist es notwendig, cygwin auch zu installieren.
danke.

von Rolf F. (Gast)


Lesenswert?


von versuch maldyer (Gast)


Lesenswert?

Hello Alle;
Vielen Dank fuer eure Antwort.
Meine Frage: Wie kann ich die Datei *.elf  generien .
das was mir fehlt.
danke

von KoF (Gast)


Lesenswert?

^^ (siehe link)
oder so:

Sourcecode für msp430x1121 kompilieren

 $ msp430-gcc -Os -mmcu=msp430x1121 -o test1.elf test1.c



 Sourcecode für msp430x1121 kompilieren, wenn math.h includiert wird

 msp430-gcc -Os -mmcu=msp430x1121 -o test1.elf test1.c -lm


Wichtig ist hierbei -lm als letzte Option.



 Assemblerlisting erzeugen (optional)

 $ msp430-objdump -DS test1.elf > test1.lst



 Hex-Datei erzeugen

 $ msp430-objcopy -O ihex test1.elf test1.hex

von dary weiss (Gast)


Lesenswert?

Dear Sir/Madam;
beim Compilieren scheint die folgende fehlenmitteilung

C:\cygwin>msp430-gcc -Os -mmcu=msp430x1611 -o rf_blink_led.elf
rf_blink_led.c
rf_blink_led.c: In function `ledFlash':
rf_blink_led.c:206: `for' loop initial declaration used outside C99
mode

Ich habe nicht verstanden , was c99 bedeutet.
Danke

von Rolf F. (Gast)


Lesenswert?

C99 ist das ANSI-C von 1999; das ist der letzte offizielle C-Standard (
www.ansi.org ).
Weil Programmierer häufig sehr konservativ sind und es viel alten Code
gibt, wird auch seit 6 Jahren offiziell gültiger Code nicht immer
klaglos akzeptiert.
Die Warnungen kann man aber einfach ignorieren.

von dary weiss (Gast)


Lesenswert?

Hello Mr.Rolf;
Vielen Dank fuer Ihre Antwort.
Neben dem Fehler konnte diese Datei ****.elf nicht generiert werden,
ist diese fehlermeldung diese Ursache, und wie kann man diesesn Fehler
beheben.
Danke

von Rolf F. (Gast)


Lesenswert?

Ich habe den MSPGCC bisher nur unter Linux verwendet, so daß ich zum
MS-Win nicht allzu viel sagen kann. Es sieht so aus, als ob man unter
MS-Win erstmal Cygwin installieren muß, als Unix-ähnliche Umgebung:
http://www.cygwin.com/
Mit dem Klick auf "Install auf Cygwin now" sollte das schnell
erledigt sein.

Weiteres steht auch im Manual vom MSPGCC:
http://mspgcc.sourceforge.net/manual/c49.html#windows-installation

Vielleicht reicht auch die Exe mspgcc-win32, die ein "one step
installer" ist; einfach mal ausprobieren.

von KoF (Gast)


Lesenswert?

die win-mspgcc version braucht kein cygwin. es werden alle benötigten
dll`s mitgeliefert, die benötigt werden um den mspgcc zu betreiben.

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
Noch kein Account? Hier anmelden.