[e-PAPER] STM32L0538-DISCO w praktyce [1]: konfiguracja środowiska MDK ARM/Keil MDK
10. Otwieramy folder w którym został zapisany projekt, powinien zawierać pliki nazwa_projektu.uvprojx i nazwa_projektu.uvoptx oraz dwa foldery – Listings i Objects . Tworzymy dwa nowe foldery i nazywamy je Inc oraz Src .
11. Pobieramy paczkę bibliotek STM32CubeL0 http://www.st.com/web/en/catalog/tools/PF260508
12. Kopiujemy folder Drivers z paczki STM32CubeL0 do folderu z projektem.
13. Przechodzimy do ekranu głównego środowiska MDK-ARM Keil. Prawym przyciskiem myszy klikamy na Target 1 w oknie Project i wybieramy Manage Project Items .
14. W oknie Manage Project Items można zmienić domyślną nazwę folderu Source Group 1 , Target 1 oraz dodać inne foldery w oknie Groups . Tworzymy kilka grup, np. User , HAL Drivers , CMSIS, BSP, Components oraz dodajemy do odpowiednich folderów wcześniej skopiowanych plików bibliotek za pomocą przycisku Add files .
15. Teraz kopiujemy pliki z katalogów Inc i Src z paczki STM32CubeL0 z folderu Projects/STM32L053C8-Discovery/Templates z do tak samo nazwanych folderów w katalogu naszego projektu. ( main.h , stm32l0xx_hal_conf.h , stm32l0xx_it.h , main.c , stm32l0_hal_msp.c , stm32l0xx_it.c ). Pliki z rozszerzeniem .c dołączamy do grupy User . Następnie dołączamy wszystkie pliki z folderu Drivers/STM32L0xx_HAL_Driver/Src do grupy HAL Drivers .
16. Znajdujemy plik system_stm32l0xx.c w katalogu Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates oraz startup_stm32l053xx.s w katalogu Drivers/CMSIS/Device/ST/STM32L0xx/Source/Templates/arm i dodajemy te pliki do grupy CMSIS.
17. Znajdujemy pliki stm32l0538_discovery.c i stm32l0538_discovery_epd.c w katalogu Drivers/BSP/STM32L0538-Discovery i dodajemy ten plik do grupy BSP.
18. Znajdujemy plik gde021a1.c w katalogu Drivers/BSP/Components/gde021a1 i dodajemy ten plik do grupy Components .
19. Tworzymy nowy plik klikając na zakładkę File oraz New… i kopiujemy do niego następujący kod:
#include "bsp.h" void Bsp_Init(void) { /* Configure LED3 and LED4 */ BSP_LED_Init(LED3); BSP_LED_Init(LED4); /* Initialize the User button */ BSP_PB_Init(BUTTON_KEY, BUTTON_MODE_EXTI); /* Initialize the EPD */ BSP_EPD_Init(); /* Initialize the Touch sensor */ BSP_TSL_Init(); } /** * @brief Configure the touch sensor. * @param None * @retval None */ void BSP_TSL_Init(void) { /* Configure the TSC peripheral */ /* All channel, shield and sampling IOs must be declared below */ /* Initialize the STMTouch driver */ } /** * @brief Initializes LEDs, Button, and EPD. * @param None * @retval None */ void BSP_USB_Init(void) { /* Init Device Library */ /* Register the HID class */ /* Start Device Process */ }
Zapisujemy utworzony plik pod nazwą bsp.c klikając File oraz Save as… i dodajemy ten plik do grupy User . Zamykamy okno Manage Projects Items za pomocą przycisku OK.
20. Otwieramy okno konfiguracji projektu przyciskiem Options for Target ‘nazwa’ (domyślnie Target 1 ) lub wybieramy z zakładki Project polecenie Options for Target .
21. Dodajemy w zakładce C/C++ w polu Define w ramce Preprocessor Symbols następującą definicję:
USE_HAL_DRIVER,STM32L053xx,USE_STM32L0538_DISCO,
Za pomocą przycisku po prawej stronie pola Include Paths dodajemy ścieżki do następujących folderów:
- .\Inc
- .\Drivers\STM32L0xx_HAL_Driver\Inc
- .\Drivers\CMSIS\Device\ST\STM32L0xx\Include
- .\Drivers\BSP\STM32L0538-Discovery
- .\Drivers\BSP\Components\gde021a1