You are on page 1of 22

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.

2014
Podstawowe zasady tworzenia projektu dla STM32F4 w rodowisku
uVision 5, z wykorzystaniem zestawu STM32F4!is"o#ery i $i$liotek do
o$s%u&i pery'eri(w dla STM32F4 )*orte+ ,M4-,
.pis z dnia /01/412/24
1. Czynnoci zwizane z instalacj rodowiska MDK, ST Link i biblioteki

ainstalowa! najnowsz" wersj# $rodowiska uVision M%&, 'ir() &eil dla uk*ad+w t)pu ,-M.
Standardowo pakiet instaluje si# na d)sku, ./0&eil.
34565 77 prosz8 nie u9ywa: polski"; liter i znaku spa"ji przy nazwa"; katalo&(w )'older(w- i
plik(w, kt(re $8d< u9ywane przez projekt i rodowisko uVision1
1o2ra! i uru34o(i! instala3j# sterownika 5S6 dla pro7ra(atora8de2u7era ST9ink :st;
link<=2<us2dri=er.e>e? :4ttp/88www.st.3o(8we28en83atalo78tools81F25@16A?.
1o2ra! i zainstalowa! pro7ra( STM32 ST;9BC& 5tilit), kt+r) s*uD) do pro7ra(owania
(ikrokontrolera za po(o3" pro7ra(atora8de2u7era ST9ink :st(32<st;link<utilit).e>e?
:4ttp/88www.st.3o(8we28en83atalo78tools81F25@16@?.
Standardowo pro7ra( si# instaluje w katalo7u E./01ro7ra( Files0STMi3roele3troni3s0STM32 ST;9BC&
5tilit)0E. 1odkatalo7 %o3s zawiera opis o2s*u7i pro7ra(u i pro7ra(atora ST 9ink. 1o poprawnej
instala3ji i uru34o(ieniu pro7ra(u powinno si# pojawi! okienko jak na r)sunku 1.

-)s. 1. Fkienko pro7ra(u STM32 ST;9ink
1od*"3z)! p*)tk# STM32F4;%is3o=er) do portu 5S6 ko(putera za po(o3" ka2la t)pu 5S6 , na 5S6
(ini 6.
&o(puter w)kr)je nowe urz"dzenie i za3znie instalowa! sterowniki dla ST;9ink;a. GeDeli nie znajdzie
sterownik+w naleD) wskaza! i34 (iejs3e. Gest to katalo7, kt+r) powsta* po uru34o(ieniu st;
link<=2<us2dri=er.e>e.
1o poprawnej instala3ji sterownik+w w (enedDerze urz"dzeH powinno si# pojawi! nowe urz"dzenie
t)pu STMi3roele3troni3s ST9ink don7le, jak na r)sunku 2.
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
Ca p*)t3e STM32F4;%is3o=er) powinna $wie3i! dioda od zasilania :1I-?, dioda od de2u7era :.FM? i
powinn) (ru7a! 3zter) diod) :zielona, 3zerwona, nie2ieska, po(araH3zowa?. %zia*a wted)
or)7inaln) pro7ra( zainstalowan) na p*)t3e.

-)s.2. Iidok (enedDera urz"dzeH po zainstalowaniu ST9ink

1o uru34o(ieniu pro7ra(u ST 9ink i w)2raniu z (enu Tar&et = *onne"t, pro7ra( *"3z) si# z p*)tk" i
w)kr)wa t)p (ikrokontrolera i od3z)tuje zawarto$! pa(i#3i :r)sunek 3?.

-)s.3. Fkienko pro7ra(u STM32 ST;9ink po w)kr)3iu (ikrokontrolera na p*)t3e

MoDe si# okaza!, De opro7ra(owanie de2u7era na p*)t3e %is3o=er) w)(a7a uaktualnienia.
Ited) w)2iera() z (enu ST>?@A=Firmware update i pojawi si# okienko ST;9ink 5p7rade.
Ca3iska() !e#i"e *onne"t i pro7ra( od3z)ta wersj# zainstalowane7o opro7ra(owania :tzw.
'ir(ware? oraz wersj#, kt+ra jest dost#pna w pro7ra(ie STM32 ST;9ink 5tilit).
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
GeDeli pojawi" si# pro2le() z po*"3zenie( i od3z)tanie wersji :pro7ra( z7*osi, De naleD) zresetowa!
urz"dzenie?, naleD) od*"3z)! ka2el od p*)tki 5S6 i ponownie pod*"3z)!.
GeDeli wersja 'ir(ware Version jest niDsza od dost#pnej, na3iska() Bes. &o(puter 1. poprzez port
5S6 w7ra nowsz" wersj# i powinno si# pojawi! okienko 3p&rade is su""es'ul. Ited) o2ie wersje
'ir(ware s" jednakowe :r)sunek 4?.

-)s.4. Fkienko do aktualiza3ji opro7ra(owania de2u7era ST 9ink
I7r)wanie nowe7o 'ir(ware jest t)pow" pro3edur" po zakupie p*)tki STM32F4;%is3o=er) i jej
pierwsz)( uru34o(ieniu. ,ktualne 'ir(ware dla ST;9ink;a jest zawsze dost#pne na stronie www.st.3o(.
1o aktualiza3ji opro7ra(owania (oDe si# pojawi! pro2le( z po*"3zenie( :ko(unikat @o ST>ink dete"ted?
wted) naleD) od*"3z)! ka2el od p*)tki 5S6 i ponownie pod*"3z)! i w)2ra! z (enu Tar7et ;J .onne3t.
IaDne, a2) w ST;9ink 2)* ustawion) w tr)2 SI%, (oDna to sprawdzi! w Tar&et = Settin&s :r)sunek 5?. GeDeli
jest po*"3zenie po(i#dz) p*)tk" a pro7ra(e( to (oDna, np. od3z)ta! zawarto$! rejestr+w, z (enu Tar&et =
M*3 *ore :r)sunek 5?.



-)s.5. Fkienko tr)2u pra3) ST 9ink;a i okienko .ore panel

1oprawne dzia*anie pro7ra(u STM32 ST;9ink 5tilit) i de2u7era na p*)t3e wraz pod*"3zon)(
(ikrokontrolere( STM32 F4 u(oDliwia pra3# :pro7ra(owanie, de2u7owanie? w $rodowisku uVision.

Jeeli uywamy najnowszej wersji rodowiska MDK-ARM, firmy Keil to te naley sprawdzi zy jest
zainstalowana najnowsza wersja dri!era i opro"ramowania de#u"era $% &ink'

Dri!er do $%-&ink-a dzia(a poprawienie pod )*+ ,-, .ista i )*+/' Dla )*+0 naley po#ra oso#ny dri!er ze
strony 4ttp/88www.st.3o(8we28en83atalo78tools81F25116@'
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
2. rzy!otowanie katalo!"w i #lik"w do #rojekt$

,2) skorz)sta! z $rodowiska uru34o(ieniowe7o uVision, 'ir() &eil do pro7ra(owania (ikrokontroler+w
STM32 w j#z)ku . :lu2 ase(2lerze? naleD) stworz)! tzw. projekt, do kt+re7o 2#d" do*"3zone r+Dne7o t)pu
pliki. 1rzed rozpo3z#3ie( pra3) z uVision lepiej w3ze$niej prz)7otowa! katalo7i i niekt+re pliki dla projektu.
1rzedstawiona poniDej pro3edura prz)7otowania projektu jest jedn" z (oDliw)34 propoz)3ji ustawienia
katalo7+w i plik+w dla projektu. MoDna teD skorz)sta! z 7otow)34 ustawieH zawart)34 w katalo7a34
2i2lioteki lu2 ustawi! wed*u7 swoi34 w)(a7aH. 1ro3edura prz)7otowania (a na 3elu uporz"dkowanie
katalo7+w i podkatalo7+w projektu a2) (oDna 2)*o *atwo odnajd)wa! pliki i pisa! 2ardziej zaawansowane
projekt) oraz *atwo przenosi! projekt) po(i#dz) ko(putera(i. a*oDenie( zaproponowanej kon'i7ura3ji
jest to, a2) wsz)stkie potrze2ne pliki do projektu znajdowa*) si# w katalo7u projektu. %zi#ki te(u (oDna
pra3owa! nad projekte(, kt+r) jest zapisan) np. na pa(i#3i przeno$nej.
Ca w)2ran)( d)sku utworz)! now) katalo7 dla projekt+w np. d/0STM32F4.
1o2ra! 2i2liotek# $%M1234556D$-6$td-erip76&i#6.8'1 dla STM32F4 z
4ttp/88www.st.3o(8we28en83atalo78tools81F25AK01 i rozpakowa! 2i2liotek# do katalo7u
d/0STM32F4.
1o2ra! prz)k*adowe projekt) STM32F4!is"o#eryCF4CV2121/ dla p*)tki STM32F4;%is3o=er)
:STM32F4%BS.FVL-M 2oard 'ir(ware pa3ka7e? z
4ttp/88www.st.3o(8we28en83atalo78tools81F25AK04 i rozpakowa! do katalo7u d/0STM32F4.
I katalo7u projekt+w utworz)! now) katalo7 np. projekt2. Cast#pnie utworz)! podkatalo7i in",
li$raries, lst, o$j, sr", utilities.
I katalo7u o$j 2#d" u(iesz3zane wsz)stkie pliki po ko(pila3ji, np. plik 4e>. I in" u(iesz3za()
wsz)stkie niez2#dne plik na7*+wkowe t)pu N.4. 1liki Or+d*owe w . lu2 w ase(2lerze 2#d" w
podkatalo7u sr". 1liki 2i2liote3zne 2#d" w podkatalo7u li$raries. I lst ko(pilator u(ie$3i pliki z tzw.
listin7ie(. I podkatalo7u utilities (oDna wstawi! pliki z 'unk3ja(i np. do o2s*u7i w)$wietla3za 9.%.
%o tworzenia nowe7o projektu w)korz)sta() 7otowe pliki, kt+re s" u(iesz3zone w podkatalo7a34
2i2lioteki STM32F4>><%S1<Std1erip4<9i2 i opro7ra(owania STM32F4;%is3o=er)<FI i s"
przewidziane dla $rodowiska uVision.
katalo7u 2i2lioteki $%M1234556D$-6$td-erip76&i#6.8'1'9:-rojet:
$%M1234556$td-erip76%emplates kopiuje() pliki/ main'7, stm12f4556it'7 i stm12f4556onf'7 do
nasze7o podkatalo7u projekt2Din", pliki main', stm12f4556it' i system6stm12f455' kopiuje() do
podkatalo7u projektu projekt2Ds"r1
katalo7u 2i2lioteki $%M1234556D$-6$td-erip76&i#6.8'1'9:&i#raries:-
;M$*$:De!ie:$%:$%M123455:*nlude? kopiuje() pliki/ stm12f455'7 i system6stm12f455'7 do
nasze7o katalo7u projekt2Din"1
katalo7u 2i2lioteki $%M1234556D$-6$td-erip76&i#6.8'1'9:&i#raries:;M$*$:*nlude kopiuje()
3a*) podkatalo7 :;M$*$:*nlude do nasze7o podkatalo7u projekt2Dli$raries:;M$*$:*nlude1
katalo7u 2i2lioteki $%M1234556D$-6$td-erip76&i#6.8'9'8:&i#raries:
$%M1234556$td-erip76Dri!er kopiuje() 3a*) podkatalo7 $%M1234556$td-erip76Dri!er do nasze7o
podkatalo7u projekt2Dli$raries:$%M1234556$td-erip76Dri!er1 &atalo7 zawiera podkatalo7i in3 i sr3,
w kt+r)34 s" pliki t)pu 4 i 3 zawieraj"3e podstawowe 'unk3je :pro3edur)? do kon'i7ura3ji i o2s*u7i
urz"dzeH per)'er)jn)34 w (ikrokontrolerze STM32. ,2) z(niejsz)! zaj#to$! pa(i#3i na d)sku w
projek3ie (oDna pozostawi! t)lko te pliki z kt+r)34 si# korz)sta.
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
katalo7u 2i2lioteki STM32F4++C!SPCStdPerip;C>i$CV2131/D>i$rariesD*MS?SD!e#i"eDSTD
STM32F4++DSour"eDTemplatesDarm skopiowa! tzw. plik startow) startupCstm32'4/++1s do katalo7u
7*+wne7o projekt2.

34565 77 prosz8 nie u9ywa: polski"; liter i znaku spa"ji przy nazwa"; katalo&(w )'older(w- i
plik(w, kt(re $8d< u9ywane przez projekt i rodowisko uVision1
34565 77 przyk%adowe projekty )&otowe pro&ramy- zawarte w katalo&u $i$lioteki
$%M1234556D$-6$td-erip76&i#6.8'1'9:-rojet:$%M1234556$td-erip76<5amples s< przewidziane
&%(wnie dla modu%u STM32 EV5> a nie dla STM32F4 !is"o#ery1 Modu% EV5> jest lepiej wyposa9ony
w r(9ne&o typu pery'eria i ma zainstalowany kwar" o "z8stotliwo"i 25MFz1 @a p%yt"e !is"o#ery
jest rezonator kwar"owy GMFz dla mikrokontrolera, z te&o powodu nale9y uwa9a: przy
kopiowaniu plik(w z przyk%ad(w1
I skopiowan)34 plika34 main1", main1;, stm32'4++Cit1" i stm32'4++Cit1; z 2i2lioteki jest juD
skon'i7urowan) i uru34o(ion) li3znik t)pu S)sTi3k, kt+r) jest w)korz)stan) do 7enerowania op+OnieH
3zasow)34. CaleD) pozostawi! z(ienne i 'unk3je dla te7o li3znika, prz)da si# on w kolejn)34 pro7ra(a34.
1rz) pisaniu pro7ra(u uD)tkownika pliki main1", main1;, stm32'4++Cit1" i stm32'4++Cit1; 2#d"
w)(a7a*) napisania w*asn)34 'unk3ji i kodu. te7o powodu naleD) je z(od)'ikowa! prz) pisaniu pro7ra(u.
1rojekt jest tak skon'i7urowan) De 7*+wna 'unk3ja pro7ra(u (ain:? (usi si# znajdowa! w pliku o nazwie
(ain.3.

Hmiany w plika"; a$y ustawienia pasowa%y do STM32F4!is"o#ery

Skopiowane pliki kon'i7ura3)jne z 2i2lioteki s" przewidziane dla rezonatora kwar3owe7o 25MPz. I
(odule %is3o=er) jest zainstalowan) rezonator kwar3ow) @MPz. ,2) poprawnie (oDna 2)*o kon'i7urowa!
s)7na*) ze7arowe dla posz3ze7+ln)34 'ra7(ent+w (ikrokontrolera naleD) wprowadzi! dro2ne z(ian) w
niekt+r)34 plika34.
I pliku stm12f4556onf'7 :podkatalo7 in? uD)waj"3 ed)tora w okoli3) 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 3elu z(ian# warto$3i s)(2olu PSL<V,95L na warto$! rezonatora kwar3owe7o :@MPz?
zainstalowane7o w (odule STM32F4;%is3o=er).

Ftworz)! plik system6stm12f455' :podkatalo7 sr?.
I 5A wierszu za(ieni! tekst/
* HSE Frequency(Hz) | 25000000 na * HSE Frequency(Hz) | 8000000
I 5@ wierszu za(ieni! tekst/
* PLL_M | 25 na * PLL_M | 8
I 254 wierszu z(ieni! tekst/
#define PLL_M 25 na #define PLL_M 8

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
CajwaDniejsza jest ostatnia pod(iana warto$3i s)(2olu 199<M na @. powoduje to z(ian# warto$3i
podzielnika w s)ste(ie ze7arow)( (ikrokontrolera i wted) 3z#stotliwo$! taktowania jednostki 3entralnej
w)niesie 16@MPz.
%o dowolne7o kon'i7urowania s)7na*+w ze7arow)34 w STM32F4, najlepiej uD)! aplika3ji Q.lo3k
3on'i7uration tool 'or STM32F40>841> (i3ro3ontrollers :,C3K@@?R, kt+ra w)7eneruje prawid*ow) plik
system6stm12f455''
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
%. Tworzenie #rojekt$ w rodowisk$ $&ision '

1o utworzeniu katalo7u projektu i skopiowaniu w)2ran)34 plik+w z 2i2lioteki do projektu uru34o(ia()
pro7ra( uVision.

Iidok ekranu po uru34o(ieniu pro7ra(u uVision5 i za(kni#3iu wsz)stki34 projekt+w
GeDeli jest otwart) jaki$ projekt, za(kn"! 7o, w (enu Proje"t*lose Proje"t.
(enu Proje"t w)2ra! @ew uVision Proje"t S pojawi si# okienko, wej$! do katalo7u projektu
projekt2 i wpisa! nazw# nowe7o projektu np. "pio6test.
1o wpisaniu nazw) i na3i$ni#3iu prz)3isku Hapisz pojawi si# okienko do w)2oru 'ir() i konkretne7o
t)pu (ikrokontrolera. I)2iera() 'ir(# STMi"roele"troni"s i uk*ad t)pu STM32F4/IV6.
1o w)2orze (ikrokontrolera pro7ra( uVision wie jakie uk*ad posiada para(etr). Gest to niez2#dne
dla de2u7era w $rodowisku uVision.

Cast#pnie pojawia si# okienko do w)2oru -un Ti(e Ln=iron(ent, na3iska() *an"el1
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014

Fkienko do w)2oru -un Ti(e Ln=iron(ent z 'ir() &eil

Fkienko projektu po wst#pn)( utworzeniu projektu
I okienku Proje"t w)2iera() Tar&et2 i klika() praw)( prz)3iskie( ()szki, w)2iera() .ptions 'or Tar&et2
lu2 na3iska() ikonk# tzw. 3zarodzieja na pasku. 1ojawi si# okienko do ustawiania para(etr+w i op3ji
projektu. I)2iera() zak*adk# Tar&et i z(ienia() ustawienia Ttal na @.0MPz, :taki rezonator kwar3ow) jest
zainstalowan) na p*)t3e STM32F4;%is3o=er)?. I)2iera() op3j# Q5se Mi3ro9B6R i Q5sed F15R.

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014

5stawienie 3z#stotliwo$3i rezonatora kwar3owe7o
Cast#pnie w)2iera() zak*adk# .utput i prz)3iskie( Sele"t Folder 'or .$je"ts wskazuje() podkatalo7 o2j w
nasz)( projek3ie.

1rze34odzi() do zak*adki >istin& i prz)3iskie( Sele"t Folder 'or >istin&s w)2iera() podkatalo7 lst w nasz)(
projek3ie.
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014


I)2iera() zak*adk# *J*KK i w okienku !e'ine naleD) wpisa! =$<6$%D-<R*->6DR*.<R, $%M1234,,
(usza() ko(pilator do w)2oru uD)3ia 2i2lioteki do o2s*u7i per)'eri+w (ikrokontrolera. I tej sa(ej
zak*ad3e naleD) wskaza! $3ieDki dost#pu do 2i2lioteki, plik+w Or+d*ow)34 i plik+w na7*+wkow)34
w)(a7an)34 do projektu. %okonuje si# te7o prz) po(o3) prz)3isku okienka ?n"lude Pat;s.


CaleD) wskaza! $3ieDki dost#pu do podkatalo7+w w projek3ie. Gako pierwsze wskazuje() dost#p do
katalo7u 7*+wne7o projektu poprzez s)(2ol kropki Q1R :kropka ozna3za 2ieD"3) katalo7?, nast#pnie do
podkatalo7+w 2i2lioteki i podkatalo7u in3 w projek3ie. I)7l"d okienka jak na r)sunku poniDej.

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014


GeDeli 2#dzie() dodawa! jakie$ pliki do projektu to za po(o3" te7o okienka wskazuje() ko(pilatorowi
$3ieDk# dost#pu do plik+w.
1rze34odzi() do zak*adki >inker i w)2iera() op3j# Q5se Me(or) 9a)out 'ro( Tar7et %ialo7R.


I zak*ad3e !e$u& i w)2iera() =se z list) de2u7er t)pu ST>ink !e$u&&er. 1o na3i$ni#3iu prz)3isku Settin&s
pojawia si# nowe okienko z trze(a zak*adka(i. GeDeli po*"3zenie po 5S6 z p*)tk" jest poprawne, to w
zak*ad3e !e$u& pro7ra( w)kr)wa urz"dzenie =nit :ST 9BC&8V2? i t)p (ikrokontrolera $) De!ie :,-M
.oreSi74t SI;%1?. CaleD) ustawi! tr)2 pra3) de2u7era -ort na SI.

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014


1o przej$3iu do zak*adki Flas; !ownload w okienku Pro&rammin& 5l&oritm dodaje() t)p uk*adu :jeDeli 7o
nie (a?, kt+r) 2#dzie pro7ra(owan). Ca3iska() prz)3isk 5dd i z list) w)2iera() STM32F4>> Flas4.
azna3za() teD op3j# -eset and -un. 5stawienia de2u7era ST;9ink potwierdza() prz)3iskie( .A.
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014


1rze34odzi() do zak*adki 3tilities i w)2iera() op3j# 3se Tar&et !ri#er 'or Flas; Pro&rammin&1

Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
1o prz)7otowaniu para(etr+w i op3ji, kolejn)( etape( 2#dzie do*"3zenie skopiowan)34 plik+w i 2i2lioteki
do projektu.

%o*"3zanie 7rup i plik+w do projektu najlepiej w)kona! za po(o3" okienka Mana&e Proje"t ?tems, kt+re
otwiera si# ikonk" na pasku lu2 w okienku Proje"t w)2iera() Tar&et2 i klika() praw)( prz)3iskie( ()szki,
w)2iera() Mana&e Proje"t ?tems.

Fkienko do kon'i7ura3ji 7rup i plik+w w projek3ie
1o otwar3iu (ana7era w okienku 6roups, w)2iera() ikonk# @ew )?nsert- i dodaje() 7rup# o
nazwie StdPerip;!r#, *MS?S i M!A5LM1
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
Urup# o nazwie Sour"e 6roup 2 z(ienia() na nazw# 3ser*ode klikaj"3 dwa raz) lew)( prz)3iskie(
()szki.

I okienku 6roups w)2iera() 7rup# =ser;ode i w)2iera() 5dd Files to 3ser*ode i wskazuje() na
plik (ain.3 w katalo7u projekt28sr3 i na3iska() prz)3isk 5dd. 1odo2nie post#puje() z plikie(
stm12f4556it'.
%o 7rup) *MS?S naleD) doda! plik system6stm12f455' z podkatalo7u sr3,
%o 7rup) StdPerip;!r# naleD) doda! pliki mis', stm12f4556"pio', stm12f4556r' z katalo7u
li2raries8STM32F4>><Std1erip4<%ri=er8sr3.
%o 7rup) M%&;,-M dodaje() plik startup<st(32'4>>.s
1liki po(i#dz) 7rupa(i (oDna przesuwa! (etod" dra7 and drop.


Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
1o zakoH3zeniu opera3ji kopiowania plik+w w)7l"d okienka 1roje3t w $rodowisku uVision przedstawia
r)sunek poniDej. GeDeli na s)(2olu pliku jest zna3zek klu3z)ka, to ozna3za De plik jest t)lko do od3z)tu. Cie
jest (oDliwa je7o ed)3ja :(od)'ika3ja i zapis? w $rodowisku uVision.


Fkienko projektu po do*"3zeniu podstawow)34 plik+w i ikonka do (od)'ika3ji paska Proje"t1

-oz(iesz3zenie plik+w w posz3ze7+ln)34 katalo7a34 projektu2 przedstawiono poniDej.
Struktura katalo&u projekt2
Struktura podkatalo&u projekt2Jin"
Struktura podkatalo&u projekt2Jli$raries
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
Struktura podkatalo&u projekt2Js"r



Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
(. ierwszy #ro!ra) dla STM%2*(

1o dodaniu 7rup i plik+w do posz3ze7+ln)34 7rup, projekt jest prawie 7otow). U*+wn) plik pro7ra(u,
(ain.3 zawiera 'unk3j# (ain:? od, kt+rej za3z)na si# pro7ra( uD)tkownika. Ftwiera() ten plik klikaj"3 na
nazw# pliku w okienku 1roje3t. powodu, De pliki (ain.3 i (ain.4 zosta*) skopiowane z 2i2lioteki zawieraj"
juD jaki$ kawa*ek pro7ra(u w j#z)ku .. Musi() t)lko doda! sw+j w*asn) kod a2) napisa! pierwsz) pro7ra(
na (ikrokontroler STM32F4 za(ontowan) na p*)t3e.
MoDna teD 3a*kowi3ie skasowa! zawarto$! pliku (ain.3 i (ain.4 i wpisa! wsz)stko od po3z"tku.
1rz) pisaniu pro7ra(u prz)dane 2#d"/
s34e(at ideow) p*)tki %is3o=er),
plik po(o3) dla 2i2lioteki,
(ateria*) szkoleniowe dla uk*adu STM32F4

adanie( pro7ra(u 2#dzie (ru7anie dioda(i 9L%, kt+re s" za(ontowane na p*)t3e i s" pod*"3zone do
koH3+wek portu %. %ioda 9%4 do 1%12, 9%5 do 1%13, 9%6 do 1%14 i 9%A do 1%15. ,2) za$wie3i! diod# naleD)
ustawi! stan 1 na w)2ran)( w)j$3iu portu. Funk3ja %ela):?, kt+ra zapewnia op+Onienie 3zasowe, korz)sta z
li3znika S)sTi3k :przerwania od te7o li3znika?, kt+r) znajduje si# w kaDd)( (ikrokontrolerze t)pu .orte>, 2ez
wz7l#du na produ3enta uk*adu.

CaleD) dopisa! 'ra7(ent) kodu w pliku/ (ain.3, a nast#pnie w)2iera() Proje"t = Le$uilt 5ll Tar&et
Files lu2 na3iska() ikonk# Le$uilt. 1o poprawnej ko(pila3ji w okienku Muild .utput nie powinno 2)!
2*#d+w ani ostrzeDeH. Cast#pnie w)2iera() z (enu Flas; = !ownload lu2 na3iska() ikonk# >.5! i
pro7ra( zostanie w7ran) do (ikrokontrolera na p*)t3e. %iod) 9L% powinn) (ru7a!.
GeDeli jest wsz)stko w porz"dku teraz (oDna (od)'ikowa! pro7ra( dopisuj"3 w*asn) kod.
&on'i7ura3j# li3znika S)sTi3k i pro7ra( do o2s*u7i przerwania od te7o li3znika (oDna zostawi!, prz)da si# on
w kolejn)34 pro7ra(a34.

Aopiowanie projektu
.a*) projekt wraz z wsz)stki(i plika(i znajduj# si# w katalo7u projekt1, dzi#ki te(u (oDna przenie$!
projekt do inne7o katalo7u lu2 na inn) nap#d. 1o otwar3iu projektu z innej lokaliza3ji nie powinno 2)!
2*#d+w w trak3ie ko(pila3ji.
1rzed kopiowanie( projektu warto usun"! niepotrze2ne t)(3zasowe pliki, kt+re powstaj" w trak3ie
ko(pila3ji. Cajlepiej do te7o nadaj# si# 7otowa pro3edura, *lean Tar&et w (enu Proje"t. %zi#ki takiej
opera3ji zna3znie z(niejsza si# zaj#to$! projektu na d)sku.
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014


'. Dodatkowe )ateria+y i narz,dzia

MoDna po2ra! aplika3j# w L>3el;u do kon'i7ura3ji (ikrokontrolera Q.lo3k 3on'i7uration tool 'or
STM32F40>841> (i3ro3ontrollers :,C3K@@?R ze stron) 4ttp/88www.st.3o(8we28en83atalo78tools81F25AK2A.
5ru34o(ienie aplika3ji w)(a7a pro7ra(u L>3el i s*uD) do kon'i7ura3ji s)7na*+w ze7arow)34 w
(ikrokontrolerze. ,plika3ja 7eneruje 7otow) plik system6stm12f455' , kt+r) naleD) skopiowa! do projektu.
GeDeli za(ierza() ustawi! inn" 3z#stotliwo$! rezonatora kwar3owe7o lu2 z(ieni! niekt+re podzielniki
3z#stotliwo$3i np. dla s)ste(u li3znik+w (oDna do te7o 3elu w)korz)sta! t" aplika3j#.



Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
-. Stworzenie #rojekt$ dla STM%2*( w rodowisk$ $&ision ' z
wykorzystanie) #rzyk+ad$ .linky dla )od$+$ STM%2*( / Disco0ery

%o stworzenia w*asne7o projektu (oDna teD w)korz)sta! 7otow) projekt, kt+r) jest dost#pn) po
zainstalowaniu $rodowiska uVision 5.1, 'ir() &eil.



1o uru34o(ieniu pro7ra(u uVision, w)2iera() ikonk# Pa"k ?nstaller1 GeDeli nie s" jesz3ze
zainstalowane pliki dot)3z"3e (ikrokontroler+w STM32F4, to naleD) doinstalowa! te pliki :w)(a7an) jest
dost#p do Bnternetu?. 1o instala3ji powinn) 2)! wido3zne prz)k*ad) projekt+w dla te7o (ikrokontrolera.



Cast#pnie w)2iera() zak*adk# L>a(ples i kopiuje() projekt 6link) :STM32F4;%is3o=er)?
Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014



1rz) kopiowaniu w)2iera() katalo7 do kt+re7o (a 2)! skopiowan) projekt. MoDna teD w)2ra! op3j# 9aun34
uVision :uru34o( pro7ra( uVision po skopiowaniu? lu2 op3j# 5se 1a3k Folder Stru3ture.




Tworzenie projektu w uVision 5.1 dla STM32F4, wersja z 06.04.2014
Cast#pnie prze34odzi() do ed)tora uVision i z (enu Proje"t w)2iera() .pen Proje"t i wskazuje() na plik
?linky'u!proj5. 1o otwar3iu projektu w)2iera() Proje"t i Muild Proje"t :lu2 klawisz FA?. 1rojekt powinien si#
sko(pilowa! 2ez 2*#d+w i (oDna 7o w7ra! do (ikrokontrolera na p*)t3e.

Ca podstawie te7o projektu (oDna pisa! w*asne pro7ra() korz)staj"3 ze struktur) projektu i ustawieH
plik+w kon'i7ura3)jn)34. 5stawienia projektu s" dla rezonatora kwar3owe7o TT,9V @.00MPz i 3z#stotliwo$3i
taktowania SMS.9& V 16@.00 MPz oraz 3z#stotliwo$3i P.9& V SMS.9& V 16@.00 MPz.

You might also like