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