Atollic TrueSTUDIO - Sposób na mikrokontrolery STM32.pdf

(1555 KB) Pobierz
652390439 UNPDF
NARZĘDZIA KONSTRUKTORA
Sposób na mikrokontrolery
STM32
Na rynku mikrokontrolerów ma miejsce ciekawa sytuacja. Nie ma
najmniejszego kłopotu ze zdobyciem dobrych narzędzi sprzętowych
w  postaci zestawów ewaluacyjnych, czy też pojedynczych układów.
Problem polega na dostępności i  funkcjonalności narzędzi
programowych. W  przypadku mikrokontrolerów STM32, pojawienie
się pakietu TrueSTUDIO irmy Atollic zupełnie zmienia ten stan
rzeczy.
Ponadto edycja Lite współpracuje tylko z jed-
nym typem programatora/debugera, ale to
akurat nie stanowi jakimkolwiek ogranicze-
nia, ponieważ obsługiwany jest programator/
debuger zgodny z ST-Link, czyli na przykład
ZL30PRG dostępny m. in. w Kamami.
Aktualnie pakiet TrueSTUDIO jest przy-
gotowany dla dwóch rodzin mikrokontro-
lerów: STM32 z rdzeniem Cortex-M3 oraz
TX09 (Toshiba) z  rdzeniem ARM926EJ-S.
Zapowiadana jest również wersja współpra-
cująca z mikrokontrolerami Stellaris (Texas
Instruments), które, podobnie jak STM32 są
wyposażone w rdzeń Cortex-M3.
Obydwie wersje IDE są dostępne do
pobrania ze strony irmy Atollic. Proces in-
stalacji oprogramowania jest zautomatyzo-
wany i przebiega standardowo. Od strony
użytkownika wymagane jest jedynie skopio-
wanie klucza aktywacyjnego, generowanego
na podstawie unikalnego dla każdego kom-
putera ciągu znaków, który jest w trakcie
instalacji podawany przez instalatora. Klucz
aktywacyjny jest przesyłany w wiadomości
e-mail po zarejestrowaniu się na stronach
internetowych irmy Atollic. Po poprawnym
zakończeniu instalacji można natychmiast
przystąpić do pracy.
Rodzina mikrokontrolerów STM32 staje
się coraz liczniejsza i bardziej popularna.
Z tego powodu liczba narzędzi programo-
wych i sprzętowych, z których można sko-
rzystać, nieustannie rośnie. Niedawno kon-
struktorzy byli skazani na wybór pomiędzy
drogimi pakietami komercyjnymi, a trudny-
mi w obsłudze i koniguracji narzędziami
typu Open Source . Co prawda oprócz komer-
cyjnych, drogich środowisk takich jak MVi-
sion, czy IAR Workbench dostępne są także
tańsze pakiety (np. RIDE, CrossWorks), jed-
nak za narzędzie w pełni funkcjonalne i bez
żadnych ograniczeń, nadal należy płacić (co
jest oczywiście zrozumiałe).
Nowością na rynku środowisk dla mikro-
kontrolerów STM32 jest pakiet TrueSTUDIO
irmy Atollic. Jest to kompletne środowisko,
które umożliwia pisanie programów, kompi-
lowanie, programowanie pamięci mikrokon-
trolera oraz debugowanie w systemie. Pro-
gram został stworzony na bazie IDE Eclipse ,
jednak jego twórcy zadbali o maksymalne
uproszczenie i  zautomatyzowanie obsługi
środowiska. Można pokusić się o stwierdze-
nie, że obsługa tego pakietu jest prostsza,
a możliwości większe, w porównaniu do nie-
jednego konkurenta.
Jedną z najważniejszych cech środowi-
ska TrueStudio jest dostępność jego dwóch
wersji: darmowej „ Lite ” i profesjonalnej „ Pro-
fessional ”. Należy tutaj wyraźnie podkreślić,
że wersja darmowa nie ma narzuconych
żadnych ograniczeń co do rozmiaru kodu.
Nie ma też żadnych ograniczeń czasowych.
Możliwości edycji Lite w zasadzie nie od-
biegają od tych oferowanych przez drogie
pakiety. Różnice pomiędzy wersjami płatną
i  darmową środowiska TrueSTUDIO po-
dano w  tab.   1 . Do najistotniejszych należy
zaliczyć brak możliwości kompilowania pro-
gramu w języku C++ oraz brak edytora dia-
gramów UML ( Uniied modelling language ).
Tab.1. Najistotniejsze różnice funkcjo-
nalności pakietu TrueSTUDIO w wersji
Lite i Professional
TrueSTUDIO
Lite
TrueSTUDIO
Professional
asembler + +
C + +
C++ – +
debugowanie + +
debugowanie
PC
Przestrzeń pracy i projekty
Środowisko TrueSTUDIO odziedziczyło
po Eclipse hierarchiczny model przestrze-
ni roboczych ( workspace ) i projektów. Na
szczycie hierarchii znajduje się przestrzeń
robocza, której utworzenie jest niezbędne do
+
IDE
+ +
rozszerzone
IDE
+
edytor UML –
+
kontrola wersji –
+
baza błędów –
+
dodatkowe
biblioteki
+
obsługa pro-
gramatorów/
debugerów
JTAG
ograniczona +
ograniczenie
rozmiaru kodu
brak brak
ograniczenia
czasowe
brak brak
Rys. 1. Hierarchiczny model przestrzeni roboczych i projektów w środowisku
TrueSTUDIO
źródło: Atollic
74
ELEKTRONIKA PRAKTYCZNA 2/2010
Atollic TrueSTUDIO
652390439.013.png 652390439.014.png 652390439.015.png 652390439.016.png 652390439.001.png 652390439.002.png 652390439.003.png 652390439.004.png 652390439.005.png 652390439.006.png
Sposób na mikrokontrolery STM32
pracy. Każda przestrzeń robocza jest repre-
zentowana przez katalog, w którym znajdują
się projekty i należące do nich pliki. Relacje
pomiędzy przestrzenią roboczą, projektami
i należącymi do nich plikami przedstawiono
na rys.   1 . Żadne projekty, ani też należące do
nich pliki, nie mogą znajdować się poza kata-
logiem przestrzeni roboczej.
mikrokontrolera oraz czy program ma być
ładowany do pamięci Flash, czy do pamię-
ci RAM. Warto zwrócić uwagę na ostatnia
opcję, ponieważ stosunkowo rzadko zdarza
się, aby oprogramowanie narzędziowe udo-
stępniało taką opcje jako listę wyboru. Naj-
częściej, żeby uzyskać efekt ładowania pro-
gramu do pamięci RAM należy samodzielnie
ustawiać adresy w przestrzeni pamięciowej
mikrokontrolera. Pełne zautomatyzowanie
ustawiania opcji wyboru pamięci było moż-
liwe, ponieważ dla każdej rodziny układów
jest oddzielna edycja pakietu TrueSTUDIO.
W następnych dwóch oknach nie ma
potrzeby nic zmieniać. Po zakończeniu pra-
cy kreatora wygląd programu TrueSTUDIO
będzie podobny do tego z  rys.   3 . Warto za-
uważyć, że mamy do projektu automatycz-
nie dodaną bibliotekę Standard Peripheral
Library dostarczaną przez irmę STMicro-
electronics. Tak oto, za pomocą tylko kilku
kliknięć został stworzony kompletny projekt
wraz z przykładowym programem dla płyt
ewaluacyjnych STM3210B/C/E. Teraz pozo-
staje już tylko usunąć zbędną zawartość pli-
ku main.c i można przystąpić do tworzenia
własnej aplikacji.
Już przy pierwszym użyciu programu
TrueSTUDIO rzuca się w oczy ciekawa funk-
cja edytora. Kod, który przez niespełnienie
instrukcji warunkowej preprocesora #ifdef
nie będzie kompilowany, jest zaznaczany na
szarym tle. Znakomicie przyspiesza to pracę
podczas pisania programu z tego typu in-
strukcjami.
m. in. dostępny jest
widok dostosowany
do tworzenia aplikacji
w C/C++ oraz widok
zoptymalizowany pod
kątem debugowania.
Przełączanie wido-
ków jest możliwe za
pomocą przycisków
w  prawym górnym
rogu okna głównego.
Nowy projekt
Po pierwszym pakiet TrueSTUDIO uru-
chomieniu wyświetla ekran powitalny. Dzię-
ki niemu można zapoznać się z podstawową
dokumentacją programu i jego możliwościa-
mi. Tworzenie nowego projektu rozpoczy-
na się od wyboru menu File/New/C Project ,
po czym pojawi się okno przedstawione na
rys.   2 . W tym miejscu programistę spotka
bardzo miła niespodzianka – projekty moż-
na tworzyć za pomocą kreatora, co jest raczej
niespotykane w środowiskach darmowych
i  często niedostępne w  środowiskach ko-
mercyjnych. W oknie należy wpisać nazwę
projektu oraz wybrać typ projektu „ STM32 C
Project ”. Po wyborze Next pojawi się kolejne
okno, w którym dokonuje się wyboru typu
Rys. 4. Opcje
budowania pro-
jektu w pakiecie
TrueSTUDIO
Kompilacja
i budowanie
Projekt w trakcie pisania wymaga cy-
klicznego kompilowania i budowania w celu
załadowania plików wynikowych do pamię-
ci mikrokontrolera i sprawdzenia poprawno-
ści działania aplikacji. Budowanie projektu
może odbywać się wielorako. Ręczny sposób
polega na wyborze z menu Project odpowied-
niej opcji, przedstawiono je na rys.   4 . Do
wyboru jest na przykład zbudowanie całej
przestrzeni roboczej lub też tylko aktywnego
projektu. Ciekawa jest opcja Build Automati-
cally z menu Project . Jeśli jest włączona, to
każdorazowe zapisanie plików po zmianie
zawartości wywoła automatycznie proces
budowania projektu.
Jak do tej pory nie było możliwości od-
czucia, że wersja środowiska, z której korzy-
stamy jest darmowa. Pierwsze ograniczenia
można zauważyć podczas ustawiania para-
metrów kompilatora. W płatnej wersji Pro-
fessional większość ustawień (nie tylko kom-
pilatora) jest dostępna z poziomu graicz-
nego interfejsu użytkownika. W wersji Lite
dobrodziejstwa środowiska graicznego są
znacznie ograniczone. Parametry kompilacji
trzeba wpisywać ręcznie. Nie jest to istotne
ograniczenie, ponieważ właściwości kompi-
lacji ustawia się zazwyczaj sporadycznie lub
nawet tylko raz dla danego projektu.
Korzystanie z tekstowego modyikowa-
nia parametrów kompilatora przedstawione
zostanie na przykładzie ustawiania pozio-
mu optymalizacji kompilacji. Po wybraniu
z  menu Project/Properties ukaże się okno
zamieszczone na rys.   5 . W ustawieniach C/
C++ Build w  opcjach różnych ( Miscella-
neous ) kompilatora C znajduje się wiersz,
w  którym można wprowadzać parametry
kompilacji. Przykładowo, jeśli wymagana
jest optymalizacja pod kątem rozmiaru kodu,
należy wpisać w wiersz „ -Os ”. Podczas ko-
lejnego budowania projektu ustawienie po-
ziomu optymalizacji kodu zostanie zastoso-
wane.
Po poprawnym zbudowaniu w drzewie
projektu pojawi się sekcja Binaries , a w niej
plik wynikowy w formacie .elf ( Executable
and Linking Format ). Rozmiar kodu przezna-
czonego do załadowania do pamięci mikro-
kontrolera można sprawdzić poprzez wybra-
nie pliku .elf, a następnie w dolnym oknie,
Rys. 2. Kreator nowego projektu
Predeiniowane widoki
Każdy, kto pracował ze środowiskiem
programistycznym i debugerem zapewne za-
uważył, że w trakcie pisania programu, a na-
stępnie wyszukiwania błędów jest wygodnie
korzystać z  różnego ustawienia okien na
ekranie. W pakiecie TrueSTUDIO zdeinio-
wano kilka najważniejszych układów okien,
Rys. 3. Wygląd środowiska TrueSTUDIO
ELEKTRONIKA PRAKTYCZNA 2/2010
75
652390439.007.png 652390439.008.png 652390439.009.png
NARZĘDZIA KONSTRUKTORA
Rys. 8. ST-Link GDB Server
Rys. 5. Modyikacja poziomu optymalizacji kompilacji
kodu
wybranie zakładki właściwości ( Properties ).
Przykładową zawartość zakładki przedsta-
wiono na rys.   5 . Rozmiar kodu, który zosta-
nie załadowany do pamięci programu jest
zapisany w  polu text , natomiast pola bss
(dane niezainicjalizowane) oraz data (dane
zainicjalizowane) informują o wykorzysta-
niu pamięci RAM.
Rys. 9. Koniguracja debugera przy pierwszym użyciu
Kontrola zmian w kodzie
Środowisko TrueSTUDIO jest niezwykle
innowacyjne. Co oczywiste, zwłaszcza wer-
sja płatna ma szereg ciekawych możliwości.
Darmowa wersja Lite umożliwia m. in. gra-
iczne sprawdzanie różnic pomiędzy plikami
zawierającymi kod programu. Jest to bardzo
przydatna funkcja w przypadku, kiedy są
dwie wersje jednego projektu, ale w różnym
wieku, lub też istnieje potrzeba porównania
zawartości dwóch plików. Wtedy zazwy-
czaj kontrola zmian polega na szukaniu ich
ręcznie. Pakiet TrueSTUDIO pozwala zauto-
matyzować ten proces. Uruchomienie trybu
graicznego porównania odbywa się przez
wybór menu kontekstowego. W celu porów-
nania dwóch plików należy zaznaczyć oby-
dwa, a następnie wybrać Compare With/Each
Other . W efekcie zostanie uzyskany widok
podobny do tego z  rys.   6 . Różniące się ob-
szary są dynamicznie zaznaczane i łączone
liniami pomiędzy oknami.
Debugowanie
TrueSTUDIO jest środowiskiem zin-
tegrowanym, a  więc praca z  debugerem
jest, po wstępnym skonigurowaniu, łatwa
i przyjemna. Po podłączeniu programatora/
debugera STLink do zestawu ewaluacyjne-
go i komputera oraz po włączeniu zasilania
zestawu, należy uruchomić program ST-Link
GDB Server ( Start/Programy/Atollic/ ), który
automatycznie nawiąże komunikację z pro-
gramatorem. Ukaże się okno zamieszczone
na rys.   7 , którego podczas pracy nie należy
zamykać.
Przy pierwszym uruchomieniu debuge-
ra dla nowego projektu wymagana jest jego
koniguracja. Wybieramy menu Run/Debug
Conigurations , po czym w oknie ustawień
należy rozwinąć GDB Hardware Debugging
i wybrać interesujący projekt, przedstawiono
to na rys.   8 . Teraz wystarczy już tylko kliknąć
przycisk „ Debug ”, a program zostanie automa-
tycznie załadowany do pamięci mikrokontro-
lera, a widok programu zostanie przełączony
na odpluskwianie. Następne uruchomienie
debugera nie będzie już wymagało żadnych
czynności koniguracyjnych, wystarczy z li-
sty rozwijanej przycisku debugowania wybrać
nazwę projektu.
Po przełączeniu w tryb debugowania mi-
krokontroler oprócz zaprogramowania jest
Rys. 6. Właściwości pliku *.elf, rozmiar
programu
Rys. 7. Graiczne porównanie różnic w plikach źródłowych
76
ELEKTRONIKA PRAKTYCZNA 2/2010
652390439.010.png 652390439.011.png
Sposób na mikrokontrolery STM32
TrueSTUDIO podczas debugo-
wania przedstawiono na rys.   9 .
Rys. 10. Wygląd środowiska TrueSTUDIO podczas debugowania
Podsumowanie
Wraz z pojawieniem się na
rynku środowiska TrueSTUDIO
konstruktorzy otrzymali tanie
lub – co bardziej istotne - nawet
bezpłatne narzędzie dla mikro-
kontrolerów STM32. Dzięki
temu została usunięta główna
bariera przed stosowaniem tych
układów we własnych aplika-
cjach, którą do tej pory była cena
profesjonalnych pakietów. Dla-
tego też należy się spodziewać
dalszej ekspansji mikrokontro-
lerów STM32 i umacniania się
ich pozycji na rynku. Być może,
jeśli tylko ta rodzina będzie się
rozwijać w takim tempie, jak do-
tychczas, a producenci taniego
oprogramowania narzędziowego
będą oferować pakiety o coraz
wyższej jakości, to irma STMi-
croelectroics będzie coraz silniej
kojarzona z mikrokontrolerami.
Przed układami STM32 zaczyna
się rysować naprawdę wspaniała przyszłość.
Krzysztof Paprocki
paprocki.krzysztof@gmail.com
również automatycznie zerowany, a wykony-
wanie kodu jest zatrzymywane przy osiągnię-
ciu pętli głównej programu ( main ). Sterowa-
nie debugerem jest standardowe. Ciągłą pracę
włącza się przyciskiem Resume , lub wybiera-
jąc z menu Run/Resume . Wygląd środowiska
R
E
K
L
A
M
A
ELEKTRONIKA PRAKTYCZNA 2/2010
77
652390439.012.png
Zgłoś jeśli naruszono regulamin