Tutorial Code-Blocks, Rev. 0.4.pdf
(
1546 KB
)
Pobierz
Code::Blocks + GCC ARM Embedded
Toolchain + OpenOCD +
STM32CubeMX + STM32F4 +
Discovery + Linux
Tutorial - Code::Blocks, Rev. 0.4
Przemysław Fornalkiewicz
e-mail: przemyslaw.fornalkiewicz@gmail.com
Spis treści
1.Wstęp................................................................................................................................................2
2.Narzędzia wykorzystane do budowanego środowiska programistycznego.....................................3
3.Instalacja kompilatora - GCC ARM Embedded Toolchain..............................................................4
4.Instalacja debuggera sprzętowego - OpenOCD (Open On-Chip Debugger)...................................5
5.Instalacja STM32CubeMX...............................................................................................................6
6.Instalacja System Workbench STM32 (opcjonalnie).......................................................................7
7.Instalacja Code::Blocks....................................................................................................................8
8.Konfiguracja środowiska programistycznego oraz utworzenie nowego projektu............................9
8.1.Konfiguracja debuggera programowego................................................................................10
8.2.Konfiguracja kompilatora GCC..............................................................................................11
8.3.Tworzenie nowego projektu....................................................................................................12
9.Generowanie kodu źródłowego w programie STM32CubeMX....................................................15
9.1.Konfiguracja ustawień podczas generowania kodu................................................................15
9.2.Konfiguracja peryferiów mikrokontrolera..............................................................................18
10.Konfiguracja kompilacji i debugowania projektu........................................................................21
10.1.Wykorzystanie oprogramowania System Workbench for STM32.......................................21
10.2.Konfiguracja kompilacji projektu w środowisku Code::Blocks...........................................23
10.3.Konfiguracja debugowania kodu w środowisku Code::Blocks............................................29
11.Uruchomienie debugowania.........................................................................................................31
12.Zakończenie..................................................................................................................................34
Bibliografia.........................................................................................................................................35
T001 – Code::Blocks, Rev. 0.4
1/35
© 2016, przemof-s
1. Wstęp
Poniższy tutorial dotyczy głównie konfiguracji
Code::Blocks,
umożliwiającej pisanie i
debugowanie kodu w języku C/C++, m.in. dla mikrokontrolerów z rodziny
STM32.
Opis
zrealizowany został na przykładzie płytki
STM32F4DISCOVERY.
Jednak przedstawioną
metodę można wykorzystać do konfiguracji innych układów z tej rodziny. Prezentowany
opis zawiera informacje dotyczące konfiguracji:
Code::Blocks + GCC ARM Embedded
Toolchain + OpenOCD + STM32CubeMX + STM32F4Discovery + Linux.
Aby możliwe było stworzenie takiego połączenia narzędzi, konieczne jest zainstalowanie
kilku pakietów. Instalacja kompilatora i debuggera została dość dobrze opisana w sieci
internet, więc ich instalacja nie została szczegółowo przedstawiona. Zamiast tego, wskazane
zostały odniesienia do odpowiednich stron internetowych. Podobnie sprawa wygląda z
obsługą programu
STM32CubeMX.
Opis konfiguracji
Code::Blocks
bazuje na
anglojęzycznej
wersji
tutoriala
http://www.hackvandedam.nl/blog/?p=707.
Został
rozszerzony o dodatkowe informacje oraz wskazówki, jak go skonfigurować do współpracy
z niemal każdym układem z rodziny
STM32.
Dla układów STM32 jest już dostępne gotowe, zintegrowane środowisko programistyczne:
System
Workbench
for
STM32
(SW4STM32),
który bazuje na środowisku
Eclipse.
Jaki jest więc sens samodzielnego składania środowiska? Autor nie lubi
środowiska
Eclipse,
nie odpowiada mu jego rozmieszczenie okien, obsługa, po prostu źle
mu się w tym środowisku pracuje. Jest to wystarczający powód. Jednak, żeby było
ciekawiej, samo środowisko
SW4STM32
zostanie wykorzystane do „ściągnięcia”
konfiguracji dla kompilatora
GCC.
Dzięki temu konfigurację można przeprowadzić szybko,
dla wielu różnych mikrokontrolerów, nie zagłębiając się w tajniki wymaganych przez
kompilator parametrów.
Ponieważ strony w internecie lubią czasami „znikać”, wszystkie wykorzystane odnośniki do
konfiguracji poszczególnych pakietów, zostały umieszczone w załączniku, aby tutorial nie
stał się bezużyteczny na wypadek „zniknięcia”, któreś ze stron. Wszystkie wykorzystane
narzędzia są dostępne również dla systemu
Windows,
możliwe jest zatem zastosowanie
opisanej konfiguracji również w tym systemie, uwzględniając różnice w sposobie działania
systemów obu systemów.
T001 – Code::Blocks, Rev. 0.4
2/35
© 2016, przemof-s
2. Narzędzia wykorzystane do budowanego środowiska programistycznego
Konfiguracja systemu została zrealizowana w systemie operacyjnym
Linux Mint
Cinnamon 17.3 Rosa 64-bit.
Do budowy środowiska programistycznego, wykorzystano
najnowsze dostępne w tym czasie wersje oprogramowania, które w czasie prac (kwiecień
2016) oznaczały się następującymi wersjami:
a)
Linux Mint Cinnamon - v17.3 Rosa 64-bit
b)
GCC ARM Embedded Toolchain – v5_3-2016q1
c)
OpenOCD – v0.9.0
d)
STM32CubeMX – v4.14.0
e)
System Workbench STM32 (SW4STM32) – v1.3
f)
Code::Blocks - v16.01
T001 – Code::Blocks, Rev. 0.4
3/35
© 2016, przemof-s
3. Instalacja kompilatora -
GCC ARM Embedded Toolchain
Pakiet kompilatora dla mikrokontrolerów z rodziny ARM (w tym STM32) nazywa się
gcc-arm-none-eabi.
Można wykorzystać pakiet dostępny w repozytorium Linuxa lub
zainstalować najnowszą dostępną wersję, ściągniętą ze strony opiekunów pakietu.
W poniższym opisie wykorzystano drugi sposób, wybierając najnowszą dostępną
wersję pakietu. W chwili tworzenia poniższej konfiguracji była to wersja
gcc-arm-
none-eabi-5_3-2016q1.
*-linux.tar.bz2.
Szczegóły
Niezbędne
instalacji
pliki
pakietu
można
dostępne
pobrać
są
ze
pod
strony
adresem
https://launchpad.net/gcc-arm-embedded/+download.
Potrzebna jest wersja oznaczona jako
http://gnuarmeclipse.github.io/toolchain/install/.
T001 – Code::Blocks, Rev. 0.4
4/35
© 2016, przemof-s
4. Instalacja debuggera sprzętowego - OpenOCD (Open On-Chip Debugger)
Pakiet
OpenOCD
tworzy interfejs pomiędzy sprzętowym debuggerem/programatorem
mikrokontrolera, a standardowym debuggerem
GDB,
dostępnym w systemie Linux. Aby
rozróżnić debugger
OpenOCD
od debuggera
GDB,
pierwszy nazywany będzie
sprzętowym,
a
drugi
programowym.
Również w tym przypadku możliwe jest wykorzystanie pakietu
dostępnego w systemie, jednak podobnie jak dla kompilatora, zainstalowana została
najnowsza
rozszerzenie
dostępna
*.tar.bz2.
wersja
OpenOCD
0.9.0,
dostępna
Potrzebna
są
pod
pod
adresem:
ma
adresem
https://sourceforge.net/projects/openocd/files/openocd/0.9.0/.
Szczegóły
instalacji
wersja
dostępne
http://hertaville.com/stm32f0discovery-part-1-linux.html
w sekcji „Downloading
and
Installing OpenOCD”
Podczas instalacji pakietu zgodnie ze wskazanym źródłem, konfigurację pakietu można
zakończyć na poleceniu
sudo make install.
Pozostałe komendy nie są konieczne do
poprawnego działania budowanego środowiska. Aby zachować porządek w systemie
instalacja pakietu została zmieniona z lokalizacji
$HOME/EmbeddedArm/openocd-
bin
na lokalizację
/usr/local/
(taka sama jak kompilatora). Należy o tym pamiętać
podczas wykonywania polecenia
./configure.
W wyniku zainstalowania powyższych pakietów według wskazanych źródeł, kompilator
GCC
został zainstalowany w lokalizacji:
/usr/local/gcc-arm-none-eabi-5_3-
2016q1
a debugger sprzętowy
OpenOCD
w lokalizacji:
/usr/local/openocd-bin.
W dalszej części tutoriala, właśnie do tych lokalizacji będzie się odwoływać pakiet
Code::Blocks.
T001 – Code::Blocks, Rev. 0.4
5/35
© 2016, przemof-s
Plik z chomika:
wegi1
Inne pliki z tego folderu:
Adapting STM32CubeMX Projects for EmBitz - Printable Version.pdf
(1121 KB)
Demo_34_LCD_2x16.zip
(167 KB)
en.DM00038796.pdf
(146 KB)
en.DM00104712.pdf
(19833 KB)
Tutorial Code-Blocks, Rev. 0.4.pdf
(1546 KB)
Inne foldery tego chomika:
STM32F407VGT6_DISCOVERY
Zgłoś jeśli
naruszono regulamin