24
Fukusei Electronics Phone : 0909596937 Email : [email protected] Trang 1 Hướng dẫn nhanh sử dụng

Huong Dan Nhanh

Embed Size (px)

Citation preview

Page 1: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 1

Hướng dẫn nhanh sử dụng

Page 2: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 2

Lục mục

Hướng dẫn thiết lập Jump và nạp cho board ST ARM Development Tr.3 Tạo dự án với Keil ARM Tr.4 Các bước nạp chương trình qua FLASH LOADER DEMOSTRATOR Tr.12 Nguyên lý mạch Tr.23

Page 3: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 3

Hướng dẫn thiết lập Jump và nạp qua FLASH LOADER DEMOSTRATOR cho board ST ARM Development

J1 chọn áp vào chân Vbat của ARM

Vị trí Chế độ 1-2 3.3v 2-3 Nguồn cấp

từ pin 3.3v

J4 chọn áp vào chân BOOT1 của ARM Vị trí Chế độ 1-2 GND 2-3 3.3v

J11 Chọn nguồn cấp cho Board mạch Vị trí Chế độ 1-2 USB

2-3 Nguồn cấp ngoài DC ( 9 tới 15V )

SW1 Chọn chân BOOT

Vị trí Chế độ 1 USB

boot 2 BOOT0

CHẾ ĐỘ HOẶT ĐỘNG ARM Nạp J4:1-2 SW1(2):OFF Chạy J4:2-3 SW1(2):ON

Page 4: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 4

Tạo dự án với Keil ARM Giới thiệu cách tạo mới dự án cho vi xử lý ARM Cortex-M3 STM32F103RC bằng Keil ARM. Cùng với đó là cách tích hợp bộ thư viện chuẩn CMSIS của ST dành cho dòng ARM này.

1. Bộ thư viện CMSIS ST cung cấp cho người dùng bộ thư viện chuẩn lập trình giao tiếp với thiết bị ngoại vi tương thích với chuẩn CMSIS. Thông qua bộ thư viện này, lập trình viên dễ dàng giao tiếp với các thiết bị phần cứng chuẩn của các dòng Cortex-M3 của ST.

Thư viện được chia làm 2 phần: + phần hỗ trợ nhân Cortex-M3: bao gồm mã giao tiếp với nhân CPU, và đoạn mã start up code. + phần hỗ trợ các thiết bị ngoại vi: chứa toàn bộ các hàm thư viện điều khiển thiết bị ngoại vi của ST. Cấu trúc thư viện CMSIS như sau:

Library + CMSIS + CM3 + CoreSupport //thư mục chứa hàm hỗ trợ nhân Cortex-M3 + DeviceSupport + ST + STM32F10X //System startup code + startup //Start up code + Documentation //tài liệu hỗ trợ + STM32F10x_StdPeriph_Driver //thư mục chứa hàm hỗ trợ thiết bị ngoại vi + inc //thư mục chứa header file + src //thư mục chứa mã nguồn

* Lưu ý: Các hàm được viết và đặt tên theo chuẩn CMSIS, lập trình viên cần tuân theo các quy tắc của CMSIS khi sử dụng hàm, tránh viết lại các hàm truy cập thẳng vào phần cứng khi không cần thiết.

2. Khởi tạo dự án mới + Mở Keil IDE, chọn menu “Project->New uVision Project” để tạo dự án mới. Giả dụ đặt tên dự án mới này là 24h_Led. * Lưu ý: Thường khi tạo project mới hệ thống file quản lý dự án của Keil hay bố trí ở thư mục dự án, điều này dễ bị lẫn lộn với các file nguồn, ta nên tạo một thư mục con để quản lý các file dự án này. Chọn chip STM32F103RC cho board

Page 5: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 5

Hình 1: Khởi tạo dự án

+ Sau khi dự án mới được tạo, ta nên tổ chức lại hệ thống mã nguồn để dễ dàng theo dõi.

Hình 2: Tổ chức thư mục mã nguồn

Page 6: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 6

Như hình 2 ở trên ta tạo 4 nhóm file, các nhóm “CMSIS”, “StdPeriph_Driver” và “Start up” sẽ là các files từ thư viện CMSIS của ST.

* Lưu ý: Khi tạo mới dự án, Keil sẽ hỏi người dùng có sử dụng "start up code" sẵn có không. Chúng ta không sử dụng "start up code" này của Keil mà sẽ dùng của ST có trong bộ thư viện chuẩn. + Tích hợp thư viện CMSIS vào chương trình

Chúng ta sẽ lần lượt tích hợp các thư mục trong thư viện vào dự án như sau: + Nhóm “CMSIS”: thêm file core_cm3.c ở thư mục “\Libraries\CMSIS\CM3\CoreSupport” và system_stm32f10x.c ở thư mục “\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x” + Nhóm “StdPeriph_Driver”: thêm các file liên quan đến điều khiển ngoạI vi, ở dự án này chúng ta cần điều khiển cổng GPIO, UART nên cần thêm các file: stm32f10x_gpio.c, stm32f10x_usart.c và stm32f10x_rcc.c ở thư mục “\Libraries\STM32F10x_StdPeriph_Driver\src”. + Nhóm “Start up”: thêm file startup_stm32f10x_hd.s ở thư mục “Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm”. + Nhóm “User”: chứa file của người dùng, giả sử thêm file main.c của ta vào đây.

Page 7: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 7

* Lưu ý: Đối với nhóm StdPeriph_Driver, nên căn cứ vào nhu cầu điều khiển ngoại vi để thêm vào các file tương ứng, tránh thêm các file dư thừa vì làm tăng thời gian biên dịch và tốn tài nguyên hệ thống. + Khai báo thư mục thư viện cho dự án Sau khi thêm các file cần thiết cho dự án, chúng ta chưa thể biên dịch thành công được vì còn thiếu đường dẫn tới các file khai báo thư viện CMSIS Mở khung điều khiển cấu hình dự án

Chọn tab “C/C++”

Page 8: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 8

Thêm các đường dẫn thư mục sau vào dự án: + \Libraries: thư mục chứa Libraries CMSIS + \Libraries\CMSIS\CM3\CoreSupport + \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x + \Libraries\STM32F10x_StdPeriph_Driver\inc * Lưu ý : Người dùng có thể thêm vào các đường dẫn thư mục khác của dự án.

3. Cấu hình project Sau khi đã thêm các file cần thiết cho dự án, chúng ta phải thiết lập các thông số cơ bản để Keil có thể biên dịch ra file thực thi. + Để nạp chương trình xuống board , chúng ta cần cấu hình Keil biên dịch ra file hex(hoặc bin). Mở khung cấu hình dự án, chọn tab “Output”, check và ô “Create HEX File”

Page 9: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 9

+ Để tiện sắp xếp tài nguyên của dự án, ta nên xếp các file tạm được sinh ra bởI Keil vào các thư mục riêng

Tương ứng với các file object(tab Output) và linker(tab Listing) ta lưu trong thư mục “Obj” và “Lst” cho tiện theo dõi sau này. + Cần lưu ý là với bộ thư viện CMSIS, chúng ta sử dụng khá nhiều kỹ thuật “macro” trong lập trình. Có một số “macro” cần khai báo “define” sẵn trong dự án để có thể biên dịch thành công.

Page 10: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 10

* Lưu ý: Nếu sử dụng bộ thư viện chuẩn cho thiết bị ngoại vi, nên khai báo macro: USE_STDPERIPH_DRIVER.

4. Trình diễn + Nếu có sẵn board , chúng ta có thể nạp trực tiếp file .hex sau khi biên dịch xuống chíp thông qua Flash Downloader của ST bằng cổng COM. + Nếu không có board, chúng ta có thể xem bằng cách dùng Debug Simulator của Keil

Page 11: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 11

+ Chạy Debug chương trình, mở cửa sổ theo dõi các thiết bị ngoại vi ở menu “Peripherals” chọn ngoại vi tương ứng, giả sử đó là Port C của GPIO.

Bấm F10(hoặc F11) để chạy debug từng dòng lệnh đồng thời theo dõi giá trị của Port C thay đổi.

5. Tài nguyên dự án

Download bộ thư viện theo chuẩn CMSIS của ST tại đây.

Download dự án mẫu tại đây.

* Lưu ý là khi down về, các bạn để 2 file zip trong cùng một thư mục và giải nén. Nếu khác thư mục thì cấu hình đường dẫn trỏ tới thư viện CMSIS sẽ bị sai ( tham khảo lại mục 3. Cấu hình project) dẫn đến biên dịch project bị lỗi.

Page 12: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 12

Các bước nạp chương trình qua FLASH LOADER DEMOSTRATOR

B1 : chuyển ARM qua chế độ nạp qua các J4 và SW1(2) B2 : Chạy chương trình nạp FLASH LOADER DEMOSTRATOR và thiết lập thông số như trong hình

Bấm chọn Next NẾU HIỆN RA THÔNG BÁO NHƯ SAU

Chú ý làm các bước như sau :

1. Rút nguồn cấp ra khỏi boad chờ sau 5s rùi cấp nguồn lại 2. Kiểm tra lại cáp COM

Page 13: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 13

3. Kiếm tra lại JMP thiết lập ARM mode nạp đã đúng chưa ? Nếu như bạn đã làm như các bước trên mà vẫn hiện ra thông báo đó thì có thể ARM của bạn không vào được bootloarder hoặc ARM bạn đã fuse “WRITE PROTECT : ENABLE”

B2 : Nếu chương trình nhận ra bootloader từ ARM , lúc đó chương hiện ra thông báo như sau :

Bạn bấm vào button “Next” Hoặc thông báo

Page 14: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 14

Khi đó bạn bấm vào button “Remove protection” Chờ cho chương trình xóa xong bạn Nhấn “Close “ bạn chạy lại chương trình và làm lại như Bước 1 B3 : Khi bạn gặp thông báo

Page 15: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 15

Bạn bấm “Next” B4 : Bạn thiết lập thông số như trong hình dưới

Page 16: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 16

Bạn chọn file nạp bằng cách bấm vào nút “…”

Bạn tiếp tục click chọn “File of type”

Page 17: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 17

Chọn “Hex File (*.hex)” Khi đó bạn trỏ tới file hex mà bạn muốn nạp cho ARM

Xong bạn bấm button “Open”

Và khi đó chương trình sẽ ra trở lại màn hình như sau

Nếu bạn muốn chương trình kiểm tra lại nội dung file nạp có đúng với nội dung của ARM hay

không bạn click chọn “Verify after download”

B4: Bạn tiếp tục bấm “Next” Và đây là chương trình như hình sau

Page 18: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 18

Khi nạp xong chương trình thông báo :

Page 19: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 19

Bạn chọn “Close” để đóng chương trình B5: thiết lập lại Mode ARM để chạy chương trình trong ARM

Bạn muốn khóa chương trình thì sao ? Bạn thực hiện lại từ bước B1 tới B4 như lúc nạp chương trình : bạn thiết lập thông số như hình dưới

Page 20: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 20

Và bấm chọn “Next”

Chọn “Yes”

Chương trình đang thực hiện mode “READ PROTECTION”

Page 21: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 21

Khi thực hiện xong chương trình thông báo

Page 22: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 22

Bạn chọn “Close” để đóng chương trình và thiết lập lại Mode ARM để chạy chương trình trong ARM

Lưu ý : Tuyệt đối không chọn Mode “Enable : WRITE PROTECTION” khi chọn mode này ARM sẽ vĩnh viễn không nạp được qua chương trình FLASH LOADER DEMOSTRATOR nữa .

Page 23: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 23

Nguyên lý mạch

RESET

JP1

JTAG

135791113151719

2468101214161820

C9

22PF

PA9

PA10

S1RESET

R7

10K

PB12

PA2

DB1

R30

10K

PA1

R23

1K

R8

10K

C20

104

OSC

32_IN

C1

104

J11

USB 1 2 3 4

JNTR

ST

TP2+3.3v1

PA9

C8

22PFD

5

LED

USB_D

M

DB0

PA5

PA12

PB13

PA1

PA4

R2

1M

VCC

-3.3

PB7

PB4

SW1

1243

OSC

32_OU

T

BOO

T0

C13

104

+5V

S4

DB5TP3

GN

D1

PB10

JTDI

VCC

-3.3

PC12

R18

10K

D7

LED

+C

22100uF

VCC

-3.3

DB0

USB_D

P

C5

104

Y1

8Mhz

R20

500

DB7

J111 2 3

PB8

PA0

R27

10K

USB_5V

PA15

PB5

VCC

-3.3

PA1

J4BOO

T 1

1 2 3

JTDI

PB13

PB11

PA11

U4

AE1117-3.3V

3

1

2V_in

GND V_out

VCC

-3.3

PA2

PA3

PB15

PA3

J7RC

A JACK

1

2

R31

500

RES

ET

BOO

T0

C2

104

R6

10K

D2

LED

PB1

S3

PA15

USB_EN

PA5

U2

SPEAKER

OSC

_OU

T

PC10

R14

10K

PA8

C4

104

C21

104

J213579111315

246810121416

DB7

J8SD C

ARD

SOC

KET

12345678 9

NSS

MO

SIG

ND

VCC

SCK

GN

DM

ISOD

AT1

DAT2

C11

104

D8

4007

VCC

-3.3

PB7

Y2

32.768

J113579111315

246810121416

VCC

-3.3

D6PW

LED

R19

10K

DB6

PC9

U1STN

32F103RBT6

1

23456

7

891011

121314151617 18 1920212223

2425 26 27 28 29 3031 32

33 34 35 3637383940

414243444546 47 484950

51525354 55 56 57 58 59

60

61 6263 64

VBAT

PC13/AN

TI_TAM

PPC

14/OSC

32_INP

C15/O

SC32_O

UT

PD0/O

SC_IN

PD1/O

SC_O

UT

NR

ST

PC0/AD

C10

PC1/AD

C11

PC2/AD

C12

PC3/AD

C13

VSSAVD

DA

PA0-WKU

P/U

SART2_C

TS/AD

C0/TIM

2_CH

1_ETRPA1/U

SART2_R

ST/ADC

1/TIM2_C

H2

PA2/USAR

T2_TX/ADC

2/TIM2_C

H3

PA3/USAR

T2_RX/AD

C3/TIM

2-CH

4

VSS4

VDD

4

PA4/SPI1_NSS/U

ART2_C

K/AD

C4

PA5/SPI1_SCK/AD

C5

PA6/SPI1_MISO

/ADC

6/TIM3_C

H1

PA7/SPI_MO

SI/ADC

7/TIM3_C

H2

PC4/AD

C14

PC5/AD

C15

PB0/ADC

8/TIM3_C

H3

PB1/ADC

9/TIM3_C

H3

PB2/BOO

T1

PB10/I2C2_SC

L/USAR

T3_TXPB11/I2C

2_SDA/U

SAR

T3_RX

VSS1

VDD

1

PB12/SPI2_N

SS/I2C2_SM

BAL/UAR

T3_CK/TIM

1_BKINPB13/SPI2_S

CK/U

SART3_C

TS/TIM

1_CH

1NPB

14/SPI2_MISO

/USAR

T3_RTS

/TIM1_C

H2N

PB15/SPI_MO

SI/TIM1_C

H3N

PC6

PC7

PC8

PC9

PA8/USAR

T1_CK/TIM

1_CH

1/MC

0PA9/U

SART1_TX/TIM

1_CH

2PA10/U

SART1_R

X/TIM1_C

H3

PA11/USAR

T1_CTS/C

ANR

X/USBD

M/TIM

1_CH

4PA12/U

SART1_R

TS/CAN

TX/USBD

P/TIM1_ETR

PA13/JTMS

-SWD

AT

VSS2

VDD

2

PA14/JTCK

-SWC

LKPA15/JTD

I

PC10

PC11

PC12

PD2/TIM

3-ETR

PB3/JTDO

PB4/JTRST

PB5/I2C1_SM

BA

PB6/I2C1_SC

L/TIM4_C

H1

PB7/ISC

1_SDA_TIM

4_CH

2

BOO

T0

PB8/TIM4-C

H3

PB9/TIM4_C

H4

VSS3

VDD

3

PB10

+C

1810U

F

USB_D

M

R5

10K

Q3Q A1015

1

3

2

R4

10K

PB15

D11N

4148

PA3

C7

12PF

C17

104

DB3

PA10

PC12

OSC

_IN

PB0

R25

22

VC

C-3.3

BATTER

Y

BOO

T1

PB0

PA12

R15

10K

J9

12

J613579111315

246810121416

USB_D

P

PB2

R22

10K

PB9

VCC

-3.3

PA0

PB3

JTCK

R17

1K

VCC

-3.3

PA5

JTCK

R9

10K

VC

C-3.3

RESET

R28

500

VC

C-3.3

PA4

D3

LED

VCC

-3.3

VCC

-3.3

JNTR

ST

PC11

R11

1K

R1

10KPB6

PA14

1/1V1.1

Fukusei Electronic Co.,Ltd

Custom

11

Sunday, Novem

ber 28, 2010

Title

SizeD

ocument N

umber

Rev

Date:

Sheet

of

OSC

_OU

T

PA6

PA13

PA9

PA14

C10

104

R24

1.5K

S2

PA7

DB3

PB9

J12

OU

T 5V

12

C12

104

BOO

T1

D4

LED

VCC

-3.3

OSC

32_IN

PA8

PC8

PC9

PD2

R10

10K

VC

C-3.3

PB12

JTDO

R29

500

Q1

Q C

828

2

3

1

PC11

PA6

PB4

R16

1K

R13

10K

PA7

PA2

BOO

T0

DB4

PB5

VCC

-3.3

DB4

+C

1910U

F

R12

10K

1 3

2

C14

104

PC8

JTMS

PA10

PB0

PA11

PA0

C16

104

OSC

32_OU

T

VCC

-3.3

PB14

DB2

TP1+5V1

+C

23100uF

U3

MAX3232/SO

15 16

13

81011

134526

12 914

7

GND VCC

R1IN

R2IN

T2IN

T1INC

1+C

1-C

2+C

2-

V+V-

R1O

UT

R2O

UT

T1OU

T

T2OU

T

R21

10K

BATTER

Y

JTMS

PC10

PC13

PA13

VCC

-3.3

RESET

PA6

C15

104

PC13

C3

104D

B1

PB14

C24

104

PB8

PA7

VCC

-3.3

PB6

BT13V LI BATTER

Y

12

U5

LM7805 / TO

2201

3

2

INO

UT

GND

VCC

-3.3

DB2

PB1

PD2

PA4

R3

10K

R26

22

PB11

USB_5V

OSC

_IN

J3123

J10

DB9 1 2 3 4 5 6 7 8 9

JTDO

DB6

PB3

C6

12PFV

CC

-3.3

DB5

J513579111315

246810121416

Page 24: Huong Dan Nhanh

Fukusei Electronics Phone : 0909596937 Email : [email protected]

Trang 24

Nếu bạn có thắc mắc về cách nạp chương trình bạn có thể liên hệ số 0909596937 hoặc email:

[email protected] hoặc [email protected]