-
Data: 2011-01-16 12:42:40
Temat: arm-gcc i malloc() - uzywajac yagarto i ADUc7026
Od: Marcin <m...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]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:
http://www.yagarto.de/download/yagarto/syscalls.c
Oznaczenia poczatku i konca sterty zmienione na __heap_start i
__heap_end, tak zeby sie zgadzalo z tym co jest w pliku linkera.
No i najgorsze, ze nic nie dziala. W testowym programie moge sobie
wyrzucic cos dla testo na UART'a wiec widze ze program dziala ale po
wywolaniu prt = malloc(sizeof(int)); calosc "zawiesza sie" i nie
powraca z malloc.
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 http://www.freddiechopin.info/ i tamtejsze
forum, ale nie udalo mi sie nic dzialajacego na moim procku
skompilowac z malloc();
Pomocy, siedzenie do 3 nad ranem przy komputerze juz nic nie pomaga ;)
Pozdrawiam,
Marcin
Następne wpisy z tego wątku
- 16.01.11 13:08 Michoo
- 16.01.11 17:21 Marcin
- 18.01.11 20:06 Marcin
- 18.01.11 22:05 Michał Baszyński
Najnowsze wątki z tej grupy
- Niby uziom ale nie
- Położyłem dwa telefony obok siebie
- Przekaźnik na szynę DIN (?)
- Taśma LED
- Jak odróżnić myjki wibrujące od ultradźwiękowych.
- Ledy na wyłączniku czasowym błyskają
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- RCD wybija
- Re: Kompensacja mocy biernej przy 230VAC
- Łożysko ślizgowe - jaki olej
- Re: Kompensacja mocy biernej przy 230VAC
- Re: Kompensacja mocy biernej przy 230VAC
- Współczesny falomierz
- Zasilacz 7V na szynę DIN
Najnowsze wątki
- 2025-04-10 Niby uziom ale nie
- 2025-04-10 Samsung A12 - po co 4 obiektywy ?
- 2025-04-10 Pendrive - czy to rzeczywiście Sony ?
- 2025-04-10 Warszawa => Junior Digital Project Manager <=
- 2025-04-10 Warszawa => Junior Digital Project Manager <=
- 2025-04-09 [przegląd prasy] - raport mniejszosci
- 2025-04-09 [przegląd prasy] - wypadek autobusu w Warszwie - wyrok (prawomocny)
- 2025-04-09 [przegląd prasy] - przejścia na drogach rowerowych
- 2025-04-09 Czy blokowanie sali obrad Sejmu przez PO-opozycje pod rządami PiS już się przedawniło? [mecenas Giertych dołki kopie?]
- 2025-04-09 Koniec produkcji Leapmotor T03
- 2025-04-09 Pruszków => Specjalista ds. public relations <=
- 2025-04-09 Rzeszów => International Freight Forwarder <=
- 2025-04-09 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-04-09 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-04-09 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f