Witam,
Tym razem ja szukam pomocy. Od paru dni walcze z ADuC7026, pierwotnie z wersja ewaluacyjna Keila a teraz yagarto ( zglasza sie jako werja arm-none-eabi-gcc (GCC) 4.5.1)
Mam w Keilu napisany programik do obslugo 1-wire i wszystko ladnie dziala, tj. przerwania, timery i dynamiczna alokacja pamieci. Chcialem caly program przeniesc na gcc i zaczynaja sie schody. Poradzilem juz sobie z plikami linkera, przerwaniami - wszystko dziala. Ale zachcialo mi sie uzywac malloc() i problem mnie na razie przerosl.
Wiem, ze stdio.h potrzebuje paru funkcji ( stubs). Posilkowalem sie przykladami z:
Czy ma ktos moze przyklady dzialajacego malloc ? przygladnal bym sie plikom startup.S, jak rozwiazana jest funkcja _sbrk_r (struct _reent
*r, int incr) oraz jak wyglad plik linkera. Najchetniej na ADuC, ale moze byc tez cos ze procesorow Atmela. Przyklady na LPC od nxp maja zupelnie inaczej rozwiazywane inicjalizacje wektorow przerwan w startup.s.Po dissasemblacji mojego pliku .elf widze, ze moje wywolanie malloc() wywoluje glebiej _malloc_r a ten z koleji _sbrk_r. I powinno dzialac, bo ta funkcje mam w syscalls.c i jes dolinkowana.
Przegladalem tez strone
Pomocy, siedzenie do 3 nad ranem przy komputerze juz nic nie pomaga ;)
Pozdrawiam, Marcin