FreeRTOS
| FreeRTOS | |
|---|---|
| Разработчик | Richard Barry & FreeRTOS Team |
| Семейство ОС | ОСРВ |
| Последняя версия | 202212.00 |
| Поддерживаемые платформы | ARM (ARM7, ARM9, Cortex-M0, Cortex-M3, Cortex-M4, Cortex-A), Atmel AVR, AVR32, HCS12, MicroBlaze, Cortus (APS1, APS3, APS3R, APS5, FPF3, FPS6, FPS8), MSP430, PIC, Renesas H8/S, SuperH, RX, x86, 8052, Coldfire, V850, 78K0R, Fujitsu MB91460 series, Fujitsu MB96340 series, Nios II, Cortex-R4, TMS570, RM4x |
| Тип ядра | микроядро |
| Лицензия | MIT |
| Состояние | Актуальное |
| Репозиторий исходного кода | github.com/FreeRTOS |
| Веб-сайт | freertos.org |
FreeRTOS — многозадачная операционная система реального времени (ОСРВ) для встраиваемых систем. Портирована на 35 микропроцессорных архитектур. Распространяется под лицензией MIT с 2017 года[1]. До 2017 года распространялась под модифицированной лицензией GPL с исключением, позволяющим разработчику присвоить модифицированный код операционной системы.
Поддерживаемые процессоры
FreeRTOS поддерживает процессоры следующих производителей[2]:
- Altera
- Atmel
- Cortus
- Cypress
- Energy Micro
- Freescale
- Fujitsu
- Infineon
- Luminary Micro
- Microchip
- Microsemi (бывший Actel)
- Multiclet
- NEC
- NXP
- Renesas Electronics
- Silicon Labs
- STMicroelectronics
- Texas Instruments
- Xilinx
- Intel (x86 real mode)
- Миландр
- Intel (x86 Windows Simulator)
- Intel (Nios II)
Описание
FreeRTOS предназначена для работы на массовых микроконтроллерах, особенностями которых являются низкое быстродействие, малый объём ОЗУ и ПЗУ, отсутствие блока управления памятью и реализованных на аппаратном уровне механизмов поддержки многозадачности, например, средств быстрого переключения контекста[3].
Диспетчер системы очень прост и компактен (занимает, в зависимости от платформы и настроек ядра, 4-9 килобайт), однако поддерживает приоритеты процессов, вытесняющую и кооперативную многозадачность, семафоры и очереди. Начиная с версии 4, FreeRTOS позволяет использовать сопрограммы.
Версия 9.1.0 получила поддержку компилятора ARM Compiler 6.
Ядро системы умещается в несколько файлов.
Дистрибутив
Дистрибутив FreeRTOS может быть свободно скачан с сайта разработчика, бесплатно и без предоставления какой-либо информации (регистрации, заполнения каких-либо форм и т. п.). Документация в состав самого дистрибутива не входит, она доступна на сайте разработчика.
В состав дистрибутива входят подготовленные конфигурационные файлы и демонстрационные программы для каждой архитектуры, что позволяет очень быстро начать новую разработку. Для читаемости и лёгкости модификации код большей частью написан на Си, ассемблерные вставки используются в минимальном объёме в платформоспецифичных участках[4]. Сайт разработчика также содержит подробное руководство по использованию и портированию FreeRTOS.
Варианты
Amazon FreeRTOS
Amazon FreeRTOS отличается поставкой дополнительных библиотек, упрощающих организацию безопасного соединения устройств на базе микроконтроллеров с облачными сервисами AWS IoT Core или более мощными устройствами, работающими под управлением AWS Greengrass. В Amazon FreeRTOS обеспечена поддержка TLS 1.2, PKCS#11, шифрования данных, проверки целостности прошивки по цифровой подписи. Предложены средства для обновления прошивки в режиме OTA (over-the-air). Сетевой стек включает поддержку MQTT, TCP/IP и Wi-Fi. Для выбора и установки программных компонентов прошивки предлагается управляющий интерфейс Amazon FreeRTOS Console. Специфичные для Amazon FreeRTOS компоненты, как и ядро FreeRTOS, распространяются под лицензией MIT.
SafeRTOS, OpenRTOS
Проект «SafeRTOS»[5] — доработанный, документированный, протестированный и прошедший сертификацию (в мае 2007) на соответствие стандарту безопасности IEC 61508[англ.] вариант FreeRTOS. Другой проприетарный коммерческий вариант системы, OpenRTOS — отличается от свободной версии, помимо лицензии и предоставляемых гарантий, лишь некоторыми деталями[4].
ESP-IDF FreeRTOS
Компания Espressif Systems для поддержки своих двухъядерных микроконтроллеров серии ESP (таких как ESP32 и ESP32-S3) предоставляет двухъядерную реализацию FreeRTOS с поддержкой SMP (симметричной многопроцессорной обработки). Свою версию FreeRTOS компания назвала ESP-IDF FreeRTOS.
Примечания
- ↑ Announcing FreeRTOS Kernel Version 10 | Amazon Web Services. Amazon Web Services (англ.). 29 ноября 2017. Архивировано 1 декабря 2017. Дата обращения: 30 ноября 2017.
- ↑ Полный список поддерживаемых архитектур Архивная копия от 15 июля 2007 на Wayback Machine (англ.)
- ↑ Курниц, 2011, № 2. Что такое ОС для МК?, с. 96.
- ↑ 1 2 Курниц, 2011, № 2. Обзор FreeRTOS, с. 98-99.
- ↑ RTOS. High Integrity Systems. 9 ноября 2011. Архивировано 9 ноября 2016. Дата обращения: 4 января 2017.
Литература
- Richard Barry. Using the FreeRTOS Real Time Kernel. — 2010. — 172 с. — ISBN 978-1-4461-6914-8.
- Christopher Svec. ch. 3. FreeRTOS // The Architecture of Open Source Applications, Volume II / Amy Brown, Greg Wilson. — ISBN 978-1-105-57181-7. (перевод на сайте MLDP)
- Ivan Cibrario Bertolotti, Gabriele Manduchi. Real-Time Embedded Systems: Open-Source Operating Systems Perspective. — CRC Press, 2012-01-27. — 536 с. — ISBN 978-1-4398-4154-9.
- Андрей Курниц. FreeRTOS — операционная система для микроконтроллеров // Компоненты и технологии (КиТ). — 2011. — № 2, 3, 4, 5, 6, 7, 8, 9, 10. — С. 96—100, 109-114, 96-102, 97-102, 98-104, 23-32, 132-140, 97-104, 93-100.
Ссылки
- freertos.org — официальный сайт FreeRTOS
- FreeRTOS для STM32F4 — серия уроков по FreeRTOS для STM32F4 на mcu.by
- FreeRTOS на Хабрахабре
- FreeRTOS: практическое применение — серия статей на русском языке
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.