PX5 RTOS — это операционная система реального времени (RTOS ) , разработанная для встраиваемых систем . Она реализована с использованием языка программирования ANSI C. [1]
ОСРВ PX5, созданная Уильямом Лэми , представляет собой встраиваемую операционную систему реального времени (ОСРВ), которая была запущена в январе 2023 года. Лэми, который также разработал другие ОСРВ, такие как Nucleus RTX , Nucleus PLUS и ThreadX (приобретена Microsoft ), [2] [3] в настоящее время является президентом и генеральным директором PX5, компании по разработке встраиваемого программного обеспечения со штаб-квартирой в Сан-Диего, Калифорния, США. [4] [5] Среди этих ОСРВ примерно 10 миллиардов устройств работают под управлением ОСРВ ThreadX, [6] в то время как ОСРВ Nucleus используется примерно в 3 миллиардах устройств. [7]
Название PX5 — это аббревиатура , где P обозначает потоки POSIX , X обозначает переключение потоков , а 5 представляет пятое поколение RTOS. Написанная на ANSI C , PX5 RTOS совместима с различными архитектурами встроенных микроконтроллеров (MCU) и блоков защиты памяти (MPU). Она имеет минимальные требования к ресурсам, требуя менее 1 КБ FLASH и 1 КБ RAM для основных операций на микроконтроллерах . [8]
Одной из примечательных особенностей PX5 RTOS является ее собственная поддержка потоков POSIX (pthreads), что является стандартным API, часто отсутствующим во многих других решениях RTOS. Кроме того, она предлагает расширения реального времени, такие как флаги событий, быстрые очереди, тиковые таймеры и управление памятью. [9]
PX5 RTOS выполняет большинство вызовов API и переключений контекста менее чем за микросекунду на типичных 32-битных микроконтроллерах. Она также детерминирована — обеспечивает предсказуемую обработку для каждого API и переключения контекста независимо от количества активных потоков.
ОСРВ PX5 включает технологию проверки указателей/данных (PDV), которая проверяет адреса возврата функций, указатели функций, системные объекты, глобальные данные, пулы памяти и многое другое. [10] [11]
В ноябре 2023 года PX5 представила PX5 NET, добавив сетевое взаимодействие TCP/IP в PX5 RTOS. Как и PX5 RTOS, PX5 NET имеет небольшой минимальный размер (менее 6 КБ) и использует PDV для обеспечения безопасности и защиты во время выполнения. [12]
PX5 RTOS поддерживает большинство встроенных архитектур MCU и MPU, включая семейства архитектур ARM Cortex-M, Cortex-R, Cortex-A и RISC-V. Она поддерживает как 32-битную, так и 64-битную архитектуру и обеспечивает поддержку как асимметричной многопроцессорной обработки (AMP), так и симметричной многопроцессорной обработки (SMP) конфигураций. [13]
PX5 RTOS использует микроядро, которое повышает безопасность устройства за счет интеграции с технологией Arm TrustZone, специально разработанной для микроконтроллеров Cortex-M23 и Cortex-M33. Как RTOS пятого поколения, PX5 предназначена для промышленных приложений, позволяя разделять защищенные и незащищенные функции MCU на аппаратном уровне. [14]
Для дальнейшего усиления мер безопасности PX5 RTOS включает технологию под названием Pointer/Data Verification (PDV). Эта технология выявляет и предотвращает ошибки компьютерных программ, включая ошибки буфера. Кроме того, операционная система построена с использованием стандартных API POSIX pthreads, что облегчает разработку многопоточных программ на C/C++. Это позволяет выполнять несколько задач одновременно в разных операционных системах. [14] [15]
API POSIX pthreads в PX5 RTOS предлагают поддержку различных механизмов, таких как сигналы, переменные условия, семафоры, мьютексы и очереди сообщений. Кроме того, включены такие расширения, как флаги событий, быстрые очереди, тиковые таймеры и управление памятью. PX5 RTOS занимает мало места и демонстрирует быструю масштабируемость. Процесс ее установки включает в себя 3-шаговую процедуру, поддерживаемую двумя доступными исходными файлами: px5.c и px5_binding.s. Кроме того, операционная система автоматически продвигает один «главный» файл в первый системный поток. [14]
PX5 RTOS поддерживает флэш-память только для чтения (ROM) объемом от минимум 1 КБ до максимум менее 40 КБ. Решение также обеспечивает переносимость благодаря поддержке переносимого ANSI C для системного программирования. Более того, PX5 RTOS была проверена статическим анализом C-STAT и соответствует стандартам соответствия MISRA. [14]
В январе 2023 года PX5 и Clarinox объединили усилия для упрощения беспроводного подключения во встроенных системах с ограниченными ресурсами. [10] [16] Они интегрировали программное обеспечение стека протоколов ClarinoxBlue и ClarinoxWiFi с PX5 RTOS. [16]
25 января 2023 года компания Cypherbridge объявила об интеграции своего программного обеспечения SDK Pac и IoT uLoadXL с PX5 RTOS. [10]
В марте 2023 года Percepio AB заключила партнерское соглашение с PX5. PX5 интегрировал регистратор трассировки Percepio Tracealyzer, а Percepio поддержала RTOS PX5 в коммерчески доступной версии. [17]