Przykłady dla STM32 + STM32F10x Standard Peripherals Library |
Written by Freddie Chopin
|
Wednesday, 11 January 2012 21:35 |
Page 4 of 6
Sposób 2 - pliki bazowe z przykładów, biblioteka w innym folderze
W tej metodzie w projekcie wykorzystane są pliki bazowe (startup, skrypt linkera, tablica wektorów i Makefile) z przykładu, a biblioteka znajduje się w dowolnym miejscu.
Jak zwykle najważniejszym etapem jest dodanie do pliku Makefile niezbędnych wpisów. Otwieramy więc plik Makefile w edytorze i wykonujemy w nim następujące czynności:
- w liniach CXX_DEFS i C_DEFS dodajemy następujące definicje: -DUSE_STDPERIPH_DRIVER -DHSE_VALUE=8000000 (wartość HSE_VALUE oczywiście uzależniona od używanego rezonatora kwarcowego), spowoduje to dołączenie do kodu odpowiednich nagłówków (definicja symbolu USE_STDPERIPH_DRIVER) i odpowiednią konfigurację funkcji które korzystają z wartości częstotliwości zewnętrznego rezonatora kwarcowego (wartość symbolu HSE_VALUE),
- w linii C_DEFS dodatkowo dopisujemy jeszcze -DSystemInit=low_level_init_1 - spowoduje to wywołaniem funkcji SystemInit() (z biblioteki) w startupie tuż przed wywołaniem funkcji main() - jest to wymagane przez aktualną konwencję biblioteki,
- w linii INC_DIRS dodajemy następujące ścieżki z potrzebnymi nagłówkami:
- c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
- c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x
- c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc
- w linii SRCS_DIRS dodajemy następujące ścieżki z potrzebnymi plikami źródłowymi:
- c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport
- c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src
- z linii C_WARNINGS usuwamy pozycję -Wstrict-prototypes, aby niezgodne z "czystym" standardem języka C deklaracje funkcji z CMSISa nie zasypały nas ostrzeżeniami, że "function declaration isn't a prototype".
Podając wiele parametrów można rozdzielić je na klika linii przy pomocy znaku backslasha "\" lub powtarzać daną zmienną operatorem "+=" w kolejnych liniach VAR1 = value1 \ value2 \ value3 VAR2 = value1 VAR2 += value2 VAR2 += value3
W tym momencie projekt można już skompilować i powinno się to odbyć bez błędów, a więc zasadniczo wszystko jest w teorii gotowe.
|
Last Updated on Monday, 15 October 2012 22:24 |