-
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
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
Najnowsze wątki
- 2025-05-13 Gdańsk => Controlling systems Consultant <=
- 2025-05-13 Białystok => Delphi Programmer <=
- 2025-05-13 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-13 zagadałem dziś babę
- 2025-05-13 W tym urządzeniu ugotujesz wodę wszędzie. Bez podłączania do prądu
- 2025-05-13 W tym urządzeniu ugotujesz wodę wszędzie. Bez podłączania do prądu
- 2025-05-13 W tym urządzeniu ugotujesz wodę wszędzie. Bez podłączania do prądu
- 2025-05-12 wyobrazcie sobie
- 2025-05-12 pojezdziłem passatem
- 2025-05-12 Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- 2025-05-12 Warszawa => Junior Rekruter <=
- 2025-05-12 Dostała karę za "brak biletu" parkowania. Wygrała w sądzie z miastem Kierująca zaparkowała na miejskim parkingu w Rybniku. Nie zdążyła przedłużyć parkowania i dostała 200 zł kary za "brak biletu".
- 2025-05-12 Białystok => Senior Node.js Developer (doświadczenie z framework Nes
- 2025-05-12 Warszawa => MENA New Business Manager <=
- 2025-05-12 Rzeszów => WEBCON Developer <=