-
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.
Następne wpisy z tego wątku
- 15.12.17 16:00 Marcin
Najnowsze wątki z tej grupy
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=