eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaarm-gcc i malloc() - uzywajac yagarto i ADUc7026Re: arm-gcc i malloc() - uzywajac yagarto i ADUc7026
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!p
    ostnews.google.com!v17g2000yqv.googlegroups.com!not-for-mail
    From: Marcin <m...@o...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: arm-gcc i malloc() - uzywajac yagarto i ADUc7026
    Date: Sun, 16 Jan 2011 09:21:28 -0800 (PST)
    Organization: http://groups.google.com
    Lines: 52
    Message-ID: <5...@v...googlegroups.com>
    References: <d...@l...googlegroups.com>
    <iguqk6$9nt$1@news.onet.pl>
    NNTP-Posting-Host: 79.140.212.51
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1295198489 1550 127.0.0.1 (16 Jan 2011 17:21:29 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Sun, 16 Jan 2011 17:21:29 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: v17g2000yqv.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:602916
    [ ukryj nagłówki ]

    On 16 Sty, 13:08, Michoo <m...@v...pl> wrote:
    > W dniu 16.01.2011 13:42, Marcin pisze:> Czy ma ktos moze przyklady dzialajacego
    malloc ?
    >
    > At91sam7s256 może być? (Gdzieś powinienem mieć.)
    >
    > Taka krótka uwaga mogąca zaoszczędzić sporo czasu - sporo symboli jest
    > zdefiniowanych jako 'weak', w związku z tym się kod linkuje mimo, że
    > właściwe symbole nie są zdefiniowane.

    Pewnie ze AT91 moze byc

    teraz mam tak:
    caddr_t _sbrk_r(struct _reent *r, int size)
    {
    extern char __heap_start; // imported from linker script
    extern char __heap_end; // imported from linker script
    static char *current_heap_end ;//= &__heap_start;
    char *previous_heap_end;


    if (current_heap_end ==0x00)
    {
    current_heap_end = &__heap_start;
    }
    r = r; // suppress warning

    previous_heap_end = current_heap_end;

    if (current_heap_end + size > &__heap_end) // is there enough space
    on the heap left?
    {
    errno = ENOMEM; // not enough memory left
    return (caddr_t) -1; // return immediatelly
    }

    current_heap_end += size; // increase data space

    return (caddr_t)previous_heap_end; // return requested data space
    }


    i np. sprintf dziala poprawnie, a chyba tez korzysta wewnatrz z _sbrk
    i malloc ( przynajmniej cos takiego widze w pliku
    dissasemblacji .lss).
    Bezposrednie wywolanie malloc() zawiesza program. Na razie nie mam
    mozliwsci debbugowania na zywym procku, tylko programuje flash i
    pozniej wewntualnie wyrzucam sobie cos na uart.

    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: