Hallo, da programmiert man so vor sich hin, und auf einmal bekomme ich einen Fehler beim Linken, den ich nur wegbekomme, wenn ich irgendwo ein paar Zeilen Code auskommentiere: folgende Fehlermeldung: ->make avr-gcc -g -Os -Wall -Wextra -Wstrict-prototypes -mmcu=atmega324p -mcall-prologues -fomit-frame-pointer -fno-inline-small-functions -fno-tree-scev-cprop -fno-split-wide-types -lm -c main.c avr-gcc -Wl,-Map=main.map,--cref,--section-start=.text=0x0000,--relax -mmcu=atmega324p -gstabs,-ahlms=main.o -omain.elf main.o spi.o smk.o parameter.o rs232C1.o error.o comm.o adc.o kty81.o i2c.o pcf8574.o systimer.o eeprom.o protokoll.o /usr/lib/gcc/avr/4.7.2/../../../avr/lib/avr5/crtm324p.o: In function `__bad_interrupt': ../../../../crt1/gcrt1.S:195: relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_20' defined in .text section in rs232C1.o collect2: error: ld returned 1 exit status make: *** [main] Fehler 1 Ich habe hier im Forum irgendwo gelesen, daß dieses ein Bug mit zu weiten Sprüngen wäre, ist dies richtig ? Was kann ich dagegen tun ? Danke an alle Jogibär
Ist dein Flash-Speicher eventuell voll? Gruß Marius
Dagegen tun kannst du das, was man in solchen Fällen immer tut, nämlich die relevante Fehlermeldung nach google zu kopieren, und dann einfach mal nachlesen, was der Rest der Menschheit sich dazu schon ausgedacht hat. Denn, auch wenn du es dir kaum vorstellen kannst, du bist nicht der Erste mit dieser Fehlermeldung. Eigentlich ist man inzwischen niemals der Erste... Oliver
Ist ein Bug im Zusammenhang mit -mrelax. Lass das mal weg. Du kannst auch probieren, ob es hilft, auch beim Compilieren bereits -mrelax mit anzugeben.
Oliver schrieb: > Dagegen tun kannst du das, was man in solchen Fällen immer tut, nämlich > die relevante Fehlermeldung nach google zu kopieren, und dann einfach > mal nachlesen, was der Rest der Menschheit sich dazu schon ausgedacht > hat. Denn, auch wenn du es dir kaum vorstellen kannst, du bist nicht der > Erste mit dieser Fehlermeldung. Eigentlich ist man inzwischen niemals > der Erste... > > Oliver Hallo Oliver, Du wirst es nicht glauben, das habe ich schon getan. Dort wurden mehrere Ursachen genannt. Daher ja die Frage zu den Sprüngen. Ganz blöde bin ich noch nicht ! Hallo Marius, der ist es nicht. Bin erst bei 8kb Programmspeicher, habe aber 32kb. Hallo Jörg, ich habe das Problem erstmal gelöst, indem ich die Reihenfolge der Dateien, die compiliert werden, geändert habe. Damit ist das Problem erst mal weg. Falls es wieder auftritt, werde ich mal Deinen Vorschlag ausprobieren. -mrelax Try to replace "CALL" resp. "JMP" instruction by the shorter "RCALL" resp. "RJMP" instruction if applicable. Setting "-mrelax" just adds the "--relax" option to the linker command line when the linker is called. Vielen Danke an alle Jogibär
Hoppla, gleich zweimal an einem Tag: Beitrag "Re: ld status -1 - werde aus Fehlermeldung nicht schlau"
Hallo, stimmt, ist mir auch heute früh aufgefallen. Jogibär
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.