Opis z dnia 06.04.2014. 1. Czynności związane z instalacją środowiska MDK, ST Link i biblioteki



Podobne dokumenty
Opis z dnia , dr inż. Wojciech Mysiński. 1. Czynności związane z instalacją programatora ST Link

Laboratorium Procesorów Sygnałowych

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

TECHNIKA MIKROPROCESOROWA II

Product Update Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Instrukcja programowania płytek edycji 2014

AsLinkEx instrukcja obsługi

Konfiguracja pakietu CrossStudio for MSP

Programowanie niskopoziomowe

dokument DOK wersja 1.0

Electronic Infosystems

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Instrukcja obsługi programatora AVR Prog USB v2

1.Wstęp. 2.Generowanie systemu w EDK

Ewidencja Wyposażenia PL+

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

Instrukcja instalacji oraz konfiguracji sterowników. MaxiEcu 2.0

Programator procesorów rodziny AVR AVR-T910

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Informatyka I : Tworzenie projektu

Instrukcja obsługi programatora AVR Prog USB v2

Projektowanie z użyciem procesora programowego Nios II

Instrukcja aktualizacji oprogramowania. Wersja dokumentu: 01i00 Aktualizacja:

PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Spis treści. Opis urządzenia. Pierwsze użycie

OPTIMA PC v Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA ELFON. Instrukcja obsługi. Rev 1

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Inwentarz Optivum. Jak wykorzystać kolektor danych do wypełniania arkuszy spisowych?

Instrukcja instalacji systemu. CardioScan 10, 11 i 12

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Instalacja programu na systemie vista/win7/win8/win10. Instrukcja dotyczy instalacji wszystkich programów ( na przykładzie Helios ).

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Płytka uruchomieniowa XM64

Instrukcja do oprogramowania ENAP DEC-1

Poradnik użytkownika pomoc techniczna

Programator-debugger JTAG/SWIM dla mikrokontrolerów STM32 i STM8

Instrukcja NAWIGACJA MEDIATEC 7 CALI

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

INSTRUKCJA OBSŁUGI PROGRAMU INSTAR 1.0

AUTOMATYKA PRZEMYSŁOWA

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-520L

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Instytut Teleinformatyki

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion

WPROWADZENIE DO INFORMATYKI

Krótka instrukcja instalacji Adobe Acrobat Reader

Galileo v10 pierwszy program

DOKUMENTY I GRAFIKI. Zarządzanie zawartością Tworzenie folderu Dodawanie dokumentu / grafiki Wersje plików... 7

SKRÓCONA INSTRUKCJA INSTALACJI MODEMU I KONFIGURACJA POŁĄCZENIA Z INTERNETEM NA WINDOWS 8 DLA AnyDATA ADU-510L

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Instrukcja instalacji BMW INPA do interfejsu BMW USB VIAKEN

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

Instrukcja instalacji systemu. CardioScan 10, 11 i 12

Laboratorium - Instalacja Virtual PC

Politechnika Warszawska. Temat: Układ ważący. Opiekun: mgr inż. Marek Peryt

FAQ: /PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

inode instalacja sterowników USB dla adaptera BT 4.0

INSTRUKCJA OBSŁUGI.

Instrukcja wgrywania aktualizacji oprogramowania dla routera Edimax LT-6408n

Programowanie sterowników

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

INSTRUKCJA UŻYTKOWANIA CZYTNIKA KART PROCESOROWYCH SYGNET 5v1 IU SY5

Instalacja aplikacji

Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer)

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

INSTRUKCJA INSTALACJA MODEMU HUAWEI E220 DLA SYSTEMU WINDOWS

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

TECHNIKA MIKROPROCESOROWA II

TAB9-200 XENTA 97ic 9.7 TABLET ANDROID JELLY BEAN - INSTRUKCJA AKTUALIZACJI

DOKUMENTACJA PROJEKTU

Nagrywamy podcasty program Audacity

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instrukcja konfigurowania GPS Trackera

Załącznik 1 instrukcje instalacji

DEWI

MultiBoot Instrukcja obsługi

Instrukcja aktualizacji oprogramowania. CardioScan 10, 11 i 12. do wersji 54a luty 2012

Programator AVR USBasp

Szanowni Państwo. Należy przy tym pamiętać, że zmiana stawek VAT obejmie dwie czynności:

Instytut Teleinformatyki

NIE WYŁACZANIE PROTOKOŁU TCP/IP POWODUJE ZNACZNE SPOWOLNIENIE DZIAŁANIA SIECI!!! PROSZĘ O TYM PAMIĘTAĆ!

MultiTool instrukcja użytkownika 2010 SFAR

Opis szybkiego uruchomienia programu APBSoft

Content Manager 2.0 podręcznik użytkownika

MobileNET. Instalacja i konfiguracja MobileNET SIECI BLOKOWE S.C.

Transkrypt:

Podstawowe zasady tworzenia projektu dla STM32F4 w środowisku uvision 5, z wykorzystaniem zestawu STM32F4-Discovery i bibliotek do obsługi peryferiów dla STM32F4 (Cortex M4), Opis z dnia 06.04.2014 1. Czynności związane z instalacją środowiska MDK, ST Link i biblioteki Zainstalować najnowszą wersję środowiska uvision MDK, firmy Keil dla układów typu ARM. Standardowo pakiet instaluje się na dysku, C:\Keil. UWAGA!! proszę nie używać polskich liter i znaku spacji przy nazwach katalogów (folderów) i plików, które będą używane przez projekt i środowisko uvision. Pobrać i uruchomić instalację sterownika USB dla programatora/debugera STLink (stlink_v2_usbdriver.exe) (http://www.st.com/web/en/catalog/tools/pf258167). Pobrać i zainstalować program STM32 ST-LINK Utility, który służy do programowania mikrokontrolera za pomocą programatora/debugera STLink (stm32_st-link_utility.exe) (http://www.st.com/web/en/catalog/tools/pf258168). Standardowo program się instaluje w katalogu "C:\Program Files\STMicroelectronics\STM32 ST-LINK Utility\". Podkatalog Docs zawiera opis obsługi programu i programatora ST Link. Po poprawnej instalacji i uruchomieniu programu powinno się pojawić okienko jak na rysunku 1. Rys. 1. Okienko programu STM32 ST-Link Podłączyć płytkę STM32F4-Discovery do portu USB komputera za pomocą kabla typu USB A na USB mini B. Komputer wykryje nowe urządzenie i zacznie instalować sterowniki dla ST-Link-a. Jeżeli nie znajdzie sterowników należy wskazać ich miejsce. Jest to katalog, który powstał po uruchomieniu stlink_v2_usbdriver.exe. Po poprawnej instalacji sterowników w menedżerze urządzeń powinno się pojawić nowe urządzenie typu STMicroelectronics STLink dongle, jak na rysunku 2.

Na płytce STM32F4-Discovery powinna świecić dioda od zasilania (PWR), dioda od debugera (COM) i powinny mrugać cztery diody (zielona, czerwona, niebieska, pomarańczowa). Działa wtedy oryginalny program zainstalowany na płytce. Rys.2. Widok menedżera urządzeń po zainstalowaniu STLink Po uruchomieniu programu ST Link i wybraniu z menu Target -> Connect, program łączy się z płytką i wykrywa typ mikrokontrolera i odczytuje zawartość pamięci (rysunek 3). Rys.3. Okienko programu STM32 ST-Link po wykryciu mikrokontrolera na płytce Może się okazać, że oprogramowanie debugera na płytce Discovery wymaga uaktualnienia. Wtedy wybieramy z menu ST-LINK->Firmware update i pojawi się okienko ST-Link Upgrade. Naciskamy Device Connect i program odczyta wersję zainstalowanego oprogramowania (tzw. firmware) oraz wersję, która jest dostępna w programie STM32 ST-Link Utility.

Jeżeli pojawią się problemy z połączeniem i odczytanie wersji (program zgłosi, że należy zresetować urządzenie), należy odłączyć kabel od płytki USB i ponownie podłączyć. Jeżeli wersja firmware Version jest niższa od dostępnej, naciskamy Yes. Komputer PC poprzez port USB wgra nowszą wersję i powinno się pojawić okienko Upgrade is succesful. Wtedy obie wersje firmware są jednakowe (rysunek 4). Rys.4. Okienko do aktualizacji oprogramowania debugera ST Link Wgrywanie nowego firmware jest typową procedurą po zakupie płytki STM32F4-Discovery i jej pierwszym uruchomieniu. Aktualne firmware dla ST-Link-a jest zawsze dostępne na stronie www.st.com. Po aktualizacji oprogramowania może się pojawić problem z połączeniem (komunikat No STLink detected) wtedy należy odłączyć kabel od płytki USB i ponownie podłączyć i wybrać z menu Target -> Connect. Ważne, aby w ST-Link był ustawiony w tryb SWD, można to sprawdzić w Target -> Settings (rysunek 5). Jeżeli jest połączenie pomiędzy płytką a programem to można, np. odczytać zawartość rejestrów, z menu Target -> MCU Core (rysunek 5). Rys.5. Okienko trybu pracy ST Link-a i okienko Core panel Poprawne działanie programu STM32 ST-Link Utility i debugera na płytce wraz podłączonym mikrokontrolerem STM32 F4 umożliwia pracę (programowanie, debugowanie) w środowisku uvision. Jeżeli używamy najnowszej wersji środowiska MDK-ARM, firmy Keil to też należy sprawdzić czy jest zainstalowana najnowsza wersja drivera i oprogramowania debugera ST Link. Driver do ST-Link-a działa poprawienie pod WIN XP, Vista i WIN7. Dla WIN8 należy pobrać osobny driver ze strony http://www.st.com/web/en/catalog/tools/pf251168.

2. Przygotowanie katalogów i plików do projektu Aby skorzystać z środowiska uruchomieniowego uvision, firmy Keil do programowania mikrokontrolerów STM32 w języku C (lub asemblerze) należy stworzyć tzw. projekt, do którego będą dołączone różnego typu pliki. Przed rozpoczęciem pracy z uvision lepiej wcześniej przygotować katalogi i niektóre pliki dla projektu. Przedstawiona poniżej procedura przygotowania projektu jest jedną z możliwych propozycji ustawienia katalogów i plików dla projektu. Można też skorzystać z gotowych ustawień zawartych w katalogach biblioteki lub ustawić według swoich wymagań. Procedura przygotowania ma na celu uporządkowanie katalogów i podkatalogów projektu aby można było łatwo odnajdywać pliki i pisać bardziej zaawansowane projekty oraz łatwo przenosić projekty pomiędzy komputerami. Założeniem zaproponowanej konfiguracji jest to, aby wszystkie potrzebne pliki do projektu znajdowały się w katalogu projektu. Dzięki temu można pracować nad projektem, który jest zapisany np. na pamięci przenośnej. Na wybranym dysku utworzyć nowy katalog dla projektów np. d:\stm32f4. Pobrać bibliotekę STM32F4xx_DSP_StdPeriph_Lib_V1.3 dla STM32F4 z http://www.st.com/web/en/catalog/tools/pf257901 i rozpakować bibliotekę do katalogu d:\stm32f4. Pobrać przykładowe projekty STM32F4-Discovery_FW_V1.1.0 dla płytki STM32F4-Discovery (STM32F4DISCOVERY board firmware package) z http://www.st.com/web/en/catalog/tools/pf257904 i rozpakować do katalogu d:\stm32f4. W katalogu projektów utworzyć nowy katalog np. projekt2. Następnie utworzyć podkatalogi inc, libraries, lst, obj, src, utilities. W katalogu obj będą umieszczane wszystkie pliki po kompilacji, np. plik hex. W inc umieszczamy wszystkie niezbędne plik nagłówkowe typu *.h. Pliki źródłowe w C lub w asemblerze będą w podkatalogu src. Pliki biblioteczne będą w podkatalogu libraries. W lst kompilator umieści pliki z tzw. listingiem. W podkatalogu utilities można wstawić pliki z funkcjami np. do obsługi wyświetlacza LCD. Do tworzenia nowego projektu wykorzystamy gotowe pliki, które są umieszczone w podkatalogach biblioteki STM32F4xx_DSP_StdPeriph_Lib i oprogramowania STM32F4-Discovery_FW i są przewidziane dla środowiska uvision. Z katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Project\ STM32F4xx_StdPeriph_Templates kopiujemy pliki: main.h, stm32f4xx_it.h i stm32f4xx_conf.h do naszego podkatalogu projekt2\inc, pliki main.c, stm32f4xx_it.c i system_stm32f4xx.c kopiujemy do podkatalogu projektu projekt2\scr. Z katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Libraries\- CMSIS\Device\ST\STM32F4xx\Include) kopiujemy pliki: stm32f4xx.h i system_stm32f4xx.h do naszego katalogu projekt2\inc. Z katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Libraries\CMSIS\Include kopiujemy cały podkatalog \CMSIS\Include do naszego podkatalogu projekt1\libraries\cmsis\include. Z katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\ STM32F4xx_StdPeriph_Driver kopiujemy cały podkatalog STM32F4xx_StdPeriph_Driver do naszego podkatalogu projekt2\libraries\stm32f4xx_stdperiph_driver. Katalog zawiera podkatalogi inc i src, w których są pliki typu h i c zawierające podstawowe funkcje (procedury) do konfiguracji i obsługi urządzeń peryferyjnych w mikrokontrolerze STM32. Aby zmniejszyć zajętość pamięci na dysku w projekcie można pozostawić tylko te pliki z których się korzysta.

Z katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Libraries\CMSIS\Device\ST\ STM32F4xx\Source\Templates\arm skopiować tzw. plik startowy startup_stm32f40xx.s do katalogu głównego projekt2. UWAGA!! proszę nie używać polskich liter i znaku spacji przy nazwach katalogów (folderów) i plików, które będą używane przez projekt i środowisko uvision. UWAGA!! przykładowe projekty (gotowe programy) zawarte w katalogu biblioteki STM32F4xx_DSP_StdPeriph_Lib_V1.3.0\Project\STM32F4xx_StdPeriph_Examples są przewidziane głównie dla modułu STM32 EVAL a nie dla STM32F4 Discovery. Moduł EVAL jest lepiej wyposażony w różnego typu peryferia i ma zainstalowany kwarc o częstotliwości 25MHz. Na płytce Discovery jest rezonator kwarcowy 8MHz dla mikrokontrolera, z tego powodu należy uważać przy kopiowaniu plików z przykładów. W skopiowanych plikach main.c, main.h, stm32f4xx_it.c i stm32f4xx_it.h z biblioteki jest już skonfigurowany i uruchomiony licznik typu SysTick, który jest wykorzystany do generowania opóźnień czasowych. Należy pozostawić zmienne i funkcje dla tego licznika, przyda się on w kolejnych programach. Przy pisaniu programu użytkownika pliki main.c, main.h, stm32f4xx_it.c i stm32f4xx_it.h będą wymagały napisania własnych funkcji i kodu. Z tego powodu należy je zmodyfikować przy pisaniu programu. Projekt jest tak skonfigurowany że główna funkcja programu main() musi się znajdować w pliku o nazwie main.c. Zmiany w plikach aby ustawienia pasowały do STM32F4-Discovery Skopiowane pliki konfiguracyjne z biblioteki są przewidziane dla rezonatora kwarcowego 25MHz. W module Discovery jest zainstalowany rezonator kwarcowy 8MHz. Aby poprawnie można było konfigurować sygnały zegarowe dla poszczególnych fragmentów mikrokontrolera należy wprowadzić drobne zmiany w niektórych plikach. W pliku stm32f4xx_conf.h (podkatalog inc) używając edytora w okolicy 32 wiersza wpisać tekst: #if defined (HSE_VALUE) /* Redefine the HSE value; it's equal to 8 MHz on the STM32F4-DISCOVERY Kit */ #undef HSE_VALUE #define HSE_VALUE ((uint32_t)8000000) #endif /* HSE_VALUE */ Ma to na celu zmianę wartości symbolu HSE_VALUE na wartość rezonatora kwarcowego (8MHz) zainstalowanego w module STM32F4-Discovery. Otworzyć plik system_stm32f4xx.c (podkatalog src). W 57 wierszu zamienić tekst: * HSE Frequency(Hz) 25000000 na * HSE Frequency(Hz) 8000000 W 58 wierszu zamienić tekst: * PLL_M 25 na * PLL_M 8 W 254 wierszu zmienić tekst: #define PLL_M 25 na #define PLL_M 8

Najważniejsza jest ostatnia podmiana wartości symbolu PLL_M na 8. Z powoduje to zmianę wartości podzielnika w systemie zegarowym mikrokontrolera i wtedy częstotliwość taktowania jednostki centralnej wyniesie 168MHz. Do dowolnego konfigurowania sygnałów zegarowych w STM32F4, najlepiej użyć aplikacji Clock configuration tool for STM32F40x/41x microcontrollers (AN3988), która wygeneruje prawidłowy plik system_stm32f4xx.c.

3. Tworzenie projektu w środowisku uvision 5 Po utworzeniu katalogu projektu i skopiowaniu wybranych plików z biblioteki do projektu uruchomiamy program uvision. Widok ekranu po uruchomieniu programu uvision5 i zamknięciu wszystkich projektów Jeżeli jest otwarty jakiś projekt, zamknąć go, w menu Project-Close Project. Z menu Project wybrać New uvision Project pojawi się okienko, wejść do katalogu projektu projekt2 i wpisać nazwę nowego projektu np. gpio_test. Po wpisaniu nazwy i naciśnięciu przycisku Zapisz pojawi się okienko do wyboru firmy i konkretnego typu mikrokontrolera. Wybieramy firmę STMicroelectronics i układ typu STM32F407VG. Po wyborze mikrokontrolera program uvision wie jakie układ posiada parametry. Jest to niezbędne dla debugera w środowisku uvision. Następnie pojawia się okienko do wyboru Run Time Environment, naciskamy Cancel.

Okienko do wyboru Run Time Environment z firmy Keil Okienko projektu po wstępnym utworzeniu projektu W okienku Project wybieramy Target1 i klikamy prawym przyciskiem myszki, wybieramy Options for Target1 lub naciskamy ikonkę tzw. czarodzieja na pasku. Pojawi się okienko do ustawiania parametrów i opcji projektu. Wybieramy zakładkę Target i zmieniamy ustawienia Xtal na 8.0MHz, (taki rezonator kwarcowy jest zainstalowany na płytce STM32F4-Discovery). Wybieramy opcję Use MicroLIB i Used FPU.

Ustawienie częstotliwości rezonatora kwarcowego Następnie wybieramy zakładkę Output i przyciskiem Select Folder for Objects wskazujemy podkatalog obj w naszym projekcie. Przechodzimy do zakładki Listing i przyciskiem Select Folder for Listings wybieramy podkatalog lst w naszym projekcie.

Wybieramy zakładkę C/C++ i w okienku Define należy wpisać USE_STDPERIPH_DRIVER, STM32F4XX Zmuszamy kompilator do wyboru użycia biblioteki do obsługi peryferiów mikrokontrolera. W tej samej zakładce należy wskazać ścieżki dostępu do biblioteki, plików źródłowych i plików nagłówkowych wymaganych do projektu. Dokonuje się tego przy pomocy przycisku okienka Include Paths. Należy wskazać ścieżki dostępu do podkatalogów w projekcie. Jako pierwsze wskazujemy dostęp do katalogu głównego projektu poprzez symbol kropki. (kropka oznacza bieżący katalog), następnie do podkatalogów biblioteki i podkatalogu inc w projekcie. Wygląd okienka jak na rysunku poniżej.

Jeżeli będziemy dodawać jakieś pliki do projektu to za pomocą tego okienka wskazujemy kompilatorowi ścieżkę dostępu do plików. Przechodzimy do zakładki Linker i wybieramy opcję Use Memory Layout from Target Dialog. W zakładce Debug i wybieramy Use z listy debuger typu ST-Link Debugger. Po naciśnięciu przycisku Settings pojawia się nowe okienko z trzema zakładkami. Jeżeli połączenie po USB z płytką jest poprawne, to w zakładce Debug program wykrywa urządzenie Unit (ST LINK/V2) i typ mikrokontrolera SW Device (ARM CoreSight SW-DP). Należy ustawić tryb pracy debugera Port na SW.

Po przejściu do zakładki Flash Download w okienku Programming Algoritm dodajemy typ układu (jeżeli go nie ma), który będzie programowany. Naciskamy przycisk Add i z listy wybieramy STM32F4xx Flash. Zaznaczamy też opcję Reset and Run. Ustawienia debugera ST-Link potwierdzamy przyciskiem OK.

Przechodzimy do zakładki Utilities i wybieramy opcję Use Target Driver for Flash Programming.

Po przygotowaniu parametrów i opcji, kolejnym etapem będzie dołączenie skopiowanych plików i biblioteki do projektu. Dołączanie grup i plików do projektu najlepiej wykonać za pomocą okienka Manage Project Items, które otwiera się ikonką na pasku lub w okienku Project wybieramy Target1 i klikamy prawym przyciskiem myszki, wybieramy Manage Project Items. Okienko do konfiguracji grup i plików w projekcie Po otwarciu managera w okienku Groups, wybieramy ikonkę New (Insert) i dodajemy grupę o nazwie StdPeriphDrv, CMSIS i MDK-ARM.

Grupę o nazwie Source Group 1 zmieniamy na nazwę UserCode klikając dwa razy lewym przyciskiem myszki. W okienku Groups wybieramy grupę UserCode i wybieramy Add Files to UserCode i wskazujemy na plik main.c w katalogu projekt2/src i naciskamy przycisk Add. Podobnie postępujemy z plikiem stm32f4xx_it.c. Do grupy CMSIS należy dodać plik system_stm32f4xx.c z podkatalogu src, Do grupy StdPeriphDrv należy dodać pliki misc.c, stm32f4xx_gpio.c, stm32f4xx_rcc.c z katalogu libraries/stm32f4xx_stdperiph_driver/src. Do grupy MDK-ARM dodajemy plik startup_stm32f4xx.s Pliki pomiędzy grupami można przesuwać metodą drag and drop.

Po zakończeniu operacji kopiowania plików wygląd okienka Project w środowisku uvision przedstawia rysunek poniżej. Jeżeli na symbolu pliku jest znaczek kluczyka, to oznacza że plik jest tylko do odczytu. Nie jest możliwa jego edycja (modyfikacja i zapis) w środowisku uvision. Okienko projektu po dołączeniu podstawowych plików i ikonka do modyfikacji paska Project. Rozmieszczenie plików w poszczególnych katalogach projektu2 przedstawiono poniżej. Struktura katalogu projekt2 Struktura podkatalogu projekt2/inc Struktura podkatalogu projekt2/libraries

Struktura podkatalogu projekt2/scr

4. Pierwszy program dla STM32F4 Po dodaniu grup i plików do poszczególnych grup, projekt jest prawie gotowy. Główny plik programu, main.c zawiera funkcję main() od, której zaczyna się program użytkownika. Otwieramy ten plik klikając na nazwę pliku w okienku Project. Z powodu, że pliki main.c i main.h zostały skopiowane z biblioteki zawierają już jakiś kawałek programu w języku C. Musimy tylko dodać swój własny kod aby napisać pierwszy program na mikrokontroler STM32F4 zamontowany na płytce. Można też całkowicie skasować zawartość pliku main.c i main.h i wpisać wszystko od początku. Przy pisaniu programu przydane będą: schemat ideowy płytki Discovery, plik pomocy dla biblioteki, materiały szkoleniowe dla układu STM32F4 Zadaniem programu będzie mruganie diodami LED, które są zamontowane na płytce i są podłączone do końcówek portu D. Dioda LD4 do PD12, LD5 do PD13, LD6 do PD14 i LD7 do PD15. Aby zaświecić diodę należy ustawić stan 1 na wybranym wyjściu portu. Funkcja Delay(), która zapewnia opóźnienie czasowe, korzysta z licznika SysTick (przerwania od tego licznika), który znajduje się w każdym mikrokontrolerze typu Cortex, bez względu na producenta układu. Należy dopisać fragmenty kodu w pliku: main.c, a następnie wybieramy Project -> Rebuilt All Target Files lub naciskamy ikonkę Rebuilt. Po poprawnej kompilacji w okienku Build Output nie powinno być błędów ani ostrzeżeń. Następnie wybieramy z menu Flash -> Download lub naciskamy ikonkę LOAD i program zostanie wgrany do mikrokontrolera na płytce. Diody LED powinny mrugać. Jeżeli jest wszystko w porządku teraz można modyfikować program dopisując własny kod. Konfigurację licznika SysTick i program do obsługi przerwania od tego licznika można zostawić, przyda się on w kolejnych programach. Kopiowanie projektu Cały projekt wraz z wszystkimi plikami znajduję się w katalogu projekt1, dzięki temu można przenieść projekt do innego katalogu lub na inny napęd. Po otwarciu projektu z innej lokalizacji nie powinno być błędów w trakcie kompilacji. Przed kopiowaniem projektu warto usunąć niepotrzebne tymczasowe pliki, które powstają w trakcie kompilacji. Najlepiej do tego nadaję się gotowa procedura, Clean Target w menu Project. Dzięki takiej operacji znacznie zmniejsza się zajętość projektu na dysku.

5. Dodatkowe materiały i narzędzia Można pobrać aplikację w Excel-u do konfiguracji mikrokontrolera Clock configuration tool for STM32F40x/41x microcontrollers (AN3988) ze strony http://www.st.com/web/en/catalog/tools/pf257927. Uruchomienie aplikacji wymaga programu Excel i służy do konfiguracji sygnałów zegarowych w mikrokontrolerze. Aplikacja generuje gotowy plik system_stm32f4xx.c, który należy skopiować do projektu. Jeżeli zamierzamy ustawić inną częstotliwość rezonatora kwarcowego lub zmienić niektóre podzielniki częstotliwości np. dla systemu liczników można do tego celu wykorzystać tą aplikację.

6. Stworzenie projektu dla STM32F4 w środowisku uvision 5 z wykorzystaniem przykładu Blinky dla modułu STM32F4 - Discovery Do stworzenia własnego projektu można też wykorzystać gotowy projekt, który jest dostępny po zainstalowaniu środowiska uvision 5.1, firmy Keil. Po uruchomieniu programu uvision, wybieramy ikonkę Pack Installer. Jeżeli nie są jeszcze zainstalowane pliki dotyczące mikrokontrolerów STM32F4, to należy doinstalować te pliki (wymagany jest dostęp do Internetu). Po instalacji powinny być widoczne przykłady projektów dla tego mikrokontrolera. Następnie wybieramy zakładkę Examples i kopiujemy projekt Blinky (STM32F4-Discovery)

Przy kopiowaniu wybieramy katalog do którego ma być skopiowany projekt. Można też wybrać opcję Launch uvision (uruchom program uvision po skopiowaniu) lub opcję Use Pack Folder Structure.

Następnie przechodzimy do edytora uvision i z menu Project wybieramy Open Project i wskazujemy na plik Blinky.uvprojx. Po otwarciu projektu wybieramy Project i Build Project (lub klawisz F7). Projekt powinien się skompilować bez błędów i można go wgrać do mikrokontrolera na płytce. Na podstawie tego projektu można pisać własne programy korzystając ze struktury projektu i ustawień plików konfiguracyjnych. Ustawienia projektu są dla rezonatora kwarcowego XTAL= 8.00MHz i częstotliwości taktowania SYSCLK = 168.00 MHz oraz częstotliwości HCLK = SYSCLK = 168.00 MHz.