-
Data: 2017-12-15 14:30:25
Temat: Re: Biblioteka CMSIS DSP Keil ARM
Od: Zbych <a...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- RS-485 ale automatycznie dwukierunkowy
- Leżakujące SSD gubią po roku dane
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
Najnowsze wątki
- 2025-12-04 Warszawa => Project Manager (AI and innovation) <=
- 2025-12-04 Warszawa => Project Manager (AI and innovation) <=
- 2025-12-04 wetomat.pl
- 2025-12-04 Re: Mein Kampf
- 2025-12-04 Rosja "ludobójczych terrorystów" w Senacie USA [deportacje dzieci ludobójczym sponsorowaniem terroryzmu]
- 2025-12-03 RS-485 ale automatycznie dwukierunkowy
- 2025-12-03 Taką elektromobilność należy promować i wspomagać
- 2025-12-03 Rzeszów => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-12-03 Warszawa => Systems & Network Engineer <=
- 2025-12-03 Warszawa => Inżynier Systemów i Sieci <=
- 2025-12-03 Obstrukcja Tuska nie uratowała Komunistycznej Partii Polski przed delegalizacją przez TK
- 2025-12-03 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-12-03 Gdańsk => Programista Delphi <=
- 2025-12-03 Białystok => Architekt rozwiązań (Workday) - Legal Systems <=
- 2025-12-03 Warszawa => Project Manager (AI and innovation) <=




Ile kosztują tanie mieszkania w polskich metropoliach?