www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik linkerError "region text is full"


Autor: Re To (toobatch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so tag leute,   weiß nun (vermute), dass das Programm einfach zur zu 
groß ist, oder ? (bezieht sich alles auf unten

dann meine frage was bedeuten die Linker-optionen ... hab mal hier : 
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/Link-O...

bissl gelesen find aber realtiv wenig z.B.  die ganzen "--*" optionen 
nicht.

hab das makefile nicht komponiert - benutze es nur gerade aus dem Proj. 
an welchem ich herumbastele, und bevor ich die optionen lösche oder so 
wüsst ich gern was sie bedeuten .


" UNTEN "

Hi,
i use borland make on windows.

after compiling the linker starts and prints   " region text is full 
(a.out section .text)"

I dont  know if  this is the cause for the errors later ( see below  ) 
with "undefined reference to"

here some more print details :
====================================================================
link to ..\image\ATMegaEmpty
   C:\Progrg\WinAVR\bin\avr-gcc.exe ..\image\MN_Main.o 
..\image\PR_2561.o   ..\image\AH_Actn.o   ..\image\TI_Timer.o 
..\image\UA_Intrn.o   ..\image\UA1_Aufs.o   ..\image\UA2_Aufs.o 
..\image\ETH_Net.o   ..\image\ARP_Net.o   ..\image\IP_Net.o

c:\progrg\winavr\bin\..\lib\gcc\avr\4.1.1\..\..\..\..\avr\bin\ld.exe: 
region text is full (a.out section .text)

..\image\ETH_Net.o: In function `ETH_IRQReadPacketFromNicToQueue':
W:\build/..\src\ETH_Net.c:1344: undefined reference to 
`CM_GetDownloadPort'
====================================================================

there are many more entries with   xxx undefined reference to  yyy



____
the linker-options-line  looks like that:

==================
-mmcu=$(MCU)                            \
       -nodefaultlibs                  \
       -Wl,--start-group               \
       -lc                             \
       -lgcc                           \
       -Wl,--end-group                 \
       --cref                          \
       --defsym                        \
       --stack=0x10FF                  \
       -o $(IMG)\$(PROJECT).ELF
==================
MCU is ATMega2561

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Re To wrote:
> so tag leute,   weiß nun (vermute), dass das Programm einfach zur zu
> groß ist, oder ?

Ja.

Autor: Re To (toobatch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke Jörg , und zu den linkerOpt. ... hab das was gefunden ...

was ist denn  eine "cross reference table" ?? (--cref)

und wie kann ich sehen wie groß das programm ist? ... also gibts da ne 
möglichkeit ??

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Re To wrote:

> und wie kann ich sehen wie groß das programm ist? ... also gibts da ne
> möglichkeit ??

avr-size.exe ist dein Freund.

Autor: Re To (toobatch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo ..danke,

kann dadurch (dass das Prog. zu groß ist)  kein hex-file erzeugen ...

wie ist es möglich das der linker die MCU-FlashSize ignoriert und 
einfach das hexfile anlegt obwohl es eig. zu groß ist ?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu sollte der Unsinn gut sein? Zu groß ist zu groß, da hilft alles 
nix.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Manchmal hilft es noch die Codeoptimierung ein- bzw. höher zu schalten.
Allerdings kann es bei schlechtem Programmierstil dann sein, dass gar 
nix mehr funktioniert wie es sollte.

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.