Хотя ответ @Richard указывает, что FreeRTOS можно использовать в среде Windows, это нетипичный вариант использования.
FreeRTOS обычно используется во встроенных микроконтроллерах (то есть в устройствах, периферийных устройствах, игрушках, промышленных контроллерах и т. д.), где нет другой операционной системы. Он предоставляет базовые функции для управления несколькими задачами для критичных ко времени функций.
Если вы еще не занимались разработкой встраиваемых систем, я бы порекомендовал выбрать плату для разработки микроконтроллеров и сначала научиться разрабатывать для нее простые вещи, а затем добавить в смесь FreeRTOS. Это может быть крутой, но полезной кривой обучения.
Встроенное приложение — это стандартное приложение C, но это не «обычная программа C» в том смысле, в каком вы запускаете ее на своем ПК. Вы компилируете и записываете программу в чип, и она автоматически выполнит main()
при включении питания или сбросе. Нет отдельной ОС, и обычно у вас нет stdio
или какого-либо ПК-подобного пользовательского интерфейса. Ваше приложение — это единственное, что работает, и оно отвечает буквально за все. Библиотеки, такие как FreeRTOS, помогают с некоторыми сложными или трудными задачами или простыми, но распространенными задачами. (Производитель чипа предоставит библиотеки для настройки и управления его основными функциями.)
«Порт» FreeRTOS — это адаптация FreeRTOS к конкретному семейству микроконтроллеров, адаптация ее к конкретным таймерам, регистрам управления или другим аппаратным возможностям (или их отсутствию), предоставляемым чипом. Основные файлы FreeRTOS не изменились, и вы будете выбирать файлы «порта» в зависимости от используемого вами чипа. Ваше приложение будет включать и ссылаться на необходимые файлы кода FreeRTOS, как и любая другая библиотека.
Что касается компиляторов и других инструментов разработки, вы будете использовать любые обычные инструменты для целевого чипа. Visual Studio Express на самом деле не предназначен для разработки встраиваемых систем, и я не думаю, что он поддерживает его из коробки (без кросс-компилятора). Я использовал сторонний плагин под названием VisualGDB с STM32 Discovery для компиляции и запуска простых приложений на основе FreeRTOS — это работало довольно хорошо, и легко запустить.
В конечном итоге я обнаружил, что это необычное решение, и мне трудно найти помощь, когда я застрял. Я перехожу на стандартную GNU ARM Toolchain (с визуальным Studio Code в качестве редактора), а сам прорабатываю кривую обучения инструменту.
person
mbmcavoy
schedule
07.07.2017