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.
Entweder muß Du einen Prozessor mit ausreichend Flash nehmen oder deinen Code kleiner machen. Für den Prozessor ist dein Code zu groß.
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.
Hello Alle; Vielen Dank fuer eure Antwort. Meine Frage: Wie kann ich die Datei *.elf generien . das was mir fehlt. danke
^^ (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
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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.