Mục lục:

Thiết lập FreeRTOS từ Scratch trên Bộ khám phá STM32F407: 14 bước
Thiết lập FreeRTOS từ Scratch trên Bộ khám phá STM32F407: 14 bước

Video: Thiết lập FreeRTOS từ Scratch trên Bộ khám phá STM32F407: 14 bước

Video: Thiết lập FreeRTOS từ Scratch trên Bộ khám phá STM32F407: 14 bước
Video: Getting started with HAL: STM32F4 Discovery Blink LEDs 2024, Tháng mười một
Anonim
Thiết lập FreeRTOS từ Scratch trên STM32F407 Discovery Kit
Thiết lập FreeRTOS từ Scratch trên STM32F407 Discovery Kit

Chọn FreeRTOS làm Hệ điều hành thời gian thực cho dự án nhúng của bạn là một lựa chọn tuyệt vời. FreeRTOS thực sự miễn phí và cung cấp nhiều tính năng RTOS đơn giản và hiệu quả. Nhưng việc thiết lập freeRTOS từ đầu có thể khó hoặc tôi có thể nói hơi khó hiểu vì nó yêu cầu một số tùy chỉnh như thêm các tệp cụ thể của Vi điều khiển, thiết lập đường dẫn tệp tiêu đề, v.v. Trong phần Có thể hướng dẫn này, tôi sẽ hướng dẫn bạn cách thiết lập FreeRTOS trên chi tiết bộ Khám phá STM32F407 của bạn bằng cách sử dụng Kiel uVision IDE.

Quân nhu

  • Bạn có thể tìm thêm về FreeRTOS trong freertos.org
  • Hướng dẫn tải xuống FreeRTOS Hướng dẫn tải xuống Mã nguồn RTOS
  • Toàn bộ chi tiết về STM32F407 Discovery Kit Bắt đầu với STM32F407 Discovery KIt
  • Github Repository FreeRTOS trên STM32F407 Discovery Kit

Bước 1: Mở Keil UVision IDE

Mở Keil UVision IDE
Mở Keil UVision IDE

Mở Keil uVision IDE. Nhấp vào một dự án chọn Dự án uVision Mới… Sau đó chọn thư mục làm việc của bạn và đặt tên dự án ưa thích của bạn.

Bước 2: Chọn thiết bị

Chọn thiết bị
Chọn thiết bị

Khi bạn đã đặt tên cho dự án, trong bước tiếp theo, bạn cần thêm thiết bị. Ở đây chúng tôi đang thêm STM32F407VG Micronconroller từ STMicroelectronics. Chọn STM32F407VG, sau đó Nhấp vào OK.

Bước 3: Quản lý môi trường thời gian chạy

Quản lý môi trường thời gian chạy
Quản lý môi trường thời gian chạy

Bước tiếp theo là chọn thư viện / thành phần trình điều khiển trong tab Quản lý môi trường thời gian chạy. Tại đây chọn tất cả các thành phần như trong hình trên. Sau khi bạn kiểm tra tất cả các trường thích hợp, Nhấp vào Giải quyết rồi Nhấp vào OK.

Bước 4: Sao chép FreeRTOS vào thư mục dự án của bạn

Sao chép FreeRTOS vào thư mục dự án của bạn
Sao chép FreeRTOS vào thư mục dự án của bạn

Bây giờ bạn cần Sao chép toàn bộ thư mục FreeRTOS vào thư mục dự án của mình.

Bước 5: Thêm tệp FreeRTOS vào dự án

Thêm tệp FreeRTOS vào dự án
Thêm tệp FreeRTOS vào dự án

Khi bạn đã sao chép thư mục FreeRTOS bên trong thư mục dự án của mình, bạn phải thêm tất cả các tệp FreeRTOS cần thiết vào Dự án của mình.

  1. Trong Keil, Chọn Target1, nhấp chuột phải rồi chọn Thêm nhóm mới. Đổi tên nhóm này thành FreeRTOS.
  2. Bây giờ Nhấp vào nhóm FreeRTOS, nhấp chuột phải vào chọn Thêm tệp hiện có vào Nhóm "FreeRTOS…"
  3. Thêm tất cả các tệp FreeRTOS như trong hình trên.

Đường dẫn để tìm các tệp này trong thư mục FreeRTOS là:

  • Tệp: croutine, event_groups, list, queue, stream_buffer, task và timer. Đường dẫn: (…. / FreeRTOSv10.2.1 / FreeRTOS / Nguồn)
  • Tệp: heap_4 (Có 4 tệp quản lý bộ nhớ thêm bất kỳ ai). Đường dẫn: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Tệp: port.c (Đây là tệp MCU cụ thể). Đường dẫn: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Lưu ý: Phiên bản FreeRTOS có thể thay đổi. Chỉ cần sử dụng phiên bản mới nhất có sẵn.

Bước 6: Định cấu hình đường dẫn của tệp tiêu đề FreeRTOS

Định cấu hình đường dẫn của tệp tiêu đề FreeRTOS
Định cấu hình đường dẫn của tệp tiêu đề FreeRTOS

Khi bạn đã thêm các tệp nguồn FreeRTOS, bạn cần cho trình biên dịch biết vị trí của các tệp tiêu đề tương ứng. Do đó, chúng ta cần phải cấu hình tùy chọn trình biên dịch.

Nhấp chuột phải vào Target1 Option cho Target "Target1.." C / C ++ Bao gồm đường dẫn. Đảm bảo bạn bao gồm các đường dẫn sau:

  1. Bao gồm thư mục trong FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Nguồn / bao gồm)
  2. Thư mục RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Lưu ý: Nếu bạn có bất kỳ tệp tiêu đề nào, hãy đảm bảo bạn bao gồm đường dẫn của các tệp tiêu đề này như đã giải thích ở trên.

Bước 7: Thêm tệp "FreeRTOSConfig.h" vào dự án

Thêm vào
Thêm vào

FreeRTOS có một tệp tiêu đề quan trọng được gọi là FreeRTOSConfig.h. Tệp này chứa tùy chỉnh dành riêng cho ứng dụng (trong trường hợp cụ thể của chúng tôi là Cortex M4F MCU). Để đơn giản, tôi đã sao chép tệp FreeRTOSConfig.h cụ thể của MCU của chúng tôi trong thư mục RVDS. Và cũng ở bước 6, chúng ta đã thêm đường dẫn RVDS. Nếu bạn đang tự thêm nó thì Bạn phải thêm tệp này vào dự án của mình và cũng đảm bảo rằng bạn bao gồm đường dẫn của tệp này như được giải thích trong bước 6.

Trong trường hợp nếu bạn muốn tự thêm tệp FreeRTOSConfig.h vào thư mục ưa thích của mình, tôi đã bao gồm tệp này bên dưới.

Để biết thêm thông tin Bấm vào đây FreeRTOSConfig.h

Bước 8: Thêm tệp "main.c" với mẫu cơ bản

Thêm
Thêm
  • Bây giờ Tạo một nhóm Người dùng Mới (Tôi đã đổi tên nó thành "Ứng dụng người dùng").
  • Thêm tệp C mới vào Nhóm này (Tôi đã thêm tệp có tên là main.c).
  • Đây là tệp chứa hàm main (). Tôi đã bao gồm tất cả các chức năng và tiêu đề bắt buộc tối thiểu vào tệp này để dự án biên dịch thành công.

Bạn có thể tìm thấy tệp main.c với mẫu cơ bản bên dưới.

Bước 9: Kết nối Bộ khám phá STM32F407 với PC / Máy tính xách tay của bạn

Kết nối Bộ khám phá STM32F407 với PC / Máy tính xách tay của bạn
Kết nối Bộ khám phá STM32F407 với PC / Máy tính xách tay của bạn

Bước 10: Chọn ST-Link Debugger trong Cấu hình trình biên dịch

Chọn ST-Link Debugger trong Cấu hình trình biên dịch
Chọn ST-Link Debugger trong Cấu hình trình biên dịch

Nhấp chuột phải vào Target1, sau đó nhấp vào Option cho Target "Target1..", sau đó điều hướng đến Tab gỡ lỗi và chọn ST-Link-Debugger như trong hình trên

Bước 11: Định cấu hình ST-Link Debugger

Định cấu hình ST-Link Debugger
Định cấu hình ST-Link Debugger

Sau khi chọn ST-Link Debugger ở bước 10, nhấp vào Cài đặt sau đó chọn Trace và kiểm tra tất cả các trường như trong hình trên.

Bước 12: Xây dựng và tải lên mã

Xây dựng và tải lên mã
Xây dựng và tải lên mã

Sau khi hoàn thành tất cả các bước, hãy xây dựng dự án và đảm bảo rằng không có lỗi trong mã. Sau khi biên dịch thành công, hãy tải mã lên Bộ khám phá của bạn.

Bước 13: Chuyển đến cửa sổ gỡ lỗi và mở màn hình nối tiếp

Chuyển sang cửa sổ gỡ lỗi và mở màn hình nối tiếp
Chuyển sang cửa sổ gỡ lỗi và mở màn hình nối tiếp

Sau khi tải lên, hãy vào trình gỡ lỗi windowviewSerial WindowsDebug (printf) Viewer như trong hình trên.

Bước 14: Chạy mã để xem lỗi trên cửa sổ gỡ lỗi Printf

Chạy mã để xem Ouput trên cửa sổ gỡ lỗi Printf
Chạy mã để xem Ouput trên cửa sổ gỡ lỗi Printf

Bước cuối cùng là chạy đoạn mã như trong hình để xem kết quả đầu ra trong cửa sổ printf. Ở đây trong main.c tôi đã thực hiện 2 tác vụ đơn giản là task1 và task2. Cả hai nhiệm vụ đều có cùng mức độ ưu tiên và chúng chỉ in tên của nhiệm vụ. Do các ưu tiên giống nhau, bạn có thể thấy cả hai đều đang chạy và in tên.

Đề xuất: