Atollic TrueSTUDIO. Obchodzenie ograniczeń wersji Lite
Wtorek, 01 Luty 2011
Firma Atollic dostarcza darmową wersję swojego środowiska
TrueSTUDIO dla mikrokontrolerów STM32. Ograniczenia jej
funkcjonalności zwykle nie powodują problemów ze skompilowaniem
i uruchomieniem projektu, jednak autor doświadczył sytuacji,
w której ograniczenie możliwości konfiguracji kompilatora
wbudowanego w TrueSTUDIO stało się przeszkodą w uruchomieniu
projektu.
96 ELEKTRONIKA PRAKTYCZNA 2/2011
NOTATNIK KONSTRUKTORA
Część plików źródłowych ze wzglę-
du na krytycznie istotny czas wykonania
pewnych fragmentów programu wymagała
najwyższego poziomu optymalizacji kodu
przez kompilator, podczas gdy reszta, ze
względu na stabilność działania, wymagała
niższego poziomu optymalizacji. Domyśl-
ne (i sprawdzające się w większości przy-
padków) ustawienia projektów tworzonych
w TrueSTUDIO Lite są takie, że w konfigu-
racji Debug optymalizacja kodu jest wyłą-
czona, natomiast w konfiguracji Release
włączona jest optymalizacja pod względem
rozmiaru kodu wynikowego. Możliwość
Atollic TrueSTUDIO
NOTATNIK KONSTRUKTORA
Obchodzenie ograniczeń wersji
Lite
Firma Atollic dostarcza darmową wersję swojego środowiska
TrueSTUDIO dla mikrokontrolerów STM32. Ograniczenia jej
funkcjonalności zwykle nie powodują problemów ze skompilowaniem
i uruchomieniem projektu, jednak autor doświadczył sytuacji,
w której ograniczenie możliwości konfiguracji kompilatora
wbudowanego w TrueSTUDIO stało się przeszkodą w uruchomieniu
projektu.
zmiany tych i innych ustawień kompilato-
ra bezpośrednio poprzez menu użytkowni-
ka została zablokowana. Pozostawione zo-
stały jednak pewne furtki, umożliwiające
łatwe obejście tej blokady.
Aby wywołać okno ustawień kompi-
latora w TrueSTUDIO, należy w okienku
Project Explorer z menu kontekstowego ?
umieszczonego pod prawym przyciskiem
myszy projektu względnie pojedynczego
pliku źródłowego lub folderu je zawiera-
jącego ? wybrać Properties, a następnie
w wyświetlonym oknie kliknąć na C/C++
Build -> Settings. Pokaże się zakładka Tool
Settings. Interesująca dla nas jest pozycja C
Compiler ? możemy tam zobaczyć, jak wy-
gląda format polecenia wywołującego kom-
pilator oraz wszystkie opcje wywołania,
których nie możemy jednak w tym miejscu
zmienić. Do ich zmiany służą poszczegól-
ne podpozycje: Target, General itd. Są one
jednak nieaktywne z wyjątkiem ostatniej
o nazwie Miscellaneous. Pozwala ona na
wpisanie dowolnych innych opcji, które
zostaną dołączone jako ostatnie. Ta druga
informacja jest dla nas bardzo istotna. Dla-
czego?
Podstawową rzeczą, z której należy
zdać sobie sprawę, jest to, że omawiane
środowisko programistyczne bazuje na
opensource'owym kompilatorze arm-gcc.
Jest to wersja powszechnie znanego GCC
(GNU Compiler Collection). W Internecie
można znaleźć ich wyczerpującą doku-
mentację obejmującą opis sposobu wywo-
łania i przyjmowanych parametrów. Jej
dokładna lektura podsuwa pomysł na po-
97ELEKTRONIKA PRAKTYCZNA 2/2011
Atollic TrueSTUDIO
R E K L A M A
nalnego, w pełni funkcjonal-
nego konwertera z pakietu
binutils dla mikrokontrolerów
ARM. Ważne jest, żeby był on
zgodny z EABI, inaczej nie
będzie działał z produktem
firmy Atollic. Wystarczy ścią-
gnąć i zainstalować na przy-
kład YAGARTO (toolchain
dla ARMów pod Windows),
odnaleźć plik arm-none-eabi-
objcopy.exe, a następnie sko-
piować go do folderu, w któ-
rym znajdują się pliki binarne
używane przez TrueSTUDIO.
Jest to folder ...\ARMTools\bin
(wielokropek oznacza ścież-
kę instalacyjną środowiska).
Następnie zmieniamy nazwę
pliku na arm-atollic-eabi-
objcopy.exe, zastępując dostarczony przez
Atollic konwerter. Dzięki tej podmianie przy
każdej kompilacji tworzony będzie nie tylko
plik elf, ale również hex. Można również nie
zmieniać nazwy pliku, a zmienić w opcjach
projektu polecenie wywołujące konwerter.
Trzeba jednak to robić odrębnie dla każdego
projektu, co jest uciążliwe.
Łukasz Juszkiewicz
radzenie sobie z opisywany-
mi na wstępie ograniczenia-
mi. Otóż jeżeli w wywołaniu
kompilatora arm-gcc pojawi
się kilka opcji -Ox, gdzie x
to poziom optymalizacji,
skuteczna będzie tylko opcja
dopisana jako ostatnia.
Oznacza to na przykład,
że dopisane jako ?inna opcja?
-O2 spowoduje kompilację
przy włączonej optymalizacji
na poziomie drugim, nieza-
leżnie od opisanych opcji pro-
gramu. W ten sposób można
ustawiać poziom optymali-
zacji dla całego projektu oraz
dla każdego pliku źródłowego
z osobna. Można również do-
pisywać opcje typu -I, -D itp.
Ich argumenty zostaną wtedy dołączone do
tych z domyślnego wywołania.
Całkowity wpływ na sposób kompilacji
można uzyskać, modyfikując pola Command
oraz Command line pattern w ustawieniach
kompilatora, asemblera lub linkera. Wymaga
to jednak sporej wiedzy i może doprowadzić
nawet do konieczności reinstalacji True-
STUDIO.
Rysunek 1.
Kolejną niedogodnością w użytkowaniu
wersji Lite jest brak możliwości wygenerowa-
nia pliku z kodem programu w formacie hex.
Jest tworzony jedynie plik typu elf. Dzieje się
tak, ponieważ program konwertujący pliki
binarne został podmieniony na ?atrapę? po-
trafiącą jedynie wypisać w konsoli komuni-
kat informujący o tym ograniczeniu. Nic nie
stoi jednak na przeszkodzie, aby użyć orygi-
Zobacz więcej w kategorii Notatnik konstruktora