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!newsfeed2.atman.pl!newsfeed.atman.pl!go
    blin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt
    -spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Subject: Re: Biblioteka CMSIS DSP Keil ARM
    Newsgroups: pl.misc.elektronika
    References: <8...@g...com>
    From: Zbych <a...@o...pl>
    Date: Thu, 14 Dec 2017 19:05:21 +0100
    User-Agent: Experimental news reader based on atomic-powered harvester v. 0.1
    MIME-Version: 1.0
    In-Reply-To: <8...@g...com>
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Language: pl-PL
    Content-Transfer-Encoding: 8bit
    Lines: 32
    Message-ID: <5a32bd61$0$15191$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 176.221.121.130
    X-Trace: 1513274721 unt-rea-a-02.news.neostrada.pl 15191 176.221.121.130:37227
    X-Complaints-To: a...@n...neostrada.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:727274
    [ ukryj nagłówki ]

    W dniu 14.12.2017 o 16:56, Marcin pisze:

    > Czy ktos zana pood, dlaczego prosty przyklad:
    >
    > arm_rfft_fast_instance_f32 S;
    > arm_cfft_radix4_instance_f32 cfft;
    >
    > static arm_rfft_instance_q15 Sq15;
    >
    > volatile static uint32_t result ;
    > result = arm_rfft_init_q15(&Sq15, 128, 0, 1);
    >
    > for(int i=0; i < 128; i++){
    > q15InData[i] = (q15_t)(sin3x[i] * 2048.0);
    > }
    >
    > volatile static q15_t magnitude[128];
    > arm_rfft_q15(&Sq15, (q15_t*)q15InData, (q15_t*)fft_results);
    >
    > arm_cmplx_mag_q15((q15_t*)fft_results, (q15_t*)magnitude, 128 );
    >
    >
    > kompiluje sie do 10x wiekszego rozmiaru przy GCC ? Wiedzialem ze GCC jest mniej
    zoptymalizowane, ale zeby 10x wiekszy kod generowac to juz przesada.

    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.

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: