eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaarm-gcc i malloc() - uzywajac yagarto i ADUc7026 › arm-gcc i malloc() - uzywajac yagarto i ADUc7026
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!plix.pl!newsfeed1.plix.pl
    !news-out2.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!feeder.ne
    ws-service.com!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.google.com!
    l17g2000yqe.googlegroups.com!not-for-mail
    From: Marcin <m...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: arm-gcc i malloc() - uzywajac yagarto i ADUc7026
    Date: Sun, 16 Jan 2011 04:42:40 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 46
    Message-ID: <d...@l...googlegroups.com>
    NNTP-Posting-Host: 79.140.212.51
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-1
    X-Trace: posting.google.com 1295181761 13447 127.0.0.1 (16 Jan 2011 12:42:41 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Sun, 16 Jan 2011 12:42:41 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: l17g2000yqe.googlegroups.com; posting-host=79.140.212.51;
    posting-account=LtRNCAoAAAACVwjGJC66ygSl50zdeDtv
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64;
    Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0;
    OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729;
    .NET CLR 1.1.4322; .NET CLR 3.0.30729; .NET4.0C),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:602907
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: