Witam uzywam arm-elf-gcc oraz arm-elf-ld (wersja 3.4.3 oraz 2.15). Procek armowy LPC2106 Philis'a.
Daze do zmniejszenia ilosci kodu chcac wyrzucic z pliku wynikowego (elf albo hex) funkcje ktore pomimo ze zdefiniowano w plikach *.c nie sa uzywane w programie.
Projekt sklada sie z 3 plikow main.c a.c b.c. Kompliluje z opcja "-ffunction-sections" aby kompilator w plikach *.o umiescil informacje o uzyciu poszczegolnych funkcji tzw garbage collection:
arm-elf-gcc $(DIRS) O2 -ffunction-sections -mcpu=arm7tdmi -Wall -c -fmessage-length=0 -o$@ $<
Linkuje z opcja linkera "--gc-sections" (garbage collection sections) aby zebral infomracje ktore funkcje sa nieuzywane:
arm-elf-ld $(DIRS) --gc-sections -Tlpc2106.ld -o $(UTPUTS) $(LINK_OBJS) $(LIBS)
Jeszcze zamieniam elf'a na hex'a :
arm-elf-objcopy -O ihex $(ELFOUTPUT) $(HEXOUTPUT) >> $(STROUTPUT)
Jednak wielkosc pliku hex wynosi 13 bajtow! pomimo ze powinno byc duzo wiecej - fukcja main wywoluje inne funckje i uzywam przerwan....
PS znalazlem informacje na:
Ktos moze pomoc? szukalem na google bez skutku. Dziekuje