Lập trình STM32F4 - Phần 5: Tạo project STM32F4 trên KeilC

03 Tháng Năm 2021

Tiếp tục với serie lập trình hệ thống nhúng với STM32F4, sau khi bạn đã làm quen với giao diện hoạt động của phần mềm KeilC, chúng ta hãy bắt tay vào việc xây dựng 1 software project cho dòng chip STM32F4 sử dụng KeilC. Trong bài viết này cách tiếp cận với STM32F4 là sử dụng thư viện Standard Peripheral (STD).

Lập trình STM32F4 - Phần 5: Tạo project STM32F4 trên KeilC

Tạo Project sử dụng thư viện Standard Peripheral Libraries (STD) trên Keil C ARM

Standard Peripheral Libraries (STD) là một trong những thư viện hỗ trợ lập trình dòng ARM STM32 của ST. STD gồm nhiều thư viện C cho các ngoại vi, phù hợp với người có kiến thức lập trình C tốt.  STD hỗ trợ hầu hết các ngoại vi ngoại trừ các ngoại vi phức tạp như USB/TCP-IP/Graphics/Touchsensor. STD không hỗ trợ các dòng chip STM32 L0, L4, L7, người dùng có thể dùng các thư viện khác như HAL để lập trình các dòng chip này.

Đầu tiên bạn hãy tải bộ thư viện Standard Peripheral Libraries (STD) cho dòng STM32F4 từ trang web của ST tại đây.

Sau khi đăng ký tài khoản, bạn tải về và giải nén sẽ được folder STM32F4xx_DSP_StdPeriph_Lib_V1.8.0. tại thời điểm tôi viết bài này thì bộ thư viện 1.8.0 là bộ mới nhất

Tạo project

  • Sao chép folder Libraries từ thư viện STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 sang thư mục vừa tạo.
  • Sao chép các file: main.c, main.h, stm32f4xx_conf.h, stm32f4xx_it.c, stm32f4xx_it.h, system_stm32f4xx.c từ đường dẫn. STM32F4xx_DSP_StdPeriph_Lib_V1.8.0\Project\STM32F4xx_StdPeriph_Templates trong project mẫu của ST sang project.

Tạo project mới trong Keil C và lưu trong thư mục project\MDK-ARM.

Chọn chip STM32F407VGTx:

Chọn Manage Run-Time EnvironmentCMSIS – CORE

Mở File Extensions: Bố trí các file source, thư viện theo chức năng

Tạo các group và thêm các file cần thiết: (Tùy ý)

  • Group User thêm file stm32f4xx_it.c, main.c. File stm32f4xx_it.c là file chương trình ngắt của người dùng, main.c là chương trình chính.
  • Group MDK-ARM thêm file startup_stm32f40_41xxx.s trong đường dẫn: \project\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm.
  • Group CMSIS thêm file system_stm32f4xx trong đường dẫn \project.
  • Group STM32F4xx_StdPeriph_Driver thêm các file driver cần thiết trong \project\Libraries\STM32F4xx_StdPeriph_Driver\src

Trong tag Device kiểm tra chip STM32F4VGTx

  • Trong Tag C/C++:
  • Define sử dụng thư viện STD và chip STM32F4 bằng dòng

USE_STDPERIPH_DRIVER,STM32F40_41xxx

  • Trong Include Paths ta thêm các đường dẫn đến các file header để trình biên dịch truy cập đến.

..\Libraries\CMSIS\Include

..\Libraries\CMSIS\Device\ST\STM32F4xx\Include

..\Libraries\STM32F4xx_StdPeriph_Driver\inc

..\..\project

Tag Debug chọn mạch nạp cho chip là ST-Link, chọn Setting và chọn  Flash Download như hình, sau khi nạp codenếu muốn chương trình chạy ngay thì chọn Reset and Run, nếu muốn bấm nút reset thì chương trình mới chạy thì bỏ chọn mục này.

 

 

Mở file system_stm32f4xx.c và sửa thông số PLL_M thành 8 để clock hệ thống đúng là 168MHz. Vì kit đang dùng thạch anh ngoài 8 MHz, không phải là 25MHz

Biên dịch code và tiến hành nạp code

Khi bạn biện dịch code xong, trong cửa sổ Build Output hiển thị như sau là bạn đã thành công tạo project cơ cản với STM32F4 dùng KeilC.

Tạm Kết

Bài viết này mình đã giới thiệu bạn cách tạo project cơ bản trên keil C. Chút bạn đọc vui vẻ

Bình luận