You are on page 1of 12

Vi iu khin STM8 (20-02-2013) Trang 1/12

arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)


HNG DN S DNG TRNH BIN DCH
IAR EMBEDDED WORKBENCH CHO VI IU KHIN STM8


1. GII THIU CHUNG
* Ni dung bi vit:
- Ci t trnh bin dch IAR Embedded Workbench.
- To workspace/Project trong IAR.
- Thm th vin vo project.
- Vit chng trnh chp led.
- Debug chng trnh vi ST-LINK.

* Tnh nng (Features):
STM8 l vi iu khin (vk-MCU) 8 bits ca STMicroelectronics. Cc ngoi vi tng ng cc hng
khc, nhng gi thnh thp hn. Ngoi cc ngoi vi c bn nh UART, Timer, ADC, PWM,, STM8 cn c
dao ng ni 16MHz, 128kHz, RTC, EEPROM, Beep, ADC 10/12 bits, DAC 12 bits, DMA, Self-
programming, Touch-sensing, H tr np/debug SWIM bng 4 dy (RESET, SWD, VCC, GND). Chn ra
(pin-out) c thit k ging nhau v v tr cc chn cp ngun v chn ngoi vi nn c th thay th m khng
cn v li board.

Mt s series ca dng vi iu khin STM8
+STM8S, dng vk c bn (Standard), cc ngoi vi gii hn so vi cc series khc.
+STM8L, dng vk tit kim in (ultra-Low-power EnergyLite)
+STM8A, dng vk chuyn dng cho t (Automotive)
+STM8T, dng vk chuyn dng cho cm bin chm (Touch-sensing)

* Trnh bin dch (compiler) v debugger:
Hin nay c 2 trnh bin dch ph bin cho dng STM8 l Cosmic v IAR.
- Cosmic thng c dng kt hp vi mi trng son tho ST Visual Develop c cung cp bi
STMicroelectronics. Tuy nhin, Cosmic vn c th c dng vi Eclipse. Trnh bin dch Cosmic cho php
bin dch min ph 8KB. Nu ng k s c cp license 32KB min ph trong 1 nm. H tr debug cc mch
np ph bin nh: ST-LINK, RAISONANCE,
- IAR l chng trnh tch hp gia trnh bin dch v mi trng son tho. IAR c ti v v ci t
vi 2 phin bn:
+Phin bn Kick Start: Bin dch min ph 8KB v khng gii hn v thi gian.
+Phin bn Trial: Bin dch 32KB trong 30 ngy. Sau phi mua license tip tc s dng.
H tr debug cc mch np ph bin nh: ST-LINK, STice.

* Mch th nghim STM8S-DISCOVERY
Bi vit ny s hng dn s dng dng STM8 vi board th nghim STM8S-DISCOVERY BOARD










Vi iu khin STM8 (20-02-2013) Trang 2/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Board mch STM8S-Discovery gm 2 phn chnh: Phn bn phi l mch np/debug ST-LINK. Phn
bn tri l mch th nghim, s dng chip STM8S105C6 c lp thm thch anh ngoi, touch-sensing v cc pin-
out.
- Phn mch np/debug c ni vi phn mch th nghim STM8S105C6 theo chun SWIM, bng 4
dy SWD, RESET, VCC v GND. Trong cc jumper SB2 (SWD) v SB1 (RESET) dng ni/ tch ri
phn mch np/debug vi phn mch th nghim.

- Chi tit hn, cc bn c th xem schematic v hng dn theo link sau:
www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/CD00282475.pdf

- Datasheet rt gn ca STM8S105C6:
www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00200092.pdf

- Datasheet y ca dng STM8S:
http://www.st.com/st-web-
ui/static/active/en/resource/technical/document/reference_manual/CD00190271.pdf


2. CI T TRNH BIN DCH IAR EMBEDDED WORKBENCH

Bi vit ny hng dn cc bn s dng chng trnh IAR Embedded Workbench for
STMicroelectronics STM8, 8K KickStart Edition, v.1.31.
Nh trnh by trn, phin bn kickstart cho php bin dch min ph 8KB, khng gii hn
thi gian. y c xem l trnh bin dch min ph cho cc ng dng nh nh: STM8S003-8KB.
i vi cc ng dng n 32KB, cc bn c th s dng phin bn dng th 30 ngy, ci t
tng t nh bn kickstart.
Hin nay, cc phin bn b kha ca IAR cng c th bin dch khng gii hn. Tuy nhin,
phin bn ny c khng khuyn khch nn s khng c cp n trong bi vit ny.

- ng k nhn c License Number, License Key v link down load Download chng trnh
IAR Embedded Workbench for STMicroelectronics STM8, 8K KickStart Edition, v. 1.31 theo
link sau:
http://supp.iar.com/Download/SW/?item=EWSTM8-KS8

- Cc bn c th s dng thng tin ca tc gi nh sau:













- Tin hnh ci t, nhp License Number v License Key trong qu trnh ci.
- Lu : driver cho mch debugger ST-Link cng c ci t cng vi IAR, ch chn YES khi
c hi.
Link download bn KickStart 1.31:
http://www.mediafire.com/?2scba2yx26zc7ne
hoc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/EWSTM8-KS-1311.exe

License Number:
9558-986-544-3455

License Key:
UTDT1P0BQ3K0SLLFCFANZWNXXJ2A580GQV6EV6DHUMNPQ2GZHRL42I60UOOD5TVYEC0MFGB
57NU3GUQWMPT5ST0YL5T78OH446MZSWSQYQTB2OOWWC4YMIXZCNBTKBW3NIX0Y354DVG0ER
PIW14CKFDKUYE543R0QLNDXPHLX00D1WTYZDV1HWHHSY2YB# Feature: EWSTM8-KS Version:
01_WIN Temporary license (Licno:9558-986-544-3455), expires 2037-12-31
Vi iu khin STM8 (20-02-2013) Trang 3/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Sau khi ci t thnh cng s xut hin icon trn desktop

3. TO WORKSPACE/PROJECT TRONG IAR
- M chng trnh IAR Embedded Workbench
- To workspace bng cch vo menu File New Workspace


- To project STM8S_blinkLED trong a C:\STM8Prj\ bng cch: Vo menu Project
Create New Project


- Chn STM8 Series v C project OK


Vi iu khin STM8 (20-02-2013) Trang 4/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Chn ng dn C:\STM8Prj\ STM8S_blinkLED v t tn STM8S_blinkLED trong ca s
Save As SAVE


- Sau khi thc hin cc bc trn ta c ca s nh sau:


- Vo menu File Save Workspace lu workspace vo ng dn sau: C:\STM8Prj\

Vi iu khin STM8 (20-02-2013) Trang 5/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)

- Cy th mc sau khi to Workspace v Project















- Lu : mt workspace c th qun l nhiu project.


4. THM TH VIN VO PROJECT
- Ti th vin STM8S_StdPeriph_Driver v filestm8s_conf.h theo link di y. Sau copy vo th
mc project STM8_blinkLED
http://www.mediafire.com/?dqqssgfidz1pad1
hoc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8S_StdPeriph_Driver.rar

- Th mc sau khi copy s c cu trc nh sau:


STM8Prj l th mc
workspace. Bn trong
th mc ny c cha
file STM8Prj.eww
qun l workspace
STM8S_blinkLED l
th mc project. Bn
trong th mc ny c
cha file
STM8S_blinkLED.ewp
qun l project
main.c l file code chnh
ca chng trnh
Vi iu khin STM8 (20-02-2013) Trang 6/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Khai bo th vin trong IAR bng cch nhp chut phi vo Project STM8S_blinkLED chn
Option


- Chn C/C++ Compiler Preprocessor, nhp vo ng dn: $PROJ _DIR$\ v
$PROJ _DIR$\STM8S_StdPeriph_Driver\inc OK



Vi iu khin STM8 (20-02-2013) Trang 7/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Khai bo #include "stm8s_conf.h" trong main.c


- Nhn F7 build project (hoc vo menu Project Rebuild All)
- Xem kt qu build thnh cng, Total number of errors: 0


5. VIT CHNG TRNH CHP LED.
Yu cu:
- Vit chng trnh chp LED (LD1) trn chn PD0 ca chip STM8S105C6, s dng board th
nghim STM8S-DISCOVERY BOARD.

Phn tch:
- Chng trnh cn iu khin chn PD0 ca STM8S105C6 xut tn hiu xung vung chp
LED. Do , ch cn s dng th vin gpio ca ST.

Thc hnh:

- Chn chip STM8S105C6 cho project bng cch click phi vo project STM8S_blinkLED
chn Option General Options Device chn STM8S105C6. xem hnh minh ha:






Vi iu khin STM8 (20-02-2013) Trang 8/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)


- Thm th vin STM8S_StdPeriph_Driver v filestm8s_conf.h vo project nh bc 4 trnh
by trn.
- M file stm8s_conf.h thmkhai bo th vin gpio. Khai bo #define _GPIO (1) Save, xem
hnh minh ha:



- Thm on chng trnh sau vo file main.c










#include "stm8s_conf.h"
unsigned int delay;
int main( void )
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);

while(1)
{
GPIO_WriteReverse(GPIOD, GPIO_PIN_0);
for(delay=0;delay<64000;delay++){;}
}

// return 0; //remove Warning[Pe111]
}
Vi iu khin STM8 (20-02-2013) Trang 9/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)





- Thm th mc Source vo project bng cch click chut phi vo Project STM8S_blinkLED
Add Add Group nhp Source OK




- Thm file stm8s_gpio.c vo project bng cch click chut phi vo Th mc Source Add
Add Files Ta chn file \STM8S_StdPeriph_Driver\src\stm8s_gpio.c Open

- Nhn F7 build project (hoc vo menu Project Rebuild All)
- Xem kt qu build thnh cng, Total number of errors: 0

Vi iu khin STM8 (20-02-2013) Trang 10/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)




- Cc chng trnh con di y c vit sn trong file source stm8s_gpio.c. Tham kho cc
chng trnh con khc trong file stm8s_gpio.h

GPI O_DeInit(GPIOD);
GPI O_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
GPI O_WriteReverse(GPIOD, GPIO_PI N_0);
GPI O_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);
GPI O_WriteLow(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins);


- Th vin c vit sn trong STM8S_StdPeriph_Driver kh y cho cc ng dng v c
khai bo trong file stm8s_conf.h. Tham kho chi tit trong file stm8s_conf.h



6. DEBUG CHNG TRNH VI ST-LINK

- Kim tra cc jumper SB1 v SB2 trn STM8S-DISCOVERY BOARD. Chn SWD v RESET
phi ni vi phn mch th nghim.











Vi iu khin STM8 (20-02-2013) Trang 11/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)

- Cu hnh mch np/debug ST-LINK bng cch click phi vo project STM8S_blinkLED
chn Option Debugger Chn ST-LINK. Chn mc ST-LINK b chn tt c trong
khung download OK. Xem hnh minh ha:



- Kt ni board STM8S-DISCOVERY vo my tnh, kim tra my tnh nhn c mch ST-
LINK trong Device manager

- Trong chng trnh IAR, chn Menu Project Download and Debug

Vi iu khin STM8 (20-02-2013) Trang 12/12
arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)

- Click phi vo dng lnh ta mun t im dng chn Toggle Breakpoint



- Nhn F5 hoc icon start chng trnh

- Nhn vo icon thot khi debug mode




- Tm hiu thm cch debug chng trnh vi cc phm tt F5, F10, F11, Run to Cursor, Add
watch,

- Download Workspace mu theo link sau:

http://www.mediafire.com/?gqsmzxdfify0cxh
hoc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8Prj.rar

You might also like