EOOS API 0.12
- eoos::api::Collection<T>
- eoos::api::Guard
- eoos::api::Heap
- eoos::api::IllegalValue<T>
- eoos::api::Iterable<T>
- eoos::api::Iterator<T>
- eoos::api::List<T>
- eoos::api::ListIterator<T>
- eoos::api::Mutex
- eoos::api::MutexManager
- eoos::api::Object
- eoos::api::OutStream<T>
- eoos::api::Queue<T>
- eoos::api::Runnable
- eoos::api::Scheduler
- eoos::api::Semaphore
- eoos::api::SemaphoreManager
- eoos::api::SequenceContainer<T>
- eoos::api::SmartPointer<T>
- eoos::api::StreamManager
- eoos::api::String<T>
- eoos::api::System
- eoos::api::Task
- eoos::api::Thread
- eoos::lib::AbstractBaseString<T,R,A>
- eoos::lib::AbstractBuffer<T,A>
- eoos::lib::AbstractList<T,A>
- eoos::lib::AbstractTask<A>
- eoos::lib::AbstractThreadTask<A>
- eoos::lib::Align<T,S,A>
- eoos::lib::Allocator
- eoos::lib::ArgumentParser<T,L,A>
- eoos::lib::BaseString<T,L,R,A>
- eoos::lib::BaseString<T,0,R,A>
- eoos::lib::Buffer<T,L,A>
- eoos::lib::Buffer<T,0,A>
- eoos::lib::CharTrait<T>
- eoos::lib::CircularList<T,A>
- eoos::lib::Fifo<T,L,A>
- eoos::lib::Guard<A>
- eoos::lib::Heap
- eoos::lib::LinkedList<T,A>
- eoos::lib::LinkedNode<T,A>
- eoos::lib::Memory
- eoos::lib::Mutex<A>
- eoos::lib::NoAllocator
- eoos::lib::NonCopyable<A>
- eoos::lib::Object<A>
- eoos::lib::ObjectAllocator<A>
- eoos::lib::Register<R>
- eoos::lib::ResourceMemory<T,N>
- eoos::lib::ResourceMemory<T,0>
- eoos::lib::Semaphore<A>
- eoos::lib::SharedPointer<T,D,A>
- eoos::lib::SmartPointerDeleter<T>
- eoos::lib::SmartPointerDeleterArray<T>
- eoos::lib::Stream
- eoos::lib::String
- eoos::lib::Thread<A>
- eoos::lib::UniquePointer<T,D,A>
EOOS Safe
Embedded Object
Operating System
Thank you for downloaded the EOOS Automotive operating system!
I'm Sergey Baigudin, founder of this project. Thank you for downloaded my product! This is really important for me. If you don't mind, please, send me your name and e-mail address in the form below. I strive composing my product incredible and will deeply appreciate you if you find a little time for answering a few my questions.
EOOS Safe is a pre-certified object-oriented safety system for cross-platform software development in the automotive industry, which is being developed in the C++ programming language and provides a unique programming interface EOOS API for developing applications based on embedded systems as well as on general-purpose operating systems.
EOOS copyrights reserved in Rospatent Federal Service for Intellectual Property, Russian Federation.
EOOS Safe is the result of the evolution of the real-time operating system BOOS Core, the first version of which was released back in 2015. Nowadays, EOOS Safe continues to be dynamically developed and already makes it possible to develop safe and portable applications for POSIX, WIN32, FreeRTOS or KasperskyOS systems based on its own EOOS API. EOOS Safe includes its own EOOS LIB template library, which significantly simplifies and speeds up new software product development.
Why EOOS Safe
EOOS Safe is a carefully designed modular system for developing safety portable applications. EOOS provides a unique EOOS API for both its own safety real-time operating system (RTOS) EOOS RT, as well as for POSIX, WIN32, FreeRTOS and KasperskyOS operating systems. Thus, EOOS makes it possible to implement a full cycle of development of software solutions for hardware systems starting from the prototyping stage and ending with implementation on a real platform:
- EOOS for POSIX or EOOS for WIN32 provide possible to do the first prototyping of a software solution, determine the basic architecture and detailed design of future software.
- EOOS for FreeRTOS allows to transfer the prototype to a real hardware platform in the shortest possible time, as FreeRTOS is the most common RTOS that supports a wide range of microcontrollers.
- EOOS RT is the final stage of software development on the target hardware system within functional safety requirements, when the software can be qualified and certified according to ISO 26262.
- EOOS for KasperskyOS provides separate opportunities to transfer prototyped or developed software based on the EOOS API to a hardware platform under KasperskyOS operating system control
Thus, by developing applications based on the EOOS API, our clients do not have to worry about their execution environment – applications can always be ported to any hardware platforms based on any operating systems. The basic business logic can be developed on any Windows or Linux operating system, and then debugged and tested on a target platform running EOOS RT, FreeRTOS, KasperskyOS, or on a POSIX compatible certified OS, which significantly reduces the cost of expensive hardware or a certified OS for all developers.
EOOS Safe software development is based on ISO 26262-6. All program source code complies with the C++98 (ISO/IEC 14882:1998) and C++11 (ISO/IEC 14882:2011) language standards and are validated for compliance with the MISRAC++:2008 coding guidelines and AUTOSAR C++14 Coding Guidelines for the C++ programming language.
Architecture of EOOS Safe
EOOS Safe has a carefully designed software architecture that clearly defines a set of software components and their units.
Software components
The common architectural design and interaction of the EOOS components is shown in the figure below.
The decomposed architecture of EOOS is a set of software components, where each component is implemented within its own repository. This approach of decomposition of the architecture and development of EOOS Safe allows to fully cover all the requirements and recommendations of ISO 26262-6.
Building each specific distribution of the EOOS system, a strictly defined set of the same components from the following list is used:
- Application is a user application that is compiled and linked into a single executable binary file together with the EOOS system.
- EOOS Library is an EOOS template class library that provides a wide range of functionality for developing user applications.
- EOOS API is a common interface of the EOOS system that allows to decompose the relationships between both system components and their software units.
- EOOS System is implementation of the EOOS system for each specific operating system: own safety EOOS RT kernel, FreeRTOS kernel and operating systems implementing POSIX or WIN32 APIs.
- EOOS Kernel is the proprietary safety kernel of the EOOS real–time operating system, implemented within the ISO 26262 functional safety standard.
- EOOS CPU is a set of basic drivers of each specific microcontroller necessary for the operation of both the EOOS kernel and FreeRTOS kernel on the own universal EOOS port.
- EOOS Driver is a set of drivers of external hardware devices located both on the MCU chip and outside the chip.
- FreeRTOS is the kernel of the real–time operating system FreeRTOS, which includes both the universal EOOS port and its own kernel ports.
- KasperskyOS operating system with Kaspersky Cyber Immunity properties for secure internet-enabled embedded systems.
- POSIX is an operating system that implements the POSIX interface: Linux, QNX, and etc.
- WIN32 is an operating system that implements the WIN32 API: Windows 11, Windows 10, Windows 7 and etc.
Software units
Each component of the EOOS system consists of a set of units – C++ classes. Each unit provides its own interface: private, protected, or public. The figure below shows the relationship between units, components, the system and a user application.
Public interface
The EOOS system is built as a C++ static library and provides a public interface for the system units in the public directory. This public interface can be used by both the user application and other units of the system.
Protected interface
Each component of the EOOS system provides a protected interface for its units in the protected directory. This protected interface is used by other units of the system as well as units of the component.
Private interface
Each module of the EOOS system components provides a private interface in the private directory. This private interface is only used by other units of the same component.
Download EOOS Safe
Download the latest release of EOOS Safe R24-07 v0.12.3
Release name | Archive | GitFlic | GitHub (mirror) | Description |
---|---|---|---|---|
Main EOOS projects | ||||
EOOS for POSIX | download | jump | jump | EOOS Safe for POSIX compatible OS |
EOOS for WIN32 | download | jump | jump | EOOS Safe for WIN32 API compatible OS |
EOOS for KasperskyOS | download | jump | EOOS Safe for KasperskyOS operating system | |
EOOS for FreeRTOS | download | jump | EOOS Safe for FreeRTOS Kernel V10.5.1 on STM32F103xx MCUs | |
Additional EOOS projects | ||||
EOOS Sample Appliccation | download | jump | jump | EOOS user sample applications |
EOOS Projects | download | jump | jump | EOOS developer's project for POSIX and WIN32 |
Roadmap of EOOS Safe
EOOS Safe is a dynamically developing system, we have been constantly extending its functionality and improving its quality for more than 10 years.
0 milestone, December 2014 – beginning of development of a real-time operating system BOOS Core.
1 milestone, март 2015 – the first version of the real-time operating system kernel BOOS Core R1 has been developed for Texas Instruments DSP TMS320C64x processors based on Java API.
2 milestone, October 2016 – the second version of the real-time operating system kernel BOOS Core R2 has been developed that implements own API and is ported on three processor platforms of Texas Instruments DSP TMS320C64x, DSC TMS320C28x, ARMv5TEJ AM18x.
3 milestone, October 2017 – the third version of the real-time operating system kernel BOOS Core R3 has been developed that implements the basic EOOS API interface and is qualified for compliance with the MISRA-C++:2008 coding guidelines.
4 milestone, December 2017 – the real-time operating system BOOS Core has been renamed to EOOS and the copyright for EOOS has been reserved in Rospatent – Federal Service for Intellectual Property, Russian Federation.
5 milestone, December 2021 – implemented a cross-platform system EOOS for POSIX compatible operating systems.
6 milestone, March 2022 – implemented a cross-platform system EOOS for WIN32 API compatible operating systems.
7 milestone, July 2022 – the EOOS system received the Safe suffix and was pre-certified for usage in critical systems according to ISO 26262 functional safety of road vehicles, as well as qualified for compliance with the MISRA-C++:2008 and AUTOSAR C++14 Coding Guidelines.
8 milestone, October 2023 – the cross-platform system EOOS for FreeRTOS real-time operating system based on the ARMv7-M Cortex-M3 STM32F103xx compatible microcontrollers has been implemented.
9 milestone, September 2024 – implemented a cross-platform system EOOS for KasperskyOS operating system.
10 milestone, soon – implementation of the safety real-time operating system EOOS RT Safe for usage in critical systems according to ISO 26262 based on BOOS Core R3.