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-Options.html#Link-Options 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
Re To wrote: > so tag leute, weiß nun (vermute), dass das Programm einfach zur zu > groß ist, oder ? Ja.
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 ??
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.
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 ?
Wozu sollte der Unsinn gut sein? Zu groß ist zu groß, da hilft alles nix.
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.
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.