[Codientu.org]_Huong Dan Su Dung IAR Cho STM8(20Feb2013)

Embed Size (px)

Citation preview

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

    arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong ([email protected])

    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 ([email protected])

    - 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: UTDT1P0BQ3K0SLLFCFANZWNXXJ2A580GQV6EV6DHUMNPQ2GZHRL42I60UOOD5TVYEC0MFGB57NU3GUQWMPT5ST0YL5T78OH446MZSWSQYQTB2OOWWC4YMIXZCNBTKBW3NIX0Y354DVG0ERPIW14CKFDKUYE543R0QLNDXPHLX00D1WTYZDV1HWHHSY2YB# 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 ([email protected])

    - 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 ([email protected])

    - 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 ([email protected])

    - 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 file stm8s_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 ([email protected])

    - 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 ([email protected])

    - 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 ([email protected])

    - Thm th vin STM8S_StdPeriph_Driver v file stm8s_conf.h vo project nh bc 4 trnh by trn.

    - M file stm8s_conf.h thm khai 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

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

    arm.vn Cng ng ARM Vit Sharing is Getting Author: bmthuong ([email protected])

    - 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 ([email protected])

    - 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

    GPIO_DeInit(GPIOD); GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST); GPIO_WriteReverse(GPIOD, GPIO_PIN_0); GPIO_WriteHigh(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins); GPIO_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 ([email protected])

    - 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 ([email protected])

    - 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