Home Articles ARM Przyk?ady dla STM32 + STM32F10x Standard Peripherals Library
Przyk?ady dla STM32 + STM32F10x Standard Peripherals Library
User Rating: / 47
PoorBest 
Written by Freddie Chopin   
Wednesday, 11 January 2012 21:35
Article Index
Przyk?ady dla STM32 + STM32F10x Standard Peripherals Library
Wspólny pocz?tek
Sposób 1
Sposób 2
Sprawdzenie konfiguracji
Outro
All Pages

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:

  1. 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),
  2. 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,
  3. 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
  4. 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
  5. 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