FreeRTOS
Запуск демо-приложения
Чтобы понять, как FreeRTOS работает с демонстрационным приложением, мы продемонстрируем, как запустить демонстрационное приложение с минимальной установкой программного обеспечения на вашем компьютере с Windows. Эту настройку можно использовать в качестве экспериментальной платформы, чтобы получить представление о FreeRTOS, прежде чем переходить к её использованию на выбранной вами встраиваемой платформе.
Далее в этом курсе мы рассмотрим, как запускать FreeRTOS на других платформах, включая платформы RISC?V, и как моделировать ваши приложения без использования физической аппаратной системы.
Настройка, необходимая для запуска демо-версии Windows, выглядит следующим образом:
- Eclipse - можно скачать на сайте www.eclipse.org
- Cygwin и GCC - можно скачать на сайте www.cygwin.com
- FreeRTOS package - можно скачать на сайте www.freertos.org
Ниже приведены шаги, которые необходимо выполнить для запуска демо-приложения, после установки инструментов (Eclipse и Cygwin + GCC).
Шаг 1: Импорт проекта в Eclipse
Выполните следующие шаги, чтобы импортировать проект в Eclipse:
- Откройте Eclipse.
- В строке меню перейдите: File > Import > General > Existing Projects into Workspace.
- Выберите Next, как показано на снимке экрана ниже:
- В следующем окне выберите путь к демоверсии FreeRTOS, а затем выберите уже определенный там проект.
- Нажмите Finish, чтобы открыть проект, как показано на снимке экран ниже:
- После открытия проекта все связанные файлы отображаются в окне Project Explorer слева. Это показано на скриншоте ниже:
Шаг 2: Понимание демонстрационных файлов
Теперь давайте посмотрим на доступные демонстрационные файлы.
- В этой демонстрации есть три основных файла:
- main.c - основной код для выполнения.
- main_blinky.c - это простое двухзадачное приложение, которое дает представление о том, как могут быть построены приложения FreeRTOS.
- main_full.c - более полный список приложений.
- Давайте запустим пример main_blinky, установив define, как показано на скриншоте ниже, в файле main.c:
- Затем скомпилируйте этот пример с помощью команды build в Eclipse (Eclipse будет использовать GCC от Cygwin для компиляции кода).
Шаг 3: Запуск приложения
Теперь, когда ваше приложение готово к запуску в Windows через Eclipse, выполните следующие шаги:
- Приложение можно запустить как внутри Eclipse, так и из командной строки:
- Вы должны увидеть следующий вывод в консоли Eclipse:
- Запустите его из интерпретатора Cygwin или командной строки Windows:
- Перейдите в место, где находятся файлы FreeRTOS: \FreeRTOS\FreeRTOS\Demo\WIN32-MingW\Debug.
- Запустите RTOSDemo.exe
- Вы должны увидеть следующий результат:
Поздравляем! Вы запустили свое первое приложение FreeRTOS!
Демо-видео
Примечание переводчика
Представленное в курсе демонстрационное видео фактически повторяет шаги, описанные в предыдущем разделе. Ниже приведён транскрипт этого видео с кадрами его основных моментов.
Шаг первый - импортировать проект. Откройте из меню "File", "Import projects" и выберите имя проекта. Нажмите "Finish". Это приведет к импорту проекта в Eclipse.
Теперь вы можете собрать проект. Перейдите в раздел "Project" и нажмите "Clean"; таким образом, все существующие файлы будут очищены.
Затем выполните команду "Build All".
После выполнения команды "Build all" компилятор скомпилирует все необходимые файлы в проект, и вы получите исполняемый файл.
Видите, компилятор компилирует необходимый файл. И в конце компиляции вы можете увидеть, что исполняемый файл создан. Теперь компиляция завершена. Процесс сборки завершен.
А затем вы можете перейти к выполнению проекта. И вы можете видеть, что задачи выполняются одна за другой.
То же самое можно сделать и в командной строке Cygwin Перейдите в каталог проекта, где находится исполняемый файл, и запустите исполняемый файл, созданный в Eclipse.
Контрольные вопросы
- Допускает ли лицензия, под которой распространяется FreeRTOS, безвозмездное копирование, изменение и распространение ПО?
- Как модульность влияет на разработку программного обеспечения для встраиваемых систем?
- Почему важно использовать абстракцию информации о времени при разработке ПО для встраиваемых систем?
- Каким образом управление временем простоя системы влияет на эффективность работы встраиваемой системы?
- Где в дистрибутиве находятся файлы, специфичные для конкретных компиляторов?
- За что отвечает файл FreeRTOSConfig.h?
- Правда ли, что динамическое распределение предоставляет больший контроль над управлением памятью?
- Какая из пяти схем управления памятью, определённых FreeRTOS, скорее приведёт к фрагментации?
- За что отвечает планировщик FreeRTOS?
- Что такое задача в контексте FreeRTOS?
- Какие механизмы межзадачного взаимодействия доступны во FreeRTOS?
- Какие шаги нужно выполнить для создания нового приложения с использованием FreeRTOS?
- Какие файлы необходимо включить в проект для работы с FreeRTOS?
- Какие настройки необходимо обновить в файле FreeRTOSConfig.h для нового проекта?