Witam
Doradźcie mi coś bo już naprawdę nie mam siły!
Od wczoraj bezskutecznie walczę z AVR Studio 4- a dokładnie z rozmiarem kodu wynikowego. Napisałem w C prościutki program z mnożeniem zmiennoprzecinkowym i funkcja trygonometryczna- rozmiar kodu 4.5kB. Wydało mi się to dużo (w keilu taki sam program na 8051 ma 1.4kB), ale pomyślałem, że AVR-y pewnie tak mają... Ściągnąłem AVR Studio 5 no i rozmiar z AS5 to ok. 1,2kB! Optymalizacje w AS4 niewiele pomagają (bez optymalizacji jakieś 4.7kB), Zmiena opcji kompilatora i linkera nic nie daje.
Kompilacja bezpośrednio pod WinAVR daje rozmiar 1.2kB. Podłączyłem makefile generowanego przez MFILE (z pakietu WinAVR) do AS4 i niby jest ok, ale to nadal nie rozwiązuje problemu.
Okazuje się, że za taki rozmiar jest odpowiedzialna linia w makefile: MATH_LIB = -lm , której brak skutkuje takim wzrostem rozmiaru. Wpisanie do "linker options" komendy -lm (jak jest to zrobione w AS5) nic nie pomaga...
Co o tym myślicie?
Doradźcie mi coś bo już naprawdę nie mam siły!
Od wczoraj bezskutecznie walczę z AVR Studio 4- a dokładnie z rozmiarem kodu wynikowego. Napisałem w C prościutki program z mnożeniem zmiennoprzecinkowym i funkcja trygonometryczna- rozmiar kodu 4.5kB. Wydało mi się to dużo (w keilu taki sam program na 8051 ma 1.4kB), ale pomyślałem, że AVR-y pewnie tak mają... Ściągnąłem AVR Studio 5 no i rozmiar z AS5 to ok. 1,2kB! Optymalizacje w AS4 niewiele pomagają (bez optymalizacji jakieś 4.7kB), Zmiena opcji kompilatora i linkera nic nie daje.
Kompilacja bezpośrednio pod WinAVR daje rozmiar 1.2kB. Podłączyłem makefile generowanego przez MFILE (z pakietu WinAVR) do AS4 i niby jest ok, ale to nadal nie rozwiązuje problemu.
Okazuje się, że za taki rozmiar jest odpowiedzialna linia w makefile: MATH_LIB = -lm , której brak skutkuje takim wzrostem rozmiaru. Wpisanie do "linker options" komendy -lm (jak jest to zrobione w AS5) nic nie pomaga...
Co o tym myślicie?
