Lập trình STM32F4 Phần 6: Nạp chương trình cho STM32F4 Discovery Board

07 Tháng Năm 2021

Trong bài viết lần này về lập trình hệ thống nhúng, tôi sẽ hướng dẫn cho bạn cách nập chương trình đã biên dịch vào STM32F4 Discovery Board.

Lập trình STM32F4 Phần 6: Nạp chương trình cho STM32F4 Discovery Board

Cài đặt driver cho mạch nạp ST-Link V2

Mạch nạp ST-Link V2 được dùng để nạp code và thực hiện debug cho các dòng STM8 và STM32 theo chuẩn SWD. Mạch nạp ST-Link V2 đã được trang bị sẵn trên Discovery Board nên chũng ta chỉ cần quan tâm đến phần driver cho mạch nạp nữa thôi. Khi bắt đầu thì có lẽ máy tính của  bạn chưa cài driver này nên chưa thể thực hiện nạp và debug cho KIT của chúng ta được. Nếu bạn chưa cài đặt, vậy hãy bắt đầu với việc tải software trên trang web của STMicroelectronics

  • Bước 1: Tải software tại đây.

  • Bước 2: Giải nén file en.stsw-link009.zip mới tải về.
  • Bước 3: Trong thư mục đã giải nén en.stsw-link009, kích chuột phải vào file stlink_winusb_install (Windows Batch File) và chọn Run as administrator.
  • Bước 4: Chọn Next cho các các cửa sổ hiện lên sau cuối cùng chọn Finish.
  • Bước 5: Bạn cắm cáp kết nối Discovery Board với máy tính:

​​​​​​​

  • Bước 6: Kiểm tra kết nối: kích chuột phải thư mục This PC -> chọn Manage. Trong System Tools chọn Device Manager. Nếu hiển thị giống như hình dưới đây xem như phần kết nối thành công:​​​​​​​

 

Nạp code trực tiếp từ keilC

Mở Options for Target , chọn thẻ Debug và chọn ST-Link Debugger. Sau đó chọn Settings.

Ta có thể kiểm tra chip đã được kết nối và sẵn sàng nạp chương trình hay chưa bằng cách vào mục setting, thẻ Debug. Thông số của mạch nạp ST-Link V2 hiển thị có dạng như hình dưới đây là ổn.

Ta chọn STM32F4xx Flash là 1M đúng con chíp trên kit để chương trình được nạp đúng địa chỉ.

Ở thẻ Flash Download, Chọn program, verify, chọn Reset and run nếu muốn sau khi nạo code thì reset chip và chạy, nếu bỏ chọn thì sau khi chương trình nạo thì chip chưa chạy, chỉ khi ta bấm nút reset trên kit thì chương trình mới chạy.

​​​​​​​

Nhấn Ok để lưu thay đổi, tiến hành Rebuild code, check xem code đã build thành công chưa trước khi tiến hành nạp code.

Để nạp code, bạn click nút Load, sau đó bạ sẽ thấy 1 thanh progress bar ở góc trái bên dưới của KeilC bắt đầu chạy:

Sau khi nạp code thành công, thông báo có dạng sau đây sẽ xuất hiện:

Sử dụng phần mềm STM32 ST-Link Utility

Phần mềm STM32 ST-LINK Utility tạo điều kiện lập trình hệ thống STM32 nhanh chóng dùng cho các mạch ST-LINK và ST-LINK / V2. Phần mềm được tải về miễn phí từ trang chủ của ST, link tại đây.

  • Sau khi cài đặt hoàn tất, bạn kết nối phần cứng mạch nạp và kit, ta mở folder cài đặt STM32 ST-LINK Utility và run file STM32 ST-LINK Utility.exe.

  • Nhấn Target/ Connect, khi đó mạch nạp sẽ kết nối với VĐK STM32F4. Thông tin về chip như Device, ID, Flash size (kích thước bộ nhớ flash) được hiện lên. Thông tin về bộ nhớ cũng được nhìn thấy. Ta có thể thay đổi địa chỉ bắt đầu (ô address), kích thước bộ nhớ đọc về (ô size), dạng hiển thị (ô datawidth) để đọc được nhưng vùng nhớ khác nhau.

​​​​​​​

Nạp code cho VĐK bằng file .bin hoặc .hex: ta dùng Keil C biên dịch ra file .hex bằng cách chọn Options for Target/ Output/ chọn  Create hex File. Trên phần mềm STM32 ST-LINK Utility ta chọn Target/ Program/chọn đến file .hex vừa biên dịch rồi nhấn Start để bắt đầu nạp code, ta có thể chọn hoặc bỏ chọn Reset after programming

​​​​​​​

Tạm Kết

Hiện tại có lẽ bạn chưa có chương trình nào để có thể nhìn thấy một cách trực quan chương trình của bạn đang chạy trên KIT. Vậy thì trong bài viết sau, ta hãy viết chương trình đơn giản đầu tiên nhé.

Bình luận