PX5 RTOS
Developer | William Lamie |
---|---|
Written in | ANSI C |
OS family | POSIX |
Working state | Current |
Source model | Source-available |
Initial release | January 2023 |
Marketing target | Embedded systems, IoT |
Available in | English |
Platforms | ARM, AMD, NXP, Renesas, RISC-V, STM32 |
Kernel type | Embedded, deterministic, real-time microkernel |
License | Proprietary |
Official website | px5rtos |
PX5 RTOS is a real-time operating system (RTOS) designed for embedded systems. It is implemented using the ANSI C programming language.[1]
Overview
[edit]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),[2][3] currently serves as the President and CEO of PX5, an embedded software company headquartered in San Diego, California, United States.[4][5] Among these RTOSes, approximately 10 billion devices are operated by the ThreadX RTOS,[6] while the Nucleus RTOS is used in around 3 billion devices.[7]
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.[8]
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.[9]
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.
The PX5 RTOS incorporates Pointer/Data Verification (PDV) technology, which verifies function return addresses, function pointers, system objects, global data, memory pools, and more.[10][11]
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.[12]
Supported platforms
[edit]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.[13]
Technology
[edit]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.[14]
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.[14][15]
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.[14]
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.[14]
Partnerships
[edit]In January 2023, PX5 and Clarinox have joined forces to facilitate wireless connectivity in resource-constrained embedded systems.[10][16] They integrated ClarinoxBlue and ClarinoxWiFi protocol stack software with the PX5 RTOS.[16]
On 25 January 2023, Cypherbridge made an announcement regarding the integration of its SDKPac and uLoadXL IoT software with PX5 RTOS.[10]
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.[17]
References
[edit]- ^ "PX5 RTOS Simplifies Development of 64-bit Hard Real-Time Applications with Support for IAR Embedded Workbench for Arm". Yahoo! Finance. San Diego. 12 June 2023. Retrieved 22 August 2023.
- ^ Janakiram MSV (21 April 2019). "How Does The Express Logic Acquisition Help Microsoft And The IoT Ecosystem". Forbes. Retrieved 1 September 2023.
- ^ Wiggers, Kyle (18 April 2019). "Microsoft acquires Express Logic for its real-time internet of things operating system". VentureBeat. Retrieved 1 September 2023.
- ^ "Bill Lamie: Story of a man and his real-time operating systems". embedded.com. 3 September 2010. Retrieved 31 August 2023.
- ^ "William Lamie". Electronic Design. Retrieved 31 August 2023.
- ^ Tuip, Martin (9 June 2021). "Building IoT solutions with RTOS". Microsoft Tech Community. Retrieved 31 August 2023.
- ^ Flaherty, Nick (26 March 2023). "Nucleus RTOS hits 30, boosts safety certifications". eeNews Europe. Retrieved 31 August 2023.
- ^ Jagdale, Saumitra (27 February 2023). "PX5: a new RTOS for real-time multithread scheduling in under 1KB". Embedded.com. Retrieved 29 August 2023.
- ^ "IAR Systems Fully Supports the Brand-new Industrial-Grade PX5 RTOS". Automation.com. 26 January 2023. Retrieved 29 August 2023.
- ^ a b c Maxfield, Max (9 February 2023). "New PX5 RTOS Boasts Native Support for POSIX pthreads API". Electronic Engineering Journal. Retrieved 25 August 2023.
- ^ "Reducing safety and security risks for embedded systems". MMG Publishing. Retrieved 29 August 2023.
- ^ "PX5 Launches PX5 NET to Reduce Development Effort & Risk in TCP/IP Networking for Embedded IoT Applications". Yahoo! Finance. San Diego, USA. 7 November 2023. Retrieved 8 January 2024.
- ^ "IAR Systems implements PX5 RTOS for its IAR Embedded Workbench". IoT Now. 17 June 2023. Retrieved 29 August 2023.
- ^ a b c d "Product of the Week: PX5 RTOS with Arm TrustZone Support". Embedded Computing Design. 1 May 2023. Retrieved 27 August 2023.
- ^ Bush, Steve (26 January 2023). "IAR Systems adds support for PX5 industrial-grade RTOS". Electronics Weekly. Retrieved 29 August 2023.
- ^ a b Haywood Queen, Karen (6 May 2023). "Clarinox, PX5 Partner to Improve Embedded Device Connectivity". Electronic Engineering Times. Retrieved 27 August 2023.
- ^ Cox, Chad (27 January 2023). "Percepio's Tracealyzer 4.6 Supports PX5 RTOS". Embedded Computing Design. Västerås, Sweden. Retrieved 27 August 2023.
See also
[edit]- Nucleus RTOS
- ThreadX Microsoft Azure RTOS