ОСРВ FX-RTOS

FX-RTOS

  • Единая экосистема. При разработке встроенного ПО, большинство возникающих проблем, как правило, связаны с интеграцией различных компонентов. Поэтому наиболее удобен подход к разработке, при котором используется набор "строительных блоков" ПО от одного производителя.

  • Единый интерфейс ОСРВ. Существуют различные варианты FX-RTOS, предназначенные для работы на устройствах различных классов. От микроконтроллеров с ограниченными ресурсами до систем с поддержкой защиты памяти. Все эти варианты используют один программный интерфейс (API), что позволяет разрабатывать различные устройства без необходимости изучения различных ОСРВ для разных применений.

  • Работа в реальном времени. FX-RTOS изначально проектировалась как система жёсткого реального времени, поэтому обеспечение ограниченного времени реакции на внешние события является абсолютным приоритетом и не зависит от нагрузки, а также количества системных объектов. Все эти свойства распространяются также и на многопроцессорные системы.

  • Симулятор. Все компоненты, включая ядро ОСРВ, а также сетевой стек и файловую систему могут работать в программном окружении в среде Windows. Это позволяет создавать прототипы и разрабатывать ПО одновременно с разработкой аппаратного обеспечения, а также предоставляет возможности для удобной отладки в среде Microsoft Visual Studio.

  • Широкие возможности для настройки. Все программные продукты Eremex отличаются гибкими возможностями настройки встроенного ПО под конкретные применения. Например, ОСРВ допускает замену компонентов ядра, таких как планировщик или набор примитивов синхронизации.

  • Поддержка всех популярных процессоров и средств разработки. FX-RTOS поддерживает наиболее распространенные микроконтроллеры ARM Cortex-M0/M3/M4, Microchip PIC32MX, Atmel AVR32 и так далее. Из средств разработки, помимо бесплатных инструментов, таких как GNU GCC, поддерживаются также и проприетарные, такие как Keil uVision или IAR Embedded Workbench.
  • В современном мире все большее распространение получают встроенные системы. Автономные микроконтроллеры работают в составе носимых устройств, являются строительными блоками "интернета вещей", бытовой техники. После разработки аппаратной составляющей устройства, не менее важной частью является разработка управляющих программ, от качества которых зависит как стабильность работы так и энергопотребление.
    Для упрощения разработки ПО для подобных устройств, а также сокращения времени вывода их на рынок, нами был разработан набор программных компонентов, которые составляют платформу для разработки встроенных систем. В ее состав входит:

    • Ядро реального времени, которое может применяться для реализации многозадачности

    • Стек сетевых протоколов, для связи с Интернетом или управляющим компьютером

    • Файловая система, с помощью которой устройство может сохранять информацию в энергонезависимой памяти

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

    Начать знакомство с семейством программных продуктов Eremex для разработки встроенных систем можно даже без наличия аппаратных средств и отладочных плат. Все компоненты предоставляют возможность запуска в программной среде. В качестве оборудования в этом случае используется интерфейс Win32 API.
    Демонстрационные проекты для работы в программном окружении представлены в виде проектов Microsoft Visual Studio. Для оценки возможностей ПО на аппаратуре, предоставляется также набор демонстрационных проектов для наиболее популярных процессоров и инструментов разработки.

    В зависимости от задач и используемого оборудования возможны различные сценарии использования ОСРВ.
    Для большинства устройств на основе микроконтроллеров наиболее подходящей моделью использования ПО является статическая модель. В этом случае ядро ОСРВ представляет собой статическую библиотеку, которая компонуется с приложением в единый исполняемый образ, а затем загружается в энергонезависимую память устройства. После старта микроконтроллера и выполнения платформенно-зависимого кода, который обычно поставляется производителем, управление получает ОСРВ. Далее создаются и запускается один или более пользовательских потоков, которые в дальнейшем выполняются независимо друг от друга, а ядро ОС обеспечивает их планирование. В такой архитектуре граница между ОС и приложением размыта, и вызовы сервисов ОС являются обычными вызовами функций. Помимо реализации потоков, в задачи ОС входит реализация объектов синхронизации, таких как мьютексы или семафоры, а также таймеров и механизмов взаимодействия обработчиков прерываний и потоков. Хотя, на первый взгляд, подобной функциональности можно достичь и без ОСРВ, использование последней позволяет писать программы, которые легко расширять и поддерживать, так как всегда проще поддерживать набор независимых или почти независимых потоков, чем единую монолитную программу.
    Хотя существуют применения, где достаточно применения только ядра ОСРВ, в большинстве случаев встроенное приложение обладает более широким функционалом и возможностями общения с внешним миром, для чего используется так называемое промежуточное ПО, такое как стеки коммуникационных протоколов, файловые системы и тому подобное. Все эти компоненты, так же как и ядро ОСРВ, реализуются в виде статических библиотек, которые, пользуясь сервисами ОСРВ, в свою очередь, предоставляют вызывающему приложению более высокоуровневые сервисы, такие как чтение и запись файлов, или возможность создания сетевых соединений.
    Компактные ОСРВ для микроконтроллеров как правило не имеют модели драйверов и какого-либо фиксированного интерфейса для их реализации, то есть каждый компонент, зависящий от аппаратуры, определяет специфический интерфейс драйвера, который должен подключаться в виде библиотеки извне.
    Использование ОСРВ в виде статической библиотеки идеально для микроконтроллеров, поскольку многие из них отличаются довольно ограниченными ресурсами, как с точки зрения производительности, так и по объему доступной памяти. Например, таковая частота большинства микроконтроллеров находится в районе 50-150МГц, а доступные объемы памяти варьируются от единиц до десятков килобайт.

    Статическая модель, основанная на библиотеках, обеспечивает наилучшую производительность и компактные объемы прошивки. Главным же минусом такого подхода является то, что ОС, драйверы, промежуточное ПО, а также, собственно, пользовательское приложение выполняются в одном режиме процессора без какой-либо защиты. В целях снижения стоимости устройств, бывает целесообразно совместить в одном устройстве несколько функций, так что система содержит несколько компонентов, с различным уровнем ответственности. В этом случае компоненты должны быть изолированы друг от друга, с целью исключения влияния одних компонентов на другие. Такие системы, как правило, реализуются уже на более продвинутых контроллерах, в частности, поддерживающие аппаратную защиту памяти с помощью MPU (Memory Protection Unit). Для таких систем подходит другая модель, в которой ядро ОСРВ выполняется в защищенном контексте и не может быть повреждено в результате действий приложений. Ошибки или даже злонамеренные действия в результате компрометации не могут повлиять на систему в целом. Такая модель похожа на ту, которая применяется в настольных компьютерах и серверах, отличие заключается только в том, что во встроенных системах набор процессов и требуемые ими ресурсы обычно известны на этапе сборки системы, поэтому функциональность, необходимая для динамического распределения ресурсов между процессами, в ядре ОС отсутствует.
    Быстродействие такой системы, по понятным причинам, меньше, чем в первом случае, так как ОСРВ вынуждена производить множество действий, которые просто не нужны в случае микроконтроллеров, но зато такие системы обладают наилучшими показателями надежности.

    Будьте в курсе новостей и спецпредложений

    Авторизация
    Чтобы продолжить покупку, пожалуйста, авторизируйтесь на сайте.
    Забыли пароль?