Podstawowe zasady tworzenia projektu dla STM32F4 w środowisku uVision 4 czesc II

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

2. Przygotowanie katalogów i plików do projektu

Aby móc skorzystać z możliwości ś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. Należy też wskazać kompilatorowi wszystkie niezbędne pliki z funkcjami bibliotecznymi i plikami
nagłówkowymi.

Utworzyć nowy katalog na wybranym dysku, np. d:\projekt1. Następnie utworzyć podkatalogi
debug, inc, lst, src. W debug 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 będą w podkatalogu
src. W lst kompilator umieści pliki z tzw. listingiem.

Plik z biblioteką STM32F4xx_DSP_StdPeriph_Lib_V1.0.1.zip rozpakowujemy np. do katalogu
c:\Keil\ARM.

Do tworzenia nowego projektu wykorzystamy gotowe pliki, które są umieszczone w podkatalogach
biblioteki STM32F4xx_DSP_StdPeriph_Lib i są przewidziane dla środowiska uVision.

Z

katalogu

biblioteki

(C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Project\

STM32F4xx_StdPeriph_Templates) kopiujemy pliki: main.h, stm32f4xx_it.h, stm32f4xx_conf.h do
naszego katalogu d:\projekt1\inc, pliki main.c, system_stm32f4xx.c, stm32f4xx_it.c kopiujemy do
katalogu projektu d:\projekt1\scr

Z

katalogu

biblioteki

(C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\-

CMSIS\Device\ST\STM32F4xx\Include) kopiujemy pliki: stm32f4xx.h do naszego katalogu
d:\projekt1\inc

Z katalogu biblioteki (C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\CMSIS\-
Device\ST\STM32F4xx\Source\Templates
) kopiujemy plik: system_stm32f4xx.c do naszego
katalogu projektu d:\projekt1\scr.

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.

Przy pisaniu programu użytkownika pliki main.c, main.h będą wymagały napisania własnych funkcji i kodu. Z
tego powodu należy je zmodyfikować przy pisaniu programu. Wynika to z faktu, że korzystamy z gotowych
plików napisanych dla konkretnego programu. Nie wszystkie zmienne i funkcję, które są w skopiowanych
plikach będą przez nasz używane i aby nie mięć błędów w trakcie kompilacji należy usunąć lub
zakomentować pewne fragmenty tych plików. Niektóre pliki systemowe jak np. stm32f4xx_it.c też będą
wymagały pewnych modyfikacji.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

3. Tworzenie projektu w środowisku uVision

Po utworzeniu katalogu projektu i skopiowaniu wybranych plików z biblioteki do projektu uruchomiamy
program uVision.

Widok ekranu po uruchomieniu programu uVision4 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 jak na rysunku, wejść do katalogu
projektu i wpisać nazwę projektu np. gpio_test .

Okienko do utworzenia i zapisania nowego projektu.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

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 ma układ parametry. Jest to niezbędne dla
debugera w środowisku uVision.

Okienko do wyboru firmy i mikrokontrolera i dołączenia pliku startowego (Startup Code)

Po wyborze mikrokontrolera program zapyta czy wstawić do projektu tzw. plik startowy (Startup
Code
) , wybrać klawisz Tak.

Po wstawieniu pliku startup_stm32f4xx.s struktura projektu powinna wyglądać jak na rysunku poniżej.

Okienko projektu po dołączenia tzw. pliku startowego

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

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.0 MHz, (taki rezonator
kwarcowy jest zainstalowany na płytce STM32F4-Discovery).

Ustawienie częstotliwości rezonatora kwarcowego

Następnie wybieramy zakładkę Output i przyciskiem Select Folder for Objects wskazujemy podkatalog
debug w naszym projekcie.

Przechodzimy do zakładki Listing i przyciskiem Select Folder for Listings wybieramy podkatalog lst w naszym
projekcie.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

Wybieramy zakładkę C/C++ i w okienku Define należy wpisać USE_STDPERIPH_DRIVER. 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 inc, scr, z katalogu projektu i ścieżki dostępu do

plików w bibliotece.
C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\inc
C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\src
C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\CMSIS\Include

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

Przechodzimy do zakładki 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.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

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 w opcji Use Target Driver for Flash Programming wybieramy ST-Link
Debugger.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

Po przygotowaniu parametrów i opcji, kolejnym etapem będzie dołączenie skopiowanych plików i biblioteki
do projektu.

W okienku Project wybieramy Target1 i klikamy prawym przyciskiem myszki, wybieramy Add Group i
dodajemy grupę o nazwie StdPeriphDrv. Powtarzamy czynność i dodajemy do Target1 grupę o
nazwie CMSIS.

Grupę o nazwie Source Group 1 możemy zmienić na nazwę UserCode klikając jeden raz lewym
przyciskiem myszki.

W okienku Project wybieramy grupę UserCode i klikamy prawym przyciskiem myszki, wybieramy
Add Files to UserCode i wskazujemy na plik main.c w katalogu d:projekt1/src i naciskamy przycisk
Add. Podobnie postępujemy z plikami stm32f4xx_conf.h, stm32f4xx_it.h, stm32f4xx_it.c.

Do grupy CMSIS należy dodać plik system_stm32f4xx.c z podkatalogu src, plik system_stm32f4xx.h i
plik stm32f4xx.h z podkatalogu inc. Do grupy CMSIS należy jeszcze dodać pliki core_cm4.h z katalogu
biblioteki C:\Keil\ARM\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\CMSIS\Include.

Do grupy StdPeriphDrv należy dodać pliki misc.c, stm32f4xx_gpio.c, stm32f4xx_flash.c,
stm32f4xx_rcc.c .

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.

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

background image

Tworzenie projektu w uVision 4.6, cześć II, wersja z 28.10.2012

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 go zmodyfikować aby napisać swój własny 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. Pewnych
modyfikacji będzie wymagał też plik: stm32f4xx_it.c.
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. Częstotliwość mrugania około kilka razy na sekundę.
Należy podmienić zawartości następujących plików: main.c, main.h, stm32f4xx_it.c.
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ć.


Wyszukiwarka

Podobne podstrony:
2. Podstawowe zasady tworzenia norm i ich zastosowanie, Studia - materiały, semestr 7, Podstawy żywi
T2 Podstawowe zasady planowania projektów
Struktura produkcyjna i podstawy jej tworzenia Projektowanie i organizacja struktury przestrzennej
podstawowe zasady tworzenia systemu wzmocnień
Matematyka dla chemików Erich Steiner część II 5fantastic pl
Matematyka dla chemików Erich Steiner część II 5fantastic pl
projekt dla rudego, Automatyka i Robotyka, Semestr 4, Podstawy konstrukcji maszyn, Projekt
projektowanie inżynierskie, Proj.inż.-Podstawowe zasady proj.- WYKŁAD 2, 4
(Podstawowe zasady projektowani Nieznany
ZASADY OGÓLNE PROJEKTOWANIA FUNDAMENTÓW, Podstawy Budownictwa(1), fundamenty
Podstawowe zasady projektowania systemu sygnalizacji pożarowej
Podstawowe zasady projektowania i montażu instalacji nawadniających(1), architekt
Podstawowe zasady BHP dla każdego pracownika, BHP i pierwsza pomoc
Podstawowe zasady poznawania rodziny jako środowiska wychowawczego
Projekt kanalizacji deszczowej --- opis, Inżynieria Środowiska, mgr 2 semestr, Projektowanie systemó
podstawowe zasady projektowania i montau instalacji nawadniajcych
BIOCHEMIA Podstawy Biochemii Dla Ochrony Srodowiska UW
Zasady tworzenia i adaptowania grafiki dla uczniów niewidomych

więcej podobnych podstron