mikrocontroller.net

Forum: Compiler & IDEs MSPGCC Problem beim Compilieren


Autor: Jens Timme (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf F. (Gast)
Datum:

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

Autor: versuch maldyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: versuch maldyer (Gast)
Datum:

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

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: dary weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: dary weiss (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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#wind...

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

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.