]]>]]>
]]>]]>
]]>]]>
]]>]]>
]]>EN]]>
RU

Встроенные операционные системы

Большинство современных микропроцессорных устройств содержит встроенное ПО, которое по сложности значительно превосходит ПО, используемое в более зрелых устройствах.

Возрастающая сложность требует применения более гибких механизмов управления аппаратными ресурсами, приближая процесс разработки встраиваемого ПО к разработке ПО для больших компьютеров. Эту задачу решают операционные системы реального времени (ОСРВ), позволяющие разработчику получить практически тот же инструментальный комфорт «большой» ОС, оставаясь при этом в пределах использования ограниченного ресурса процессора и встроенной в контроллер памяти.

Ключевые особенности ОСРВ

Типичные аппаратные требования ОСРВ: объём ОЗУ от одного килобайта и RISC-процессор, работающий на частоте от единиц мегагерц. В отличие от полноценных ОС, ОСРВ представляет собой исходный код или библиотеку, которая статически линкуется вместе с разрабатываемым ПО и образует монолитный образ прошивки. Такой подход существенно упрощает механизм изоляции пользовательского и системного кода (в ряде ОСРВ изоляция и вовсе отсутствует), а также оптимизирует размер прошивки, исключая из неё неиспользуемый код на этапе компиляции.

Второе важное свойство ОСРВ — это детерминизм, обусловленный вычислительной сложностью О(1) любых системных вызовов, то есть отсутствие зависимости времени, потраченного на обработку системного вызова от внутреннего состояния системы. Это свойство частично вытекает из способности ОСРВ работать на системах с минимумом ОЗУ и невысокой скоростью CPU.

Таким образом, любой алгоритм, реализованный поверх ОСРВ, будет выполняться в масштабе времени, представляющим собой линейную функцию от хода часов реального времени (конечно, при условии неизменности частоты тактирования процессора). Данное свойство позволяет реализовывать на базе ОСРВ системы, которые контролируют процессы в реальном времени: управление электрическими моторами, захват, обработка и передача сигналов, контроль тех. процессов и многое другое.

Более сложные ОС (например, такие как Linux или Windows) не обладают этим качеством, поэтому даже при наличии ОС задачи реального времени зачастую выполняются в ОСРВ на выделенном контроллере или процессорном ядре.

Помимо низкого уровня системных вызовов, обеспечивающих многозадачность и работу с основными аппаратными ресурсами (таймер, ОЗУ), большинство ОСРВ предоставляют также и более высокоуровневые сервисы, которые позволяют реализовывать графический интерфейс пользователя, работать с массой периферийных устройств, организовывать файловые системы, реализовывать различные сетевые протоколы (TCP/IP, PPPoE, FTP и т.п.) и многое другое.

 

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

FreeRTOS

Портируемая свободная (GPL) ОС реального времени для встраиваемых систем. Является одной из самых популярных встраиваемых ОС (занимает 13% рынка, по версии издания EE Times).

FreeRTOS поддерживает 33 аппаратных архитектуры и 18 тулчейнов. Инженеры Promwad также добавили в эту ОС поддержку архитектуры Power e200z0h, которая используется в микроконтроллерах семейства SPC56 фирмы STMicroelectronics, разработанных для применения в ответственных узлах автомобилей.

FreeRTOS предоставляет разработчику базовый набор сервисов, типичный для любой ОСРВ:

  • Планировщик с вытесняемой многозадачностью и динамической приоритезацией
  • Средства синхронизации (семафоры, критические секции) и передачи управления (очереди, события)
  • Работа с таймером.

Сообщество разработчиков FreeRTOS также предлагает богатый набор расширений, поставляемых как под свободными, так и под коммерческими лицензиями:

  • TCP/IP-стек
  • графический трейсер
  • CLI
  • SSL/TLS-функции
  • HTTP-сервер
Для приложений, требующих сертификат о повышенной надёжности (IEC 61508, EN62304, FDA 510(k)), компания WITTENSTEIN поставляет ОСРВ SafeRTOS, которая представляет собой переработанную версию FreeRTOS с наследованием её API.
 

ThreadX

Одна из самых популярных коммерческих ОСРВ, поставляется компанией Express Logic под лицензией Royalty Free. Надёжность и предсказуемость ThreadX подтверждена 1,5 миллиардом устройств, которые работают под её управлением, а также наличием множества сертификатов безопасности.

ОСРВ ThreadX поддерживается большим количеством аппаратных архитектур, включая современные версии ARM-процессоров. Большая часть системных функций написана на ассемблере с учётом оптимизации под конкретную архитектуру, что обуславливает исключительную производительность и нетребовательность к ресурсам:

  • Размер прошивки начинается от 2 КБ, требуя до 500 байт ОЗУ
  • Время загрузки — 300 циклов CPU, время переключения контекста — менее 100 циклов

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

Express Logic поставляет богатый набор средств разработки, которые существенно облегчают процесс отладки. Имеется встроенный трейсер и графический анализатор, работающий на стороне хоста. Для среды Eclipse существует плагин, позволяющий наблюдать в наглядном виде за текущим положением системы: номер активной задачи, заполненность стека, обратный стек вызова функций, процент использования системных ресурсов и т.п.

 

RTEMS

Одна из старейших ОСРВ, ныне распространяется под свободной GPL-лицензией. Ключевым курсом развития RTEMS является поддержка свободных средств разработки, стандартов на программный интерфейс (POSIX, muITRON) и стремление реализовать сервисы, доступные только в коммерческих ОСРВ.

Так, RTEMS содержит полноценный стек BSD TCP/IP, графический интерфейс на основе библиотек picoTk, NanoX, OpenGUI, MicroWindows, FLTK. Портированы многие библиотеки, популярные в других POSIX-совместимых ОС: zlib, tcl, ncurses, libavl.

Инженеры Promwad выбрали ОСРВ RTEMS для одного проекта, включающего разработку индустриального компьютера на базе SoC Freescale QorIQ p1020, предназначенного для контроля оборудования электроподстанций. Для этого проекта была реализована следующая схема работы операционных систем компьютера:

  • Одно ядро p1020 исполняет RTEMS, на которой работают задачи реального времени
  • Другое ядро исполняет ОС Linux, которая реализует проприетарные коммуникационные протоколы и высокоуровневую бизнес-логику
  • Взаимодействие между двумя ОС осуществляется посредством стандартного интерфейса OpenMCAPI, для которого на стороне RTEMS был реализован соответствующий адаптер
 

Linux

Строго говоря, ОС Linux не подходит под определение ОСРВ, являясь скорее ОС общего назначения. Однако стремительный рост производительности аппаратных платформ, используемых для встраиваемых систем, сделал возможным использования Linux в тех приложениях, где раньше использовали ОСРВ.

Типичные системные требования ОС Linux:

  • RISC CPU >100 МГц
  • >16 Мбайт FLASH-памяти
  • >8 Мбайт ОЗУ

Используя Linux, разработчик прошивки получает возможность использования огромного количества свободно распространяемых библиотек и инструментов, работающих на десктопных и серверных версиях ОС Linux.

Кроме того, Linux-сообщество разработало массу ПО, предназначенного специально для встраиваемых систем: файловые системы для NAND-памяти, BSP с поддержкой разнообразных аппаратных платформ, дистрибутивы, позволяющие собирать образы корневой файловой системы размером единицы мегабайт.

На текущий момент ОС Linux для компании Promwad является самой часто используемой ОС. На ней разрабатываются мультимедийные проигрыватели, телевизионные приставки, сетевые маршрутизаторы, VoIP-оборудование. В приложениях, где требуется ОСРВ, инженеры Promwad отработали асимметричную конфигурацию мультиядерного процессора, в котором одно ядро задействовано под ОСРВ, другое — под Linux.

 

SYS/BIOS

SYS/BIOS является проприетарной ОС, которая, тем не менее, распространяется в исходных кодах без продажи лицензии.

SYS/BIOS — это разработка Texas Instruments, которая изначально предназначалась для работы на DSP-процессорах (она называлась DSP/BIOS, а потом была переименована в SYS/BIOS, чтобы подчеркнуть более общую направленность этой ОСРВ).

Последние версии SYS/BIOS способны работать не только на DSP, но также на широком спектре других процессоров и контроллеров компании TI: ARM Cortex-M3, MSP430, ARM9 и др.

SYS/BIOS является частью Linux SDK, который поставляется для видеопроцессоров Davinci. Связь между Linux, работающем на ARM-ядре и SYS/BIOS, работающем на DSP-ядре, осуществляется посредством стандартного программного интерфейса DSP/BIOS Link.

 

PikeOS

PikeOS была разработана компанией SYSGO AG специально для критически важных проектов, где тредуется максимальная надёжность и предсказуемость встроенного ПО.

Для достижения максимального уровня изоляции структурно независимых частей ПО в PikeOS применена концепция логического разбиения ресурсов (resourse partitioning), основанная на применении гипервизора. Гипервизор PikeOS представляет собой небольшую программную прослойку, которая виртуализирует доступную периферию и ресурсы процессора. Каждой партиции статически назначаются доступные аппаратные ресурсы. Таким образом, для программы, работающей в одной партиции, нет никакой возможности повлиять на работу программы в другой партиции.

PikeOS находит применение в авионике, машиностроении и автомобильной электронике.

 

 

Отправить запрос

* Телефон:

международный номер с кодом страны и города

Перезвоним сегодня или на следующий рабочий день. Skype для быстрой связи: sales.promwad

* E-mail:

На вашу почту придет копия отправленного запроса

Сообщение

Тут можно указать ваше имя, название компании, суть запроса и удобное время звонка