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 1 - pliki bazowe z przyk?adów, biblioteka w folderze projektu

Jest to najprostsza metoda osi?gni?cia za?o?onego celu. W sposobie tym kopiujemy po prostu wszystkie potrzebne pliki biblioteki do folderu projektu.

W projekcie (dla wi?kszego porz?dku) tworzymy folder (menu File > New > Folder lub - jak zwykle - menu kontekstowe katalogu projektu) o dowolnej nazwie - np lib - i importujemy do niego (sposób importowania plików przedstawiony zosta? nieco wcze?niej w tym artykule) nast?puj?ce zasoby:

  1. z folderu c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport - wszystkie pliki (core_cm3.c i core_cm3.h),
  2. z folderu c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x - plik stm32f10x.h oraz system_stm32f10x.h (dla porz?dku mo?na te? zaimportowa? do folderu lib plik system_stm32f10x.c a nast?pnie skasowa? go z g?ównego katalogu projektu, lub mo?na go pó?niej przenie??),
  3. z folderu c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\inc - wszystkie pliki,
  4. z folderu c:\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver\src - wszystkie pliki.

Teraz nale?y doda? do pliku Makefile kilka opcji, które umo?liwi? poprawn? kompilacj? plików biblioteki. Po otwarciu pliku Makefile w edytorze dokonujemy w nim nast?puj?cych zmian:

  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 liniach INC_DIRS i SRCS_DIRS dodajemy nazw? stworzonego przez nas katalogu - np. lib,
  4. 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".

W tym momencie mo?liwa jest ju? bezb??dna i bezproblemowa kompilacja ca?ego projektu.



Last Updated on Monday, 15 October 2012 22:24