Professional Documents
Culture Documents
Phone : 0909596937
Email : phucthinhel@yahoo.com
Hướng dẫn nhanh sử dụng
Trang 1
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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
Trang 2
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 3
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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.
Trang 4
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
+ 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.
Trang 5
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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.
Trang 6
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
* 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
Trang 7
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 8
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
+ Để 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.
Trang 9
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
* 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
Trang 10
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
+ 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
* 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.
Trang 11
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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
Trang 12
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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 :
Trang 13
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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
Trang 14
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 15
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Bạn chọn file nạp bằng cách bấm vào nút “…”
Trang 16
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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”
Trang 17
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 18
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
B5: thiết lập lại Mode ARM để chạy chương trình trong ARM
Trang 19
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Chọn “Yes”
Trang 20
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 21
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
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 .
Trang 22
J1
BATTERY PC13 U1 VCC-3.3
OSC32_IN 1 2 OSC32_OUT 32 36 PB15
OSC_IN 3 4 OSC_OUT VCC-3.3 48 VDD1 PB15/SPI_MOSI/TIM1_CH3N 35 PB14
RESET 5 6 DB0 C1 C2 C3 C4 C5 64 VDD2 PB14/SPI2_MISO/USART3_RTS/TIM1_CH2N 34 PB13 U2
DB1 7 8 DB2 104 104 104 104 104 19 VDD3 PB13/SPI2_SCK/USART3_CTS/TIM1_CH1N 33 PB12 D1
DB3 9 10 VDD4 PB12/SPI2_NSS/I2C2_SMBAL/UART3_CK/TIM1_BKIN 30 PB11
11 12 PA0 31 PB11/I2C2_SDA/USART3_RX 29 PB10 1N4148
VCC-3.3 PA1 13 14 PA2 47 VSS1 PB10/I2C2_SCL/USART3_TX 62 PB9 VCC-3.3 SPEAKER
Trang 23
15 16 63 VSS2 PB9/TIM4_CH4 61 PB8 J9
18 VSS3 PB8/TIM4-CH3 59 PB7
VSS4 PB7/ISC1_SDA_TIM4_CH2 58 PB6 R1
PB6/I2C1_SCL/TIM4_CH1
2
R11
1
2
12 57 PB5 10K
13 VSSA PB5/I2C1_SMBA 56 PB4 JNTRST PB0 3 Q1
J2 VCC-3.3
PA3 VDDA PB4/JTRST 55 PB3 JTDO Q C828
1 2 PA4 VCC-3.3 BATTERY PB3/JTDO J4
J3 1 28 PB2 BOOT1
PA5 3 4 PA6 VBAT PB2/BOOT1 27 PB1 1K
1
5 6 PB1/ADC9/TIM3_CH3
1
2
3
3
BT1 9 DB1
15 16 VCC-3.3 PC1/ADC11 DB2
10 BOOT 1 R12
3V LI BATTERY PA0 14 PC2/ADC12 11 DB3
PA1 15 PA0-WKUP/USART2_CTS/ADC0/TIM2_CH1_ETR PC3/ADC13 24 DB4 PA0 2 10K
2
1
PC8 5 6 PC9 PA6 22 PA5/SPI1_SCK/ADC5 PC8 40 PC9
PA8 7 8 PA9 VCC-3.3 PA7 23 PA6/SPI1_MISO/ADC6/TIM3_CH1 PC9 51 PC10
PA10 9 10 PA11 PA8 41 PA7/SPI_MOSI/ADC7/TIM3_CH2 PC10 52 PC11
PA12 11 12 PA13 PA9 42 PA8/USART1_CK/TIM1_CH1/MC0 PC11 53 PC12
13 14 R18 PA10 43 PA9/USART1_TX/TIM1_CH2 PC12 2 PC13
15 16 VCC-3.3 PA11 PA10/USART1_RX/TIM1_CH3 PC13/ANTI_TAMP OSC32_IN
10K USB_DP 44 3
USB_DM PA12 45 PA11/USART1_CTS/CANRX/USBDM/TIM1_CH4 PC14/OSC32_IN 4 OSC32_OUT
RESET PA13 JTMS46 PA12/USART1_RTS/CANTX/USBDP/TIM1_ETR PC15/OSC32_OUT
S1 PA14 JTCK49 PA13/JTMS-SWDAT
J6
PA14 PA15 RESET PA15 JTDI 50 PA14/JTCK-SWCLK
PC10 1 2 PC11 C13 PA15/JTDI 5 OSC_IN R2 1M
Nguyên lý mạch
16
10 9 9
12 11 JTDO 8
VC C
14 13 R13 RESET 7 8 9 PA10
16 15 R14 VCC-3.3 6 R2IN R2OUT PA9
7 10
18 17 R15 R3 R4 R5 5 T2OUT T2IN
20 19 10K 10K 10K 10K 10K 4
10K 3
JTAG
VCC-3.3 VCC-3.3 2 C14 104 1
1 3 C1+ 11
J8
9 DB9 4 C1- T1IN 12 VCC-3.3
R21 1 DAT2 C15 104 5 C2+ R1OUT 13
NSS C2- R1IN
Q3 R22 10K PA4 2
MOSI T1OUT
14
10K PA7 3 C16 104 2 C11 C12
GN D
GND VCC-3.3 V+
1
R23 1K PA5 4 6
Email : phucthinhel@yahoo.com
Q A1015 SW1
3 USB_EN PA6 5 VCC V- 104 104
R24 1.5K BOOT0 1 4 6 SCK C17 104
J11 2 3 GND
15
7 MAX3232/SO
R25 22 8 MISO
2
4 USB_DP DAT1
3 USB_DM SD CARD SOCKET
2 R26 22 USB_5V
1
USB
TP1 TP2
Phone : 0909596937
+5V +3.3v
Fukusei Electronics
1
J11 R29
USB_5V +5V U4 AE1117-3.3V VCC-3.3
3 3 2
2 V_in V_out
J7 U5 1
RCA JACK D8 LM7805 / TO220
GND
1 1 3 C21 500
IN OUT 104 C18 D6
+
GN D
4007 + C22 + C23 J12 + C19 10UF C20
100uF 100uF C24 10UF 104 PWLED
1
104 1
2
2
TP3
OUT 5V 1
GND
Title Fukusei Electronic Co.,Ltd
Size Document Number Rev
Custom1/1 V1.1
Date: Sunday , Nov ember 28, 2010 Sheet 1 of 1
Fukusei Electronics
Phone : 0909596937
Email : phucthinhel@yahoo.com
Trang 24