eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBiblioteka CMSIS DSP Keil ARMRe: Biblioteka CMSIS DSP Keil ARM
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!border1.nntp.ams1.giganews.com!nntp.giganews.com!peer01.ams1!peer.ams1.xl
    ned.com!news.xlned.com!peer04.fr7!futter-mich.highwinds-media.com!news.highwind
    s-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.new
    s.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Subject: Re: Biblioteka CMSIS DSP Keil ARM
    Newsgroups: pl.misc.elektronika
    References: <8...@g...com>
    <5a32bd61$0$15191$65785112@news.neostrada.pl>
    <0...@g...com>
    From: Zbych <a...@o...pl>
    Date: Fri, 15 Dec 2017 14:30:25 +0100
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
    Thunderbird/52.5.0
    MIME-Version: 1.0
    In-Reply-To: <0...@g...com>
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Language: pl-PL
    Content-Transfer-Encoding: 8bit
    Lines: 32
    Message-ID: <5a33ce71$0$652$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 185.89.64.250
    X-Trace: 1513344625 unt-rea-b-01.news.neostrada.pl 652 185.89.64.250:55788
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 2922
    X-Received-Body-CRC: 3494354622
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:727303
    [ ukryj nagłówki ]

    W dniu 15.12.2017 o 11:52, Marcin pisze:
    >> Nie podałeś z jakimi flagami kompilujesz program, czy włączyłeś
    >> optymalizację, czy każesz kompilatorowi usunąć nieużywane funkcje i dane
    >> z programu. Na początek dodaj flagi -Os -ffunction-sections
    >> -fdata-sections do kompilacji oraz -Wl,--gc-sections do wywołania linkera.
    >> Sprawdź też jak wygląda rozmiar po kompilacji na Cortexa M4. Jeśli wtedy
    >> rozmiar mocno spadnie, to winna może być software'owa emulacja floatów.
    >> Komercyjne pakiety (także te korzystające z gcc) mają często biblioteki
    >> ręcznie dłubane w assemblerze i stąd różnica w prędkości/wielkości.
    >
    > Czesc,
    > optymalizacja kompilatora dokladnie jak proponujesz: -0s, probowalem tez -O3 ale
    niewiele sie zmienia.
    > linker tez powinien usuwac zbedny kod (-ffunction-sections -fdata-sections ),
    newlib nano ( nie powinno miec znaczenia)

    Do kompilacji -Os -ffunction-sections -fdata-sections
    a do linkowania -Wl,--gc-sections

    > Kod zrodlowy CMSIS DSP jest dostepny i biblioteki dla Keila i GCC kompilowalem sam.
    Z tego co wypatrzylem sa uzywane duze tablice wspolczynnikow ( dla roznych dlugosci
    FFT rozne tablice) w stylu:
    > moje podejrzenie jest, ze Keil widzac ze wywoluje ze stala dlugoscia 128, potrafi
    "wyrzucic" niepotrzebne struktury const typu arm_cfft_sR_q15_len1024 ( ktore sa np.
    3000 x uint16_t)

    To by sugerowało, że jednak nie usuwasz zbędnych danych.

    > Bede musial sie dokladniej przygladnac .map i .lst z GCC, co faktacznie jest w
    zlinkowanym pliku .elf
    >
    > I kolejne pytanie - _wydawalo_ mi sie, ze biblioteki skompilowane roznymi
    kompilatorami powinny byc kmpatybilne ( ARM calling convention) ale biblioteki z
    Keila nie linkuja sie w GCC :(

    Może ABI jest zgodne, ale binarny format bibliotek jest inny? Czyli
    możesz z gcc wywołać funkcję z wbudowaną w ROM uC, ale nie zlinkujesz
    bibliotek.



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: