STM32F0Discovery: jak zacząć
Kolejnym ważnym krokiem jest pobranie kodów źródłowych obsługi rdzenia i peryferii, które znacząco ułatwiają pisanie programów końcowych. Na stronie producenta zestawu w zakładce Design support należy odszukać plik archiwalny, który nazywa się STM32F0 Discovery kit firmware package, including 21 examples and preconfigured projects for 4 different IDEs. Po pobraniu i rozpakowaniu archiwum należy skopiować katalog STM32F0xx_StdPeriph_Driver z katalogu Libraries oraz katalog STM32F0-Discoveryz katalogu Utilities i umieścić je w katalogu plików źródłowych tworzonego projektu SimpleApp/Application. Tworzymy również tutaj nowe katalogi o nazwach CMSIS oraz User. Do katalogu CMSIS kopiujemy pliki core_cm0.h, core_cmInstr.c oraz core_cmFunc.c z katalogu Libraries\CMSIS\Include, pliki stm32f0xx.h i system_stm32f0xx.h z katalogu Libraries\CMSIS\ST\STM32F0xx\Include, oraz plik system_stm32f0xx.c z katalogu system_stm32f0xx.c.
W pobranym pliku archiwalnym znajdują się również przykładowe projekty przedstawiające możliwości zestawu. Kody źródłowe jednego z nich zostaną wykorzystane do budowy prostej aplikacji. Z katalogu Project\Demonstration do naszego katalogu User kopiujemy pliki: main.c, main.h, stm32f0xx_conf.h, stm32f0xx_it.c oraz stm32f0xx_it.h. Pierwsze dwa pliki zawierają odpowiednio algorytm końcowy działania aplikacji oraz definicje. Kolejny plik zawiera informację jakie elementy biblioteki StdPeriph włączyć do kompilacji projektu. Ostatnie dwa pliki opisują jak mają być obsługiwane przerwania.
W oknie plików projektu Project programu głównego klikamy prawym przyciskiem myszy na najwyższym elemencie struktury plików ze standardową nazwą Target 1 i z wywołanego menu kontekstowego wybieramy Add group… po czym podajemy nazwę grupy User. W podobny sposób tworzymy grupy: STM32F0-Discovery, STM32F0xx_StdPeriph_Driver oraz CMSIS. Warto również zmienić nazwę grupy do której został dodany plik startowy z rozszerzeniem .s na MDK-ARM. Następnie klikając po kolei na utworzonych grupach i wywołując menu kontekstowe wybieramy opcję Add Files to Group… i dodajemy pliki źródłowe w taki sposób jak to przedstawiono na rysunku 4.
Rys. 4. Struktura plików projektu
W trakcie kompilacji projektu potrzebne są ścieżki dostępu do poszczególnych plików źródłowych dlatego w okienku Options for Target w zakładce C/C++ klikamy na przycisk obok Include Paths (rysunek 5) i dodajemy je (rysunek 6). Oprócz tego w polu Define należy wpisać USE_STDPERIPH_DRIVER.
Rys. 5. Zakładka C/C++
Rys. 6. Okno Include Paths
Teraz można skompilować projekt przechodząc do menu Project->Build Target lub wcisnąć na klawiaturze klawisz F7. Jeżeli wszystko jest w porządku to w okienku Build Output powinien się pojawić następujący komunikat:
Program Size: Code=4532 RO-data=252 RW-data=56 ZI-data=1632 "SimpleApp.axf" - 0 Error(s), 0 Warning(s).