Съдържание:

Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit: 14 стъпки
Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit: 14 стъпки

Видео: Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit: 14 стъпки

Видео: Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit: 14 стъпки
Видео: Установка "чистого" Free RTOS в проект STM32 2024, Декември
Anonim
Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit
Настройване на FreeRTOS от нулата на STM32F407 Discovery Kit

Изборът на FreeRTOS като операционна система в реално време за вашия вграден проект е чудесен избор. FreeRTOS е наистина безплатен и предлага много прости и ефективни RTOS функции. Но настройването на freeRTOS от нулата може да е трудно или мога да кажа малко объркващо, тъй като изисква известна персонализация, като добавяне на специфични за микроконтролера файлове, задаване на пътища към заглавни файлове и т.н. В тази инструкция ще ви насоча как да настроите FreeRTOS на подробно вашия комплект за откриване STM32F407 с помощта на Kiel uVision IDE.

Консумативи

  • Можете да намерите повече за FreeRTOS на freertos.org
  • Ръководство за изтегляне на FreeRTOS RTOS Изходен код Инструкции за изтегляне
  • Пълни подробности за STM32F407 Discovery Kit Първи стъпки със STM32F407 Discovery KIt
  • Github хранилище FreeRTOS на комплект за откриване STM32F407

Стъпка 1: Отворете Keil UVision IDE

Отворете Keil UVision IDE
Отворете Keil UVision IDE

Отворете Keil uVision IDE. Щракнете върху проект, изберете Нов проект на uVision… След това изберете работната си директория и дайте предпочитаното име на проекта.

Стъпка 2: Изберете устройството

Изберете Устройството
Изберете Устройството

След като дадете име на проекта, в следващата стъпка трябва да добавите устройство. Тук добавяме микроконтролер STM32F407VG от STMicroelectronics. Изберете STM32F407VG, след което щракнете върху OK.

Стъпка 3: Управление на средата по време на изпълнение

Управление на среда за изпълнение
Управление на среда за изпълнение

Следващата стъпка е да изберете компонента библиотека/драйвер в раздела Manage Run-Time Environment. Тук изберете всички компоненти, както е показано на горната снимка. След като проверите всички подходящи полета Щракнете върху Разрешаване, след което Щракнете върху OK.

Стъпка 4: Копирайте FreeRTOS в папката на вашия проект

Копирайте FreeRTOS в папката на вашия проект
Копирайте FreeRTOS в папката на вашия проект

Сега трябва да копирате цялата папка FreeRTOS в папката на вашия проект.

Стъпка 5: Добавете FreeRTOS файлове към Project

Добавете FreeRTOS файлове към Project
Добавете FreeRTOS файлове към Project

След като копирате папката FreeRTOS във вашата папка на проекта, трябва да добавите всички необходими файлове FreeRTOS към вашия проект.

  1. В Keil, изберете Target1, щракнете с десния бутон и след това изберете Add new group. Преименувайте тази група на FreeRTOS.
  2. Сега щракнете върху групата FreeRTOS, щракнете с десния бутон върху Добавяне на съществуващи файлове към група „FreeRTOS …“
  3. Добавете всички FreeRTOS файлове, както е показано на горната снимка.

Пътят за намиране на тези файлове в папката FreeRTOS са:

  • Файлове: croutine, event_groups, list, queue, stream_buffer, задачи и таймери. Път: (…. / FreeRTOSv10.2.1 / FreeRTOS / Източник)
  • Файлове: heap_4 (Има 4 файла за управление на паметта, добавете всеки). Път: (…. / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / MemMang)
  • Файлове: port.c (Това е файл, специфичен за MCU). Път: (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Забележка: Версията на FreeRTOS може да се промени. Просто използвайте най -новата налична версия.

Стъпка 6: Конфигурирайте пътя на заглавните файлове на FreeRTOS

Конфигурирайте пътя на заглавните файлове на FreeRTOS
Конфигурирайте пътя на заглавните файлове на FreeRTOS

След като сте добавили изходните файлове на FreeRTOS, трябва да кажете на компилатора къде се намират съответните заглавни файлове. Следователно трябва да конфигурираме опцията за компилатор.

Щракнете с десния бутон върху Target1 Опция за Target "Target1.." C/C ++ Включване на пътя. Не забравяйте да включите тези пътища:

  1. Включете папката в FreeRTOS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / include)
  2. Директория RVDS (… / FreeRTOSv10.2.1 / FreeRTOS / Source / portable / RVDS / ARM_CM4F)

Забележка: Ако имате заглавни файлове, не забравяйте да включите пътя на тези заглавни файлове, както е обяснено по -горе.

Стъпка 7: Добавете файла „FreeRTOSConfig.h“към Project

Добавяне
Добавяне

FreeRTOS има един важен заглавен файл, наречен FreeRTOSConfig.h. Този файл съдържа специфична за приложението (в нашия случай специфична за Cortex M4F MCU) персонализация. За простота, копирах нашия конкретен MCU FreeRTOSConfig.h файл в директорията RVDS. Също така в стъпка 6 вече добавихме пътя на RVDS. Ако го добавяте сами, трябва да добавите този файл във вашия проект и също така да се уверите, че сте включили пътя на този файл, както е обяснено в стъпка 6.

Ако искате да добавите FreeRTOSConfig.h файл от себе си в предпочитаната от вас директория, включих този файл по -долу.

За повече информация Щракнете тук FreeRTOSConfig.h

Стъпка 8: Добавете файла „main.c“с основния шаблон

Добавете
Добавете
  • Сега създайте нова потребителска група (преименувах я на „Потребителско приложение“).
  • Добавете нов C-файл към тази група (добавих файл, наречен main.c).
  • Това е файлът, в който съществува функцията main (). Включих всички минимално необходими функции и заглавки в този файл, така че проектът да се компилира успешно.

Можете да намерите файла main.c с основен шаблон по -долу.

Стъпка 9: Свържете вашия комплект за откриване STM32F407 към вашия компютър/лаптоп

Свържете вашия комплект за откриване STM32F407 към вашия компютър/лаптоп
Свържете вашия комплект за откриване STM32F407 към вашия компютър/лаптоп

Стъпка 10: Изберете ST-Link Debugger в конфигурацията на компилатора

Изберете ST-Link Debugger в конфигурацията на компилатора
Изберете ST-Link Debugger в конфигурацията на компилатора

Щракнете с десния бутон върху Target1, след това щракнете върху Опция за Target "Target1..", след това отворете раздела Debug и изберете ST-Link-Debugger, както е показано на горната снимка

Стъпка 11: Конфигурирайте ST-Link Debugger

Конфигурирайте ST-Link Debugger
Конфигурирайте ST-Link Debugger

След като изберете ST-Link Debugger в стъпка 10, щракнете върху Settings, след това изберете Trace и проверете всички полета, както е показано на горната снимка.

Стъпка 12: Изградете и качете кода

Изградете и качете кода
Изградете и качете кода

След като изпълните всички стъпки, изградете проекта и се уверете, че няма грешки в кода. След успешно компилиране, качете кода във вашия Discovery Kit.

Стъпка 13: Отидете на прозореца за отстраняване на грешки и отворете серийния монитор

Отидете на прозорец за отстраняване на грешки и отворете сериен монитор
Отидете на прозорец за отстраняване на грешки и отворете сериен монитор

След качването отидете в прозореца за отстраняване на грешки в прозореца Сериен WindowsDebug (printf) Viewer, както е показано на горната снимка.

Стъпка 14: Изпълнете кода, за да видите изхода при отстраняване на грешки в прозорецаf

Стартирайте кода, за да видите изхода при отстраняване на грешки в прозорецаf
Стартирайте кода, за да видите изхода при отстраняване на грешки в прозорецаf

Последната стъпка е да стартирате кода, както е показано на снимката, за да видите изхода в прозореца printf. Тук в main.c съм реализирал 2 прости задачи, наречени task1 и task2. И двете задачи имат един и същ приоритет и просто отпечатват името на задачата. Поради същите приоритети можете да видите и двете да работят и да отпечатват името.

Препоръчано: