PX5 RTOS

{{Use dmy dates|date=September 2023}}

{{Infobox OS

| name = PX5 RTOS

| logo =

| logo size =

| logo caption =

| logo alt =

| screenshot =

| caption =

| screenshot_alt =

| developer = William Lamie

| family = POSIX

| working state = Current

| source model = Source-available

| released = {{Start date and age|2023|01|df=yes}}

| latest release version =

| latest release date =

| latest preview version =

| latest preview date = {{Start date and age|2023|05|02|df=yes}}

| repo =

| marketing target = Embedded systems, IoT

| programmed in = ANSI C

| language = English

| update model =

| package manager =

| supported platforms = ARM, AMD, NXP, Renesas, RISC-V, STM32

| kernel type = Embedded, deterministic, real-time microkernel

| userland =

| ui =

| license = Proprietary

| preceded by =

| succeeded by =

| website = {{URL|https://px5rtos.com/px5-rtos/}}

| tagline =

| other articles =

}}

PX5 RTOS is a real-time operating system (RTOS) designed for embedded systems. It is implemented using the ANSI C programming language.{{cite web |url=https://finance.yahoo.com/news/px5-rtos-simplifies-development-64-120000735.html |title=PX5 RTOS Simplifies Development of 64-bit Hard Real-Time Applications with Support for IAR Embedded Workbench for Arm |website=Yahoo! Finance |location=San Diego |date=12 June 2023 |access-date=22 August 2023}}

Overview

The PX5 RTOS, created by William Lamie, is an embedded real-time operating system (RTOS) that was launched in January 2023. Lamie, who also developed other RTOSes such as Nucleus RTX, Nucleus PLUS, and ThreadX (acquired by Microsoft),{{cite web |url=https://www.forbes.com/sites/janakirammsv/2019/04/21/how-does-the-express-logic-acquisition-help-microsoft-and-the-iot-ecosystem/?sh=7b00ade616c1 |title=How Does The Express Logic Acquisition Help Microsoft And The IoT Ecosystem |date=21 April 2019 |website=Forbes |author=Janakiram MSV |access-date=1 September 2023}}{{cite web |url=https://venturebeat.com/mobile/microsoft-acquires-express-logic-for-its-real-time-internet-of-things-operating-system/ |title=Microsoft acquires Express Logic for its real-time internet of things operating system |website=VentureBeat |date=18 April 2019 |first=Kyle |last=Wiggers |access-date=1 September 2023}} currently serves as the President and CEO of PX5, an embedded software company headquartered in San Diego, California, United States.{{cite web |url=https://www.embedded.com/bill-lamie-story-of-a-man-and-his-real-time-operating-systems/ |title=Bill Lamie: Story of a man and his real-time operating systems |website=embedded.com |date=3 September 2010 |access-date=31 August 2023}}{{cite web |url=https://www.electronicdesign.com/home/contact/21809634/william-lamie |title=William Lamie |website=Electronic Design |access-date=31 August 2023}} Among these RTOSes, approximately 10 billion devices are operated by the ThreadX RTOS,{{cite web |url=https://techcommunity.microsoft.com/t5/internet-of-things-blog/building-iot-solutions-with-rtos/ba-p/2420780 |title=Building IoT solutions with RTOS |date=9 Jun 2021 |website=Microsoft Tech Community |first=Martin |last=Tuip |access-date=31 August 2023}} while the Nucleus RTOS is used in around 3 billion devices.{{cite web |url=https://www.eenewseurope.com/en/nucleus-rtos-hits-30-boosts-safety-certifications/ |title=Nucleus RTOS hits 30, boosts safety certifications |date=26 March 2023 |first=Nick |last=Flaherty |website=eeNews Europe |access-date=31 August 2023}}

The name PX5 is an abbreviation where P stands for POSIX threads, X stands for thread switching, and 5 represents fifth generation RTOS. Written in ANSI C, the PX5 RTOS is compatible with various embedded microcontroller unit (MCU) and memory protection unit (MPU) architectures. It has minimal resource requirements, needing less than 1KB of FLASH and 1KB of RAM for basic operations on microcontrollers.{{cite web |url=https://www.embedded.com/px5-a-new-rtos-for-real-time-multithread-scheduling-in-under-1kb/ |title=PX5: a new RTOS for real-time multithread scheduling in under 1KB |date=27 February 2023 |first=Saumitra |last=Jagdale |website=Embedded.com |access-date=29 August 2023}}

One of the notable features of the PX5 RTOS is its native support for POSIX Threads (pthreads), which is an industry-standard API often absent in many other RTOS solutions. Additionally, it offers real-time extensions such as event flags, fast queues, tick timers, and memory management.{{cite web |url=https://www.automation.com/en-us/products/january-2023/iar-systems-supports-industrial-grade-px5-rtos |title=IAR Systems Fully Supports the Brand-new Industrial-Grade PX5 RTOS |date=26 January 2023 |website=Automation.com |access-date=29 August 2023}}

The PX5 RTOS executes most API calls and context switches in less than a microsecond on typical 32-bit microcontrollers. It is also deterministic – ensuring predictable processing for each API and context switch regardless of the number of active threads.{{Citation needed|date=December 2024}}

The PX5 RTOS incorporates Pointer/Data Verification (PDV) technology, which verifies function return addresses, function pointers, system objects, global data, memory pools, and more.{{cite web |url=https://www.designing-electronics.com/reducing-safety-and-security-risks-for-embedded-systems/ |title=Reducing safety and security risks for embedded systems |publisher=MMG Publishing |access-date=29 August 2023}}

In November 2023, PX5 introduced PX5 NET adding TCP/IP networking to the PX5 RTOS. Like PX5 RTOS, PX5 NET has a small minimal footprint (under 6KB) and leverages PDV for run-time safety and security.{{cite web|url=https://finance.yahoo.com/news/px5-launches-px5-net-reduce-133200557.html|title=PX5 Launches PX5 NET to Reduce Development Effort & Risk in TCP/IP Networking for Embedded IoT Applications|date=7 November 2023|website=Yahoo! Finance|location=San Diego, USA|access-date=8 January 2024}}

Supported platforms

PX5 RTOS supports most of the embedded MCU and MPU architectures, including ARM's Cortex-M, Cortex-R, Cortex-A, and RISC-V architecture families. It supports both 32-bit and 64-bit architectures, and provides support for both asymmetric multiprocessing (AMP) and symmetric multiprocessing (SMP) configurations.{{cite web |url=https://www.iot-now.com/2023/06/17/131641-iar-systems-implements-px5-rtos-for-its-iar-embedded-workbench/ |title=IAR Systems implements PX5 RTOS for its IAR Embedded Workbench |date=17 June 2023 |website=IoT Now |access-date=29 August 2023}}

Technology

The PX5 RTOS uses a microkernel which enhances device security by integrating with Arm TrustZone technology, specifically designed for Cortex-M23 and Cortex-M33 microcontrollers. As a fifth-generation RTOS, PX5 is tailored for industrial-grade applications, enabling the separation of secure and non-secure MCU functions at the hardware level.

To further strengthen security measures, PX5 RTOS incorporates a technology called Pointer/Data Verification (PDV). This technology identifies and prevents computer program errors, including buffer errors. In addition, the operating system is constructed using industry-standard POSIX pthreads APIs, facilitating the development of multi-threaded programs in C/C++. This allows for the execution of multiple tasks simultaneously across different operating systems.{{cite web |url=https://www.eeworldonline.com/tag/iarsystems/ |title=IAR Systems adds support for PX5 industrial-grade RTOS |website=Electronics Weekly |date=26 January 2023 |first=Steve |last=Bush |access-date=29 August 2023}}

The POSIX pthreads APIs in PX5 RTOS offer support for various mechanisms, such as signals, condition variables, semaphore, mutex, and message queues. Furthermore, extensions like event flags, fast queues, tick timers, and memory management are also included. PX5 RTOS maintains a small footprint and exhibits rapid scalability. Its installation process involves a 3-step procedure, aided by two accessible source files: px5.c and px5_binding.s. Additionally, the operating system automatically promotes one "main" file to the first system thread.

PX5 RTOS accommodates read-only memory (ROM) Flash, ranging from a minimum of 1KB to a maximum of less than 40KB. The solution also ensures portability through its support for portable ANSI C for system programming. Moreover, PX5 RTOS has been verified by C-STAT static analysis and adheres to MISRA compliance standards.{{cite web |url=https://embeddedcomputing.com/technology/software-and-os/os-filesystems-libraries/product-of-the-week-px5-rtos-with-arm-trustzone-support |title=Product of the Week: PX5 RTOS with Arm TrustZone Support |date=1 May 2023 |website=Embedded Computing Design |access-date=27 August 2023}}

Partnerships

In January 2023, PX5 and Clarinox have joined forces to facilitate wireless connectivity in resource-constrained embedded systems.{{cite web |url=https://www.eejournal.com/article/new-px5-rtos-boasts-native-support-for-posix-pthreads-api/ |title=New PX5 RTOS Boasts Native Support for POSIX pthreads API |date=9 February 2023 |first=Max |last=Maxfield |website=Electronic Engineering Journal |access-date=25 August 2023}}{{cite web |url=https://www.eetimes.com/clarinox-px5-partner-to-improve-embedded-device-connectivity/ |title=Clarinox, PX5 Partner to Improve Embedded Device Connectivity |date=6 May 2023 |first=Karen |last=Haywood Queen |website=Electronic Engineering Times |access-date=27 August 2023}} They integrated ClarinoxBlue and ClarinoxWiFi protocol stack software with the PX5 RTOS.

On 25 January 2023, Cypherbridge made an announcement regarding the integration of its SDKPac and uLoadXL IoT software with PX5 RTOS.

In March 2023, Percepio AB entered into a partnership agreement with PX5. The PX5 integrated the Percepio Tracealyzer trace recorder and Percepio supported the RTOS PX5 in a commercially available version.{{cite web |url=https://embeddedcomputing.com/technology/iot/edge-computing/percepios-tracealyzer-46-supports-px5-rtos |title=Percepio's Tracealyzer 4.6 Supports PX5 RTOS |website=Embedded Computing Design |date=27 January 2023 |first=Chad |last=Cox |location=Västerås, Sweden |access-date=27 August 2023}}

References

{{Reflist}}

See also

{{Real-time operating systems}}

{{Operating systems}}

Category:Embedded operating systems

Category:Real-time operating systems