Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

FunkOS - это операционная система реального времени (RTOS), разработанная Funkenstein Software Consulting и предназначенная для различных архитектур микроконтроллеров. Его можно бесплатно использовать в любом проекте - коммерческом или ином - с некоторыми условиями. Если ядро ​​переносится на новую цель, этот код также должен быть доступен для включения в будущие выпуски. Кроме того, при использовании в коммерческих проектах заявление об авторстве должно быть включено в какую-либо документацию по продукту.

Описание [ править ]

FunkOS - это полностью вытесняющая многозадачная среда, способная работать на множестве современных архитектур микроконтроллеров.

Ядро поддерживает неограниченное количество программных «задач» с 255 различными уровнями приоритета.

Задачи - это независимые программы, каждая со своим собственным стеком. При каждом такте ОСРВ для выполнения выбирается задача с наивысшим приоритетом с циклическим планированием, используемым, когда несколько задач с одним и тем же уровнем приоритета готовы к запуску.

Неактивная задача должна быть определена для каждого приложения, и ее можно использовать для вызова функций энергосбережения аппаратной платформы.

Ключевые особенности ядра включают:

  • Семафоры
  • Объекты Mutex с приоритетным наследованием
  • Периодические легкие нити
  • Межпроцессные коммуникации
  • Поддержка кванта времени выполнения для задач с циклическим перебором
  • Очереди событий
  • Распределение динамической памяти с фиксированным блоком
  • «Основные услуги», включая программные часы реального времени и поддержку распределенных вычислений на основе концепции The Plumber
  • Драйвер устройства HAL
  • Модуль мониторинга сроков выполнения задач (сторожевой таймер)
  • Библиотека драйверов для 2D-дисплея, поддерживающая программный рендеринг и аппаратное ускорение
  • Фреймворк GUI и библиотека виджетов
  • Поддержка файловой системы FAT16 / 32 только для чтения
  • Альтернативное ядро ​​C ++ (FunkOS ++)
  • Альтернативное ядро ​​с циклическим перебором (Pipsqueak)

Ядро легко настраивается, что позволяет разработчику включать или исключать функции ядра в зависимости от требований приложения. В результате FunkOS очень легкий - наименьшее полезное ядро ​​и приложение компилируются до 2 килобайт кодового пространства и 400 байтов ОЗУ на микроконтроллере AVR.

Ядро FunkOS ++ в настоящее время является единственной упреждающей ОСРВ с открытым исходным кодом для 8-разрядных микроконтроллеров, написанных на C ++. Он поддерживается популярными библиотеками SSL / TLS, такими как wolfSSL .

Порты [ править ]

Атмель :

  • AVR (ATmega, ATxmega) (ATmega328P, ATmega644, ATxmega256A1)

Инструменты Техаса :

  • MSP430

ARM :

  • Cortex-M3 [непроверено]

Порты для других современных микроконтроллеров запланированы для будущих выпусков.

Дорожная карта [ править ]

Будущие выпуски будут включать в себя следующие функции:

  • Виртуальная машина для включения гибридных собственных / виртуальных задач
  • Поддержка архитектур PIC24 и dsPIC
  • Стабилизируйте порт ARM Cortex-M3
  • Библиотека растровых шрифтов

См. Также [ править ]

  • Встроенная система , Одноплатный микроконтроллер
  • Микроконтроллер , Список распространенных микроконтроллеров
  • Сравнение операционных систем с открытым исходным кодом

Ссылки [ править ]

  1. ^ "Новости проекта для FunkOS" .

Внешние ссылки [ править ]

  • Официальный веб-сайт