SlideShare a Scribd company logo
1 of 12
Download to read offline
Vi điều khiển STM8 (20-02-2013) Trang 1/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
HƯỚNG DẪN SỬ DỤNG TRÌNH BIÊN DỊCH
IAR EMBEDDED WORKBENCH CHO VI ĐIỀU KHIỂN STM8
1. GIỚI THIỆU CHUNG
* Nội dung bài viết:
- Cài đặt trình biên dịch IAR Embedded Workbench.
- Tạo workspace/Project trong IAR.
- Thêm thư viện vào project.
- Viết chương trình chớp led.
- Debug chương trình với ST-LINK.
* Tính năng (Features):
STM8 là vi điều khiển (vđk-MCU) 8 bits của STMicroelectronics. Các ngoại vi tương đương các hãng
khác, nhưng giá thành thấp hơn. Ngoài các ngoại vi cơ bản như UART, Timer, ADC, PWM,…, STM8 còn có
dao động nội 16MHz, 128kHz, RTC, EEPROM, Beep, ADC 10/12 bits, DAC 12 bits, DMA, Self-
programming, Touch-sensing,… Hỗ trợ nạp/debug SWIM bằng 4 dây (RESET, SWD, VCC, GND). Chân ra
(pin-out) được thiết kế giống nhau về vị trí các chân cấp nguồn và chân ngoại vi nên có thể thay thế mà không
cần vẽ lại board.
Một số series của dòng vi điều khiển STM8
+ STM8S, dòng vđk cơ bản (Standard), các ngoại vi giới hạn so với các series khác.
+ STM8L, dòng vđk tiết kiệm điện (ultra-Low-power EnergyLite™)
+ STM8A, dòng vđk chuyên dụng cho ô tô (Automotive)
+ STM8T, dòng vđk chuyên dụng cho cảm biến chạm (Touch-sensing)
* Trình biên dịch (compiler) và debugger:
Hiện nay có 2 trình biên dịch phổ biến cho dòng STM8 là Cosmic và IAR.
- Cosmic thường được dùng kết hợp với môi trường soạn thảo ST Visual Develop được cung cấp bởi
STMicroelectronics. Tuy nhiên, Cosmic vẫn có thể được dùng với Eclipse. Trình biên dịch Cosmic cho phép
biên dịch miễn phí 8KB. Nếu đăng ký sẽ được cấp license 32KB miễn phí trong 1 năm. Hỗ trợ debug các mạch
nạp phổ biến như: ST-LINK, RAISONANCE,…
- IAR là chương trình tích hợp giữa trình biên dịch và môi trường soạn thảo. IAR được tải về và cài đặt
với 2 phiên bản:
+ Phiên bản Kick Start: Biên dịch miễn phí 8KB và không giới hạn về thời gian.
+ Phiên bản Trial: Biên dịch 32KB trong 30 ngày. Sau đó phải mua license để tiếp tục sử dụng.
Hỗ trợ debug các mạch nạp phổ biến như: ST-LINK, STice.
* Mạch thí nghiệm STM8S-DISCOVERY
Bài viết này sẽ hướng dẫn sử dụng dòng STM8 với board thí nghiệm STM8S-DISCOVERY BOARD
Vi điều khiển STM8 (20-02-2013) Trang 2/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Board mạch STM8S-Discovery gồm 2 phần chính: Phần bên phải là mạch nạp/debug ST-LINK. Phần
bên trái là mạch thí nghiệm, sử dụng chip STM8S105C6 có lắp thêm thạch anh ngoài, touch-sensing và các pin-
out.
- Phần mạch nạp/debug được nối với phần mạch thí nghiệm STM8S105C6 theo chuẩn SWIM, bằng 4
dây SWD, RESET, VCC và GND. Trong đó các jumper SB2 (SWD) và SB1 (RESET) dùng để nối/ tách rời
phần mạch nạp/debug với phần mạch thí nghiệm.
- Chi tiết hơn, các bạn có thể xem schematic và hướng dẫn theo link sau:
www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/CD00282475.pdf
- Datasheet rút gọn của STM8S105C6:
www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00200092.pdf
- Datasheet đầy đủ của dòng STM8S:
http://www.st.com/st-web-
ui/static/active/en/resource/technical/document/reference_manual/CD00190271.pdf
2. CÀI ĐẶT TRÌNH BIÊN DỊCH IAR EMBEDDED WORKBENCH
Bài viết này hướng dẫn các bạn sử dụng chương trình IAR Embedded Workbench for
STMicroelectronics STM8, 8K KickStart Edition, v.1.31.
Như đã trình bày ở trên, phiên bản kickstart cho phép biên dịch miễn phí 8KB, không giới hạn
thời gian. Đây được xem là trình biên dịch miễn phí cho các ứng dụng nhỏ như: STM8S003-8KB.
Đối với các ứng dụng đến 32KB, các bạn có thể sử dụng phiên bản dùng thử 30 ngày, cài đặt
tương tự như bản kickstart.
Hiện nay, các phiên bản bẻ khóa của IAR cũng có thể biên dịch không giới hạn. Tuy nhiên,
phiên bản này được không khuyến khích nên sẽ không được đề cập đến trong bài viết này.
- Đăng ký để nhận được License Number, License Key và link down load Download chương trình
IAR Embedded Workbench for STMicroelectronics STM8, 8K KickStart Edition, v. 1.31 theo
link sau:
http://supp.iar.com/Download/SW/?item=EWSTM8-KS8
- Các bạn có thể sử dụng thông tin của tác giả như sau:
- Tiến hành cài đặt, nhập License Number và License Key trong quá trình cài.
- Lưu ý: driver cho mạch debugger ST-Link cũng được cài đặt cùng với IAR, chú ý chọn YES khi
được hỏi.
Link download bản KickStart 1.31:
http://www.mediafire.com/?2scba2yx26zc7ne
hoặc 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 điều khiển STM8 (20-02-2013) Trang 3/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Sau khi cài đặt thành công sẽ xuất hiện icon trên desktop
3. TẠO WORKSPACE/PROJECT TRONG IAR
- Mở chương trình IAR Embedded Workbench
- Tạo workspace bằng cách vào menu File  New  Workspace
- Tạo project STM8S_blinkLED trong ổ đĩa C:STM8Prj bằng cách: Vào menu Project 
Create New Project…
- Chọn STM8 Series và C project  OK
Vi điều khiển STM8 (20-02-2013) Trang 4/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Chọn đường dẫn C:STM8Prj STM8S_blinkLED và đặt tên STM8S_blinkLED trong cửa sổ
Save As  SAVE
- Sau khi thực hiện các bước trên ta được cửa sổ như sau:
- Vào menu File  Save Workspace để lưu workspace vào đường dẫn sau: C:STM8Prj
Vi điều khiển STM8 (20-02-2013) Trang 5/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Cây thư mục sau khi tạo Workspace và Project
- Lưu ý: một workspace có thể quản lý nhiều project.
4. THÊM THƯ VIỆN VÀO PROJECT
- Tải thư viện STM8S_StdPeriph_Driver và file stm8s_conf.h theo link dưới đây. Sau đó copy vào thư
mục project STM8_blinkLED
http://www.mediafire.com/?dqqssgfidz1pad1
hoặc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8S_StdPeriph_Driver.rar
- Thư mục sau khi copy sẽ có cấu trúc như sau:
STM8Prj là thư mục
workspace. Bên trong
thư mục này có chứa
file STM8Prj.eww để
quản lý workspace
STM8S_blinkLED là
thư mục project. Bên
trong thư mục này có
chứa file
STM8S_blinkLED.ewp
để quản lý project
main.c là file code chính
của chương trình
Vi điều khiển STM8 (20-02-2013) Trang 6/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Khai báo thư viện trong IAR bằng cách nhập chuột phải vào Project STM8S_blinkLED  chọn
Option…
- Chọn C/C++ Compiler  Preprocessor, nhập vào đường dẫn: $PROJ_DIR$ và
$PROJ_DIR$STM8S_StdPeriph_Driverinc  OK
Vi điều khiển STM8 (20-02-2013) Trang 7/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Khai báo #include "stm8s_conf.h" trong main.c
- Nhấn F7 để build project (hoặc vào menu Project  Rebuild All)
- Xem kết quả build thành công, Total number of errors: 0
5. VIẾT CHƯƠNG TRÌNH CHỚP LED.
Yêu cầu:
- Viết chương trình chớp LED (LD1) trên chân PD0 của chip STM8S105C6, sử dụng board thí
nghiệm STM8S-DISCOVERY BOARD.
Phân tích:
- Chương trình cần điều khiển chân PD0 của STM8S105C6 xuất tín hiệu xung vuông để chớp
LED. Do đó, chỉ cần sử dụng thư viện gpio của ST.
Thực hành:
- Chọn chip STM8S105C6 cho project bằng cách click phải vào project STM8S_blinkLED 
chọn Option…  General Options  Device  chọn STM8S105C6. xem hình minh họa:
Vi điều khiển STM8 (20-02-2013) Trang 8/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Thêm thư viện STM8S_StdPeriph_Driver và file stm8s_conf.h vào project như bước 4 đã trình
bày ở trên.
- Mở file stm8s_conf.h thêm khai báo thư viện gpio. Khai báo #define _GPIO (1)  Save, xem
hình minh họa:
- Thêm đoạn chương trình sau vào 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 điều khiển STM8 (20-02-2013) Trang 9/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Thêm thư mục Source vào project bằng cách click chuột phải vào Project STM8S_blinkLED
 Add  Add Group…  nhập ‘Source’  OK
- Thêm file stm8s_gpio.c vào project bằng cách click chuột phải vào Thư mục Source  Add
 Add Files… Ta chọn file STM8S_StdPeriph_Driversrcstm8s_gpio.c  Open
- Nhấn F7 để build project (hoặc vào menu Project  Rebuild All)
- Xem kết quả build thành công, Total number of errors: 0
Vi điều khiển STM8 (20-02-2013) Trang 10/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Các chương trình con dưới đây đã được viết sẵn trong file source stm8s_gpio.c. Tham khảo các
chương trình con khác 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ư viện được viết sẵn trong STM8S_StdPeriph_Driver khá đầy đủ cho các ứng dụng và được
khai báo trong file stm8s_conf.h. Tham khảo chi tiết trong file stm8s_conf.h
6. DEBUG CHƯƠNG TRÌNH VỚI ST-LINK
- Kiểm tra các jumper SB1 và SB2 trên STM8S-DISCOVERY BOARD. Chân SWD và RESET
phải nối với phần mạch thí nghiệm.
Vi điều khiển STM8 (20-02-2013) Trang 11/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Cấu hình mạch nạp/debug ST-LINK bằng cách click phải vào project STM8S_blinkLED 
chọn Option…  Debugger  Chọn ST-LINK. Chọn mục ST-LINK  bỏ chọn tất cả trong
khung download  OK. Xem hình minh họa:
- Kết nối board STM8S-DISCOVERY vào máy tính, kiểm tra máy tính nhận được mạch ST-
LINK trong Device manager
- Trong chương trình IAR, chọn Menu Project  Download and Debug
Vi điều khiển STM8 (20-02-2013) Trang 12/12
arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com)
- Click phải vào dòng lệnh ta muốn đặt điểm dừng  chọn Toggle Breakpoint
- Nhấn F5 hoặc icon để start chương trình
- Nhấn vào icon để thoát khỏi debug mode
- Tìm hiểu thêm cách debug chương trình với các phím tắt F5, F10, F11, Run to Cursor, Add
watch,…
- Download Workspace mẫu theo link sau:
http://www.mediafire.com/?gqsmzxdfify0cxh
hoặc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8Prj.rar

More Related Content

What's hot

Thiết kế thiết bị điện tử công suất trần văn thịnh
Thiết kế thiết bị điện tử công suất trần văn thịnhThiết kế thiết bị điện tử công suất trần văn thịnh
Thiết kế thiết bị điện tử công suất trần văn thịnh
PS Barcelona
 
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdfĐiều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
Man_Ebook
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlab
PhạmThế Anh
 

What's hot (20)

Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip
Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chipĐề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip
Đề tài: Ứng dụng lập trình điều khiển động cơ bước sử dụng chip
 
Đề tài: Trang bị điện hệ thống băng tải vận chuyển hàng hóa, HAY
Đề tài: Trang bị điện hệ thống băng tải vận chuyển hàng hóa, HAYĐề tài: Trang bị điện hệ thống băng tải vận chuyển hàng hóa, HAY
Đề tài: Trang bị điện hệ thống băng tải vận chuyển hàng hóa, HAY
 
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmĐề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
 
Điều khiển động cơ sử dụng atmega16
Điều khiển động cơ sử dụng atmega16Điều khiển động cơ sử dụng atmega16
Điều khiển động cơ sử dụng atmega16
 
Thiết kế thiết bị điện tử công suất trần văn thịnh
Thiết kế thiết bị điện tử công suất trần văn thịnhThiết kế thiết bị điện tử công suất trần văn thịnh
Thiết kế thiết bị điện tử công suất trần văn thịnh
 
Biến đổi dc dòng liên tục
Biến đổi dc dòng liên tụcBiến đổi dc dòng liên tục
Biến đổi dc dòng liên tục
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Giáo Trình Máy Điện
Giáo Trình Máy ĐiệnGiáo Trình Máy Điện
Giáo Trình Máy Điện
 
tinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scaratinh-toan-dong-hoc-va-dieu-khien-robot-scara
tinh-toan-dong-hoc-va-dieu-khien-robot-scara
 
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
Đồ án Thiết kế bộ chỉnh lưu hình cầu 1 pha kép để điều khiển tốc độ động cơ đ...
 
Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52Vi Điều Khiển Ứng Dụng AT89s52
Vi Điều Khiển Ứng Dụng AT89s52
 
Giáo trình Kỹ thuật Robot.pdf
Giáo trình Kỹ thuật Robot.pdfGiáo trình Kỹ thuật Robot.pdf
Giáo trình Kỹ thuật Robot.pdf
 
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
Bài giảng XỬ LÝ TÍN HIỆU SỐ_10440012092019
 
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdfĐiều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
Điều khiển thích nghi cho robot NDOF trên cơ sở bộ quan sát.pdf
 
Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlab
 
Tai lieu S7-1200.pdf
Tai lieu S7-1200.pdfTai lieu S7-1200.pdf
Tai lieu S7-1200.pdf
 
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAYĐề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
Đề tài: Thiết kế mạch điều khiển máy bơm nước tự động, HAY
 
Cach su dung matlab
Cach su dung matlabCach su dung matlab
Cach su dung matlab
 
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đĐề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
Đề tài: Robot dò line điều khiển qua điện thoại, HAY, 9đ
 

Similar to Huong dan su dung iar cho stm8(20 feb2013)

Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
Vuong Nguyen
 
Kỹ thuật lập trình Gadget
Kỹ thuật lập trình GadgetKỹ thuật lập trình Gadget
Kỹ thuật lập trình Gadget
hanoipost
 
De-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdfDe-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdf
AnhTVit1
 
Sdc st-10-quy dinh lap trinh .net
Sdc st-10-quy dinh lap trinh .netSdc st-10-quy dinh lap trinh .net
Sdc st-10-quy dinh lap trinh .net
Khoát Dương Văn
 

Similar to Huong dan su dung iar cho stm8(20 feb2013) (20)

Hướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.comHướng dẫn làm quen với stm8 f103 - tincanban.com
Hướng dẫn làm quen với stm8 f103 - tincanban.com
 
Phần mềm RCBc - Tính toán cốt thép dầm
Phần mềm RCBc - Tính toán cốt thép dầmPhần mềm RCBc - Tính toán cốt thép dầm
Phần mềm RCBc - Tính toán cốt thép dầm
 
Control builder
Control builderControl builder
Control builder
 
Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
Ac fr ogdyeeau50afg7bcxmtrplolcc9hoeu__6mus7monefoq946imlse7fvjnynphogvjyelfq...
 
Presentation Contiki OS - Vietnamese
Presentation Contiki OS - VietnamesePresentation Contiki OS - Vietnamese
Presentation Contiki OS - Vietnamese
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Bai giangvb.net
Bai giangvb.netBai giangvb.net
Bai giangvb.net
 
Kỹ thuật lập trình Gadget
Kỹ thuật lập trình GadgetKỹ thuật lập trình Gadget
Kỹ thuật lập trình Gadget
 
Đố Án Thiết Kế, Xây Dựng Hệ Thống Phun Sương Làm Mát Tự Động.doc
Đố Án Thiết Kế, Xây Dựng Hệ Thống Phun Sương Làm Mát Tự Động.docĐố Án Thiết Kế, Xây Dựng Hệ Thống Phun Sương Làm Mát Tự Động.doc
Đố Án Thiết Kế, Xây Dựng Hệ Thống Phun Sương Làm Mát Tự Động.doc
 
1. Tai lieu S7-1200.pdf
1. Tai lieu S7-1200.pdf1. Tai lieu S7-1200.pdf
1. Tai lieu S7-1200.pdf
 
1. tai lieu s7 1200
1. tai lieu s7 12001. tai lieu s7 1200
1. tai lieu s7 1200
 
Đề tài: Giao tiếp máy tính - VĐK sử dụng C# và VB, HAY, 9đ
Đề tài: Giao tiếp máy tính - VĐK sử dụng C# và VB, HAY, 9đĐề tài: Giao tiếp máy tính - VĐK sử dụng C# và VB, HAY, 9đ
Đề tài: Giao tiếp máy tính - VĐK sử dụng C# và VB, HAY, 9đ
 
De-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdfDe-cuong-on-tap-NNMTPC.pdf
De-cuong-on-tap-NNMTPC.pdf
 
Sdc st-10-quy dinh lap trinh .net
Sdc st-10-quy dinh lap trinh .netSdc st-10-quy dinh lap trinh .net
Sdc st-10-quy dinh lap trinh .net
 
Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200Giới thiệu chung về plc s7 1200
Giới thiệu chung về plc s7 1200
 
Bat dau voi stm32 (demo)
Bat dau voi stm32 (demo)Bat dau voi stm32 (demo)
Bat dau voi stm32 (demo)
 
Lập trình PLC S7 1200 tiếng Việt-Chuong 3 cấu hình thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 3 cấu hình thiết bịLập trình PLC S7 1200 tiếng Việt-Chuong 3 cấu hình thiết bị
Lập trình PLC S7 1200 tiếng Việt-Chuong 3 cấu hình thiết bị
 
Giáo Trình AutoCad Pro
Giáo Trình AutoCad ProGiáo Trình AutoCad Pro
Giáo Trình AutoCad Pro
 
Chuong3
Chuong3Chuong3
Chuong3
 
Google+và+tortoise svn
Google+và+tortoise svnGoogle+và+tortoise svn
Google+và+tortoise svn
 

Huong dan su dung iar cho stm8(20 feb2013)

  • 1. Vi điều khiển STM8 (20-02-2013) Trang 1/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) HƯỚNG DẪN SỬ DỤNG TRÌNH BIÊN DỊCH IAR EMBEDDED WORKBENCH CHO VI ĐIỀU KHIỂN STM8 1. GIỚI THIỆU CHUNG * Nội dung bài viết: - Cài đặt trình biên dịch IAR Embedded Workbench. - Tạo workspace/Project trong IAR. - Thêm thư viện vào project. - Viết chương trình chớp led. - Debug chương trình với ST-LINK. * Tính năng (Features): STM8 là vi điều khiển (vđk-MCU) 8 bits của STMicroelectronics. Các ngoại vi tương đương các hãng khác, nhưng giá thành thấp hơn. Ngoài các ngoại vi cơ bản như UART, Timer, ADC, PWM,…, STM8 còn có dao động nội 16MHz, 128kHz, RTC, EEPROM, Beep, ADC 10/12 bits, DAC 12 bits, DMA, Self- programming, Touch-sensing,… Hỗ trợ nạp/debug SWIM bằng 4 dây (RESET, SWD, VCC, GND). Chân ra (pin-out) được thiết kế giống nhau về vị trí các chân cấp nguồn và chân ngoại vi nên có thể thay thế mà không cần vẽ lại board. Một số series của dòng vi điều khiển STM8 + STM8S, dòng vđk cơ bản (Standard), các ngoại vi giới hạn so với các series khác. + STM8L, dòng vđk tiết kiệm điện (ultra-Low-power EnergyLite™) + STM8A, dòng vđk chuyên dụng cho ô tô (Automotive) + STM8T, dòng vđk chuyên dụng cho cảm biến chạm (Touch-sensing) * Trình biên dịch (compiler) và debugger: Hiện nay có 2 trình biên dịch phổ biến cho dòng STM8 là Cosmic và IAR. - Cosmic thường được dùng kết hợp với môi trường soạn thảo ST Visual Develop được cung cấp bởi STMicroelectronics. Tuy nhiên, Cosmic vẫn có thể được dùng với Eclipse. Trình biên dịch Cosmic cho phép biên dịch miễn phí 8KB. Nếu đăng ký sẽ được cấp license 32KB miễn phí trong 1 năm. Hỗ trợ debug các mạch nạp phổ biến như: ST-LINK, RAISONANCE,… - IAR là chương trình tích hợp giữa trình biên dịch và môi trường soạn thảo. IAR được tải về và cài đặt với 2 phiên bản: + Phiên bản Kick Start: Biên dịch miễn phí 8KB và không giới hạn về thời gian. + Phiên bản Trial: Biên dịch 32KB trong 30 ngày. Sau đó phải mua license để tiếp tục sử dụng. Hỗ trợ debug các mạch nạp phổ biến như: ST-LINK, STice. * Mạch thí nghiệm STM8S-DISCOVERY Bài viết này sẽ hướng dẫn sử dụng dòng STM8 với board thí nghiệm STM8S-DISCOVERY BOARD
  • 2. Vi điều khiển STM8 (20-02-2013) Trang 2/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Board mạch STM8S-Discovery gồm 2 phần chính: Phần bên phải là mạch nạp/debug ST-LINK. Phần bên trái là mạch thí nghiệm, sử dụng chip STM8S105C6 có lắp thêm thạch anh ngoài, touch-sensing và các pin- out. - Phần mạch nạp/debug được nối với phần mạch thí nghiệm STM8S105C6 theo chuẩn SWIM, bằng 4 dây SWD, RESET, VCC và GND. Trong đó các jumper SB2 (SWD) và SB1 (RESET) dùng để nối/ tách rời phần mạch nạp/debug với phần mạch thí nghiệm. - Chi tiết hơn, các bạn có thể xem schematic và hướng dẫn theo link sau: www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/CD00282475.pdf - Datasheet rút gọn của STM8S105C6: www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00200092.pdf - Datasheet đầy đủ của dòng STM8S: http://www.st.com/st-web- ui/static/active/en/resource/technical/document/reference_manual/CD00190271.pdf 2. CÀI ĐẶT TRÌNH BIÊN DỊCH IAR EMBEDDED WORKBENCH Bài viết này hướng dẫn các bạn sử dụng chương trình IAR Embedded Workbench for STMicroelectronics STM8, 8K KickStart Edition, v.1.31. Như đã trình bày ở trên, phiên bản kickstart cho phép biên dịch miễn phí 8KB, không giới hạn thời gian. Đây được xem là trình biên dịch miễn phí cho các ứng dụng nhỏ như: STM8S003-8KB. Đối với các ứng dụng đến 32KB, các bạn có thể sử dụng phiên bản dùng thử 30 ngày, cài đặt tương tự như bản kickstart. Hiện nay, các phiên bản bẻ khóa của IAR cũng có thể biên dịch không giới hạn. Tuy nhiên, phiên bản này được không khuyến khích nên sẽ không được đề cập đến trong bài viết này. - Đăng ký để nhận được License Number, License Key và link down load Download chương trình IAR Embedded Workbench for STMicroelectronics STM8, 8K KickStart Edition, v. 1.31 theo link sau: http://supp.iar.com/Download/SW/?item=EWSTM8-KS8 - Các bạn có thể sử dụng thông tin của tác giả như sau: - Tiến hành cài đặt, nhập License Number và License Key trong quá trình cài. - Lưu ý: driver cho mạch debugger ST-Link cũng được cài đặt cùng với IAR, chú ý chọn YES khi được hỏi. Link download bản KickStart 1.31: http://www.mediafire.com/?2scba2yx26zc7ne hoặc 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
  • 3. Vi điều khiển STM8 (20-02-2013) Trang 3/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Sau khi cài đặt thành công sẽ xuất hiện icon trên desktop 3. TẠO WORKSPACE/PROJECT TRONG IAR - Mở chương trình IAR Embedded Workbench - Tạo workspace bằng cách vào menu File  New  Workspace - Tạo project STM8S_blinkLED trong ổ đĩa C:STM8Prj bằng cách: Vào menu Project  Create New Project… - Chọn STM8 Series và C project  OK
  • 4. Vi điều khiển STM8 (20-02-2013) Trang 4/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Chọn đường dẫn C:STM8Prj STM8S_blinkLED và đặt tên STM8S_blinkLED trong cửa sổ Save As  SAVE - Sau khi thực hiện các bước trên ta được cửa sổ như sau: - Vào menu File  Save Workspace để lưu workspace vào đường dẫn sau: C:STM8Prj
  • 5. Vi điều khiển STM8 (20-02-2013) Trang 5/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Cây thư mục sau khi tạo Workspace và Project - Lưu ý: một workspace có thể quản lý nhiều project. 4. THÊM THƯ VIỆN VÀO PROJECT - Tải thư viện STM8S_StdPeriph_Driver và file stm8s_conf.h theo link dưới đây. Sau đó copy vào thư mục project STM8_blinkLED http://www.mediafire.com/?dqqssgfidz1pad1 hoặc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8S_StdPeriph_Driver.rar - Thư mục sau khi copy sẽ có cấu trúc như sau: STM8Prj là thư mục workspace. Bên trong thư mục này có chứa file STM8Prj.eww để quản lý workspace STM8S_blinkLED là thư mục project. Bên trong thư mục này có chứa file STM8S_blinkLED.ewp để quản lý project main.c là file code chính của chương trình
  • 6. Vi điều khiển STM8 (20-02-2013) Trang 6/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Khai báo thư viện trong IAR bằng cách nhập chuột phải vào Project STM8S_blinkLED  chọn Option… - Chọn C/C++ Compiler  Preprocessor, nhập vào đường dẫn: $PROJ_DIR$ và $PROJ_DIR$STM8S_StdPeriph_Driverinc  OK
  • 7. Vi điều khiển STM8 (20-02-2013) Trang 7/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Khai báo #include "stm8s_conf.h" trong main.c - Nhấn F7 để build project (hoặc vào menu Project  Rebuild All) - Xem kết quả build thành công, Total number of errors: 0 5. VIẾT CHƯƠNG TRÌNH CHỚP LED. Yêu cầu: - Viết chương trình chớp LED (LD1) trên chân PD0 của chip STM8S105C6, sử dụng board thí nghiệm STM8S-DISCOVERY BOARD. Phân tích: - Chương trình cần điều khiển chân PD0 của STM8S105C6 xuất tín hiệu xung vuông để chớp LED. Do đó, chỉ cần sử dụng thư viện gpio của ST. Thực hành: - Chọn chip STM8S105C6 cho project bằng cách click phải vào project STM8S_blinkLED  chọn Option…  General Options  Device  chọn STM8S105C6. xem hình minh họa:
  • 8. Vi điều khiển STM8 (20-02-2013) Trang 8/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Thêm thư viện STM8S_StdPeriph_Driver và file stm8s_conf.h vào project như bước 4 đã trình bày ở trên. - Mở file stm8s_conf.h thêm khai báo thư viện gpio. Khai báo #define _GPIO (1)  Save, xem hình minh họa: - Thêm đoạn chương trình sau vào 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] }
  • 9. Vi điều khiển STM8 (20-02-2013) Trang 9/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Thêm thư mục Source vào project bằng cách click chuột phải vào Project STM8S_blinkLED  Add  Add Group…  nhập ‘Source’  OK - Thêm file stm8s_gpio.c vào project bằng cách click chuột phải vào Thư mục Source  Add  Add Files… Ta chọn file STM8S_StdPeriph_Driversrcstm8s_gpio.c  Open - Nhấn F7 để build project (hoặc vào menu Project  Rebuild All) - Xem kết quả build thành công, Total number of errors: 0
  • 10. Vi điều khiển STM8 (20-02-2013) Trang 10/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Các chương trình con dưới đây đã được viết sẵn trong file source stm8s_gpio.c. Tham khảo các chương trình con khác 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ư viện được viết sẵn trong STM8S_StdPeriph_Driver khá đầy đủ cho các ứng dụng và được khai báo trong file stm8s_conf.h. Tham khảo chi tiết trong file stm8s_conf.h 6. DEBUG CHƯƠNG TRÌNH VỚI ST-LINK - Kiểm tra các jumper SB1 và SB2 trên STM8S-DISCOVERY BOARD. Chân SWD và RESET phải nối với phần mạch thí nghiệm.
  • 11. Vi điều khiển STM8 (20-02-2013) Trang 11/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Cấu hình mạch nạp/debug ST-LINK bằng cách click phải vào project STM8S_blinkLED  chọn Option…  Debugger  Chọn ST-LINK. Chọn mục ST-LINK  bỏ chọn tất cả trong khung download  OK. Xem hình minh họa: - Kết nối board STM8S-DISCOVERY vào máy tính, kiểm tra máy tính nhận được mạch ST- LINK trong Device manager - Trong chương trình IAR, chọn Menu Project  Download and Debug
  • 12. Vi điều khiển STM8 (20-02-2013) Trang 12/12 arm.vn – Cộng đồng ARM Việt Sharing is Getting Author: bmthuong (bmthuong@yahoo.com) - Click phải vào dòng lệnh ta muốn đặt điểm dừng  chọn Toggle Breakpoint - Nhấn F5 hoặc icon để start chương trình - Nhấn vào icon để thoát khỏi debug mode - Tìm hiểu thêm cách debug chương trình với các phím tắt F5, F10, F11, Run to Cursor, Add watch,… - Download Workspace mẫu theo link sau: http://www.mediafire.com/?gqsmzxdfify0cxh hoặc http://dl.dropbox.com/u/4163751/share_arm.vn/HuongDan_STM8/STM8Prj.rar