SafeRTOS
This article, SafeRTOS, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |
Developer | WITTENSTEIN high integrity systems |
---|---|
OS family | Real-time operating systems |
Working state | Current |
Source model | Open source |
Marketing target | Embedded devices |
Platforms | Same as FreeRTOS |
Kernel type | Microkernel |
License | Proprietary |
Official website | http://www.highintegritysystems.com/rtos/safertos/ |
SAFERTOS is an embedded real-time operating system designed to support 32-bit microcontrollers; developed in accordance with the requirements of IEC61508-3 SIL3 and independently certified by TÜV SÜD. [1]
Implementation
SAFERTOS is a extension to the FreeRTOS project, sharing common functionality but re-designed for use in safety critical applications.[2]
The development of SAFERTOS involved subjecting the FreeRTOS functional model to a full HAZOPS, where weaknesses within the functional model and API were identified and resolved, resulting in a set of Safety Requirements. The Functional and Safety requirements sets that define SAFERTOS were then put through a full IEC 61508 SIL 3 development life cycle, the highest possible for a software only component.[3]
SAFERTOS has a compact footprint, similar to that of FreeRTOS, however as SAFERTOS is designed to be safe it therefore sacrifices size to add in error checking. SAFERTOS typically requires 8-15K of ROM, 500 bytes of RAM and an additional 400 bytes of RAM per task.
Design Assurance Pack
SAFERTOS is accompanied by a Design Assurance Pack (DAP) which contains every design artefact produced during the full development life cycle, The Design Assurance Pack supports the product certification process.
Key features
Safety Features
- IEC 61508-3 SIL3 certified.
- Supports domain adaptations of IEC 61508-3.
- IEC 62304 Class C compliant.[4]
- Full Design Assurance Pack
Technical Features
- Any number of tasks can be created - system RAM constraints are the limiting factor.
- Each task is assigned a priority - any number of priorities can be used.
- Any number of tasks can share the same priority - allowing for maximum application design flexibility.
- The highest priority task that is able to execute (i.e. that is not blocked or suspended) will be the task selected by the scheduler to execute.
- Supports time sliced round robin scheduling for tasks of equal priority.
- Queues can be used to send data between tasks, and to send data between tasks and interrupt service routines.
- Binary semaphores and counting semaphores make use of the queue primitive – ensuring code size is kept to a minimum.
- Tasks can block for a fixed period.
- Tasks can block to wait for a specified time.
- Tasks can block with a specified timeout period to wait for events.
- FPU support.
- Definition and manipulation of MPU regions on a per task basis.
- Run time statistics.
Supported architectures
- Altera Nios II
- ARM architecture
- Atmel
- SAM7
- SAM9
- Freescale
- Kinetis
- PIC microcontroller
- PIC24
- PIC32
- Renesas
- RX600
- RX200
- STMicroelectronics
- Texas Instruments
- Stellaris
- Hercules
- Concerto
- NXP
- LPC2000
- LPC1000
- LPC4300
- Infineon
- TriCore
- XMC4000
- Microsemi
See also
References
External links
Category:Real-time operating systems
Category:Embedded operating systems
Category:Microkernel-based operating systems
This article, SafeRTOS, has recently been created via the Articles for creation process. Please check to see if the reviewer has accidentally left this template after accepting the draft and take appropriate action as necessary.
Reviewer tools: Inform author |