You are on page 1of 11

BI 4: TM HIU V STM32F103C8T6 V CCH S

DNG KEIL UVISION4


I. TNG QUAN V DNG VI IU KHIN ARM:
1. Gii thiu b x l ARM Cortex-M3:
Trong vi nm tr li y,mt trong nhng xu hng ch yu trong thit
k vi vi iu khin l s dng cc chip ARM7 v ARM9 nh mt vi iu khin
a dng. Tp on STMicrielectronic va cho ra i dng sn phm STM32, vi
iu khin u tin da trn nn li ARM Cortex-M3 th h mi nht do hang
ARM thit k. Li ARM Cortex-M3 l s ci tin ca li ARM7 truyn thng,
tng mang li thnh cng vang di cho cng ty ARM. u im ca dng STM32
l hiu sut cao, chi phi thp, cng nh kh nng p ng cc ng dng yu cu
tiu th nng lng thp v tnh iu khin thi gian thc khc khe.
Khi trung tm ca STM32 l b x l Cortex-M3. B x l Cortex-M3 l
1 vi iu khin c tiu chun ha gm 1 CPU 32bit, cu trc bus (bus
structure), n v x l ngt c h tr tnh nng ngt lng vo nhau NVIC, h
thng kim li (debug system) v tiu chun b tr b nh (standard memory
layout).
Mt trong nhng thnh phn chnh ca li Cortex-M3 l NVIC (Nested
Vector Interrupt Controller). NVIC l thnh phn tch hp ca b vi x l Cortex-
M3 c kh nng x l ngt rt linh hot v nhanh chng. Trong ci t chun, n
cung cp mt NMI (Non-Maskable Interrupt) v 32 ngt vt l a dng vi 8 mc
u tin pre-emption. N c th c cu hnh t 1 n 240 ngt vt l vi ti a
256 mc u tin. NVIC h tr ngt lng nhau, cho php mt ngt c x l
trc mt ngt khc da trn mc u tin. N cng h tr cu hnh mc u
tin ng cho cc ngt. u tin c th c thay i bng phn mm trong
thi gian chy (run time). Cc ngt ang c x l u b kha cho n khi hm
x l ngt hon thnh, do , u tin ca ngt c th thay i m khng cn lo
n chuyn trng lp.
Dng STM32 m chng ta nghin cu y l STM32F1. y l dng
mainsteam, tc l dng c bn. h tr gn nh y cc ng dng c bn m
nhng dng vi iu khin 8 bit ang c ng thi nng cp 1 s ng dng cp cao
nh CAN, USB, Ethernet, etc...
Hnh di y gii thiu STM32F1 series:
2. Gii thiu v vi iu khin STM32F103C8T6:

STM32F103C8T6 l 1 sn phm trong h STM32F1 c cc c im sau:

Ngun cp 2.0-3.6V, tn s hot ng max l 72MHz.


64 Kb b nh Flash, 20 Kb b nh SRAM.
Tng cng 48 pins gm 5 pins ngun, 4 pin GND v 37 chn I/O
u c th s dng lm ngt ngoi.
2 b ADC qun l 10 knh vi phn gii 12 bits.
7 knh DMA vi cc ngoi vi h tr gm: Timers, ADC, SPIs,
I2Cs, USARTs.
Debug mode.
Tng cng 4 Timers bao gm 3 General-purpose Timers v 1
Advanced-control Timer.
2 SPI, 2 I2C, 3 USART, 1 USB v 1 CAN.

II. HNG DN CI T V LP TRNH KEIL UVISION4:


1. Hng dn ci t Keil UVision4:
Cc bn c th download phn mm Keil ti a ch download trong mc ti
liu tham kho bn di. y l phn mm lp trnh chnh cho dng ARM
ca ST ni ring v ARM ni chung. Sau khi download v, cc bn gii nn
v tm file mdk420.exe chy chng trnh ci t. Sau khi ci t xong, cc
bn bt chng trnh va ci ln, ta s c giao din nh sau:
Lc ny phn mm ca chng ta cha c crack nn s b gii hn 1 s ci. Do ta
nn crack n d dng s dng v sau.
-u tin cc bn click vo tab File phi trn bn tri ca chng trnh v chn
mc License Management. mc CID chng ta copy on code trong .
-Sau , ta bt chng trnh Keil_lic_v3.2.exe c hnh u lu trong th mc
KeilC va gii nn c. C 1 hp thoi c bt ln nh hnh v bn di, ta tick vo
mc External CID code v paste on code m ta copy trong KeilC vo. Sau ta
nhn Generate v nhn c LIC0 code.

-Tip theo ta em on LID0 code copy em dn vo li mc New License


ID code trong chng trnh KeilC v nhn nt Add LIC. Khi no ta ra c nh hnh
di l crack thnh cng.

-Lc ny ta c th s dng y cc ch c nng ca Keil UVision4.


2. Hng dn to project:
V c 1 s bn to project mi theo ti liu hng dn trn arm.vn v b li
khi build nn mnh s hng dn cc bn cch to 1 project mi, add file, chn
ng dn th no khi build chng trnh s khng xut hin li.
Chng ta s s dng b th vin mu CMSIS ca ST s dng cho hu ht cc
d n sau ny. B th vin ny cc bn c th download theo ng link tham
kho cui bi.
Ngoi ra cc bn cng nn download tp tin sourcefile.rar link tham kho bn
di. y l tp tin cha cc file mu bao gm: main.c, stm32f10x_it.c,
stm32f10x_it.h, stm32f10f_conf.h, system_stm32f10x.c. 5 file trn l 5 file c th
thay i c ty theo tng d n lin quan. Cc file trong b th vin CMSIS
ca ST cc bn khng nn thay i cc ni dung bn trong chng v ST vit
cc hm ti u h tr cho vic lp trnh ri. Nhim v ca chng ta lp trnh y
ch l lp trnh Application.
Sau khi download y 2 phn trn, by gi mnh s hng dn cc bn cch
to 1 project.
u tin cc bn vo 1 a bt k (khng nn l cha win) v to 1 new
folder. V d l D:\lap_trinh_arm. Nn nh trnh bin dch Keil khng
chp nhn project ca chng nm trong folder c tn vit tch ri hoc tn
ting vit. Cc folder v d sau y l sai, khi build project s bo li: lap
trinh arm, lp trnh arm.
Tip theo cc bn COPY b th vin CMSIS ca ST c gii nn vo
folder lap_trinh_arm trong D.
Sau , ta m trnh bin dch Keil UVison4 ln v chn tab Project->New
Uvision project. Mt ca s mi hin ln nh sau:
d dng qun l cc project, mi project ta nn lu vo 1 folder ring.
V folder cha project nn nm trong mc lap_trinh_arm d qun l.
V d ta to 1 new folder c tn Project1 trong D:\lap_trinh_arm. Tr li
vi trnh bin dch Keil, lc ny trnh bin dch bo ta t tn v chn ni
lu cho project ca mnh. File project c ui l .uvproj. V d y,mnh
t tn project l test.uvproj v n s c lu trong folder project1.
Sau cc bn nhn nt Save. Mt ca s khc hin ra c tn l Select
device for Target. Lc ny ta chn chip m mnh s dng. y l
STM32F103C8 (thm hnh)
Sau khi nhn OK, trnh bin dch s hi chng ta c copy startup code v
ADD file hay khng. Chng ta s chn No v phn ny chng ta s lm
th cng ch khng nh trnh bin dch lm gim. Tip theo ta nhn vo
mc File Extension nh hnh v. 1 ca s hin ln nh hnh:
By gi ta COPY 5 source file download trn v qung chng vo
folder cha project ca mnh, y l project1. Nn nh, mi file project
mi u phi nm trong 1 folder ring v folder cha project no cng
phi c 1 bn COPY ca 5 source file trn. Sau khi COPY 5 file trn xong,
by gi ta tin hnh add file cho project nh sau:
Add file core_cm3.c th mc
\Libraries\CMSIS\CM3\CoreSupport.
Add cc file lin quan n iu khin ngoi vi th mc
\Libraries\STM32F10x_StdPeriph_Driver\src.
Add file startup_stm32f10x_md.s th mc
\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startu
p\arm.
Add 5 source file nm trong folder cha d n, y l
D:\lap_trinh_arm\Project1
Sau khi tin hnh add file xong, ta nhn OK. Tip theo ta vo tab Flash
v chn Configure Flash Tools. Lc ny ca s Options for Target
hin ln.
mc Output, ta check vo Creat HEX file, sau nhn vo Select
folder for Object, to 1 new folder c tn l Obj, m folder ra v
nhn OK. Vic lm ny nhm mc ch sau khi Build, chng trnh s to
ra 1 file Hex np v file Hex ny s nm trong folder Obj chng ta
va to. Tip theo tab Listing ta cng to 1 folder lst tng t.
mc C/C++, phn Defines cc bn g dng ny vo:
USE_STDPERIPH_DRIVER,STM32F10X_MD. Trong mc Include
Paths, cc bn nhn vo biu tng bn pha tay phi, ca s Folder
Setup hin ln nh hnh bn di:
Lc ny ta tin hnh chn ng dn cho cc file ca d n, bao gm:
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\Cor
eSupport
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\Dev
iceSupport\ST\STM32F10x
..\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_Std
Periph_Driver\inc
..\Project1

Lu : ng dn cui cng chnh l ng dn ti 5 source file nm


trong folder cha project. Nu trong folder cha project, cc bn to thm
new folder cha 5 file ny th cc bn phi chn ng dn ti tn
folder cha 5 file ch khng ch l ng dn ti folder cha project.
Lc ny ta hon thnh cc bc c bn v bt u tin hnh Build
project. Sauk hi Build xong nu chng trnh bo l 0 errors tc l ta
Build thnh cng.

TI LIU THAM KHO


Cc bn download ti liu lin quan ti link sau: http://www.mediafire.com/?upkbd919n6136

You might also like