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
Спасибо вам за загрузку операционной системы EOOS Automotive!
Я Сергей Байгудин, основатель этого проекта. Спасибо вам за загрузку моего продукта! Это действительно важно для меня. Если вас не затруднит, оставьте мне, пожалуйста, ваше имя и адрес электронной почты в форме ниже. Я горю исключительным желанием сделать мой продукт лучше, и буду вам очень благодарен, если вы найдёте время ответить на несколько моих вопросов.
EOOS Safe – предварительно сертифицированная безопасная объектно-ориентированная система для кроссплатформенной разработки программных продуктов в автомобильной индустрии, которая реализуется на языке программирования С++ и предоставляет уникальный программный интерфейс EOOS API для создания приложений как на базе встраиваемых систем, так и на базе операционных систем общего назначения.
Авторское право на EOOS зарегистрировано в Роспатент - Федеральная служба по интеллектуальной собственности Российской Федерации.
EOOS Safe является результатом эволюции операционной системы реального времени BOOS Core, первая версия которой была представлена ещё в 2015 году. На сегодняшний день EOOS Safe продолжает динамично развиваться и уже сейчас даёт возможность вести разработку безопасных и переносимых приложений под POSIX, WIN32, FreeRTOS или KasperskyOS системы на базе собственного EOOS API. EOOS Safe включает в себя собственную библиотеку шаблонных классов EOOS LIB, что значительно упрощает и ускоряет создание новых программных продуктов.
Почему EOOS Safe
EOOS Safe – проработанная модульная система для разработки безопасных портируемых приложений. EOOS предоставляет уникальный EOOS API как для собственной безопасной операционной системы реального времени (ОСРВ) EOOS RT, так и для POSIX, WIN32, FreeRTOS или KasperskyOS операционных систем. Таким образом, EOOS даёт возможность проводить полный цикл разработки программных решений для аппаратных комплексов, начиная со стадии прототипирования и заканчивая внедрением на реальную платформу:
- EOOS for POSIX или EOOS for WIN32 дают возможность провести первое прототипирование программного решения, определить базовую архитектуру и детальный дизайн будущего программного обеспечения;
- EOOS for FreeRTOS позволяет в кратчайшие сроки перенести прототип на реальную аппаратную платформу, так как FreeRTOS является самой распространенной ОСРВ, которая поддерживает широкий спектр микроконтроллеров;
- EOOS RT – это финальная стадия разработки программного обеспечения на целевой аппаратной системе в рамках функциональной безопасности, когда ПО может быть квалифицировано и сертифицировано по ГОСТ Р ИСО 26262.
- EOOS for KasperskyOS – предоставляет отдельные возможности перенести прототипированное или разработанное программное обеспечение базирующееся на EOOS API на аппаратную платформу под управление операционной системы KasperskyOS.
Таким образом, среда в которой исполняются приложения на базе EOOS API, может быть любой, а сами приложения всегда могут быть перенесены на любые аппаратные платформы на базе различных операционных систем. Основная бизнес-логика может быть разработана под Windows или Linux операционную систему, а затем отлажена и протестирована на целевой платформе под управлением EOOS RT, FreeRTOS, KasperskyOS или на POSIX совместимой сертифицированной ОС, что позволяет существенно сократить затраты на дорогостоящую аппаратуру или сертифицированные ОС для всех разработчиков.
Разработка программного обеспечения EOOS Safe ведётся на основе ГОСТ Р ИСО 26262–6. Все исходные коды программ соответствуют стандартам языков C++98 (ISO/IEC 14882:1998) и С++11 (ISO/IEC 14882:2011) и валидируются на соответствие руководствам по кодированию MISRAC++:2008 и AUTOSAR C++14 Coding Guidelines для языка программирования C++.
Архитектура EOOS Safe
EOOS Safe имеет проработанную программную архитектуру, которая чётко определяет набор программных компонент и их модулей.
Программные компоненты
Общий архитектурный дизайн и взаимодействие компонент EOOS представлена на рисунке ниже.
Декомпозированная архитектура EOOS представляет собой набор программных компонент, каждая из которых реализована в рамках собственного репозитория. Такой подход к декомпозиции архитектуры и разработки EOOS Safe позволяет полностью покрыть все требования и рекомендации ГОСТ Р ИСО 26262–6.
При сборке каждого конкретного дистрибутива системы EOOS используется строго определённый набор одних и тех же компонент из следующего списка:
- Application – пользовательское приложение, которое компилируется и линкуется в единый исполняемый бинарный файл вместе с системой EOOS;
- EOOS Library – библиотека шаблонных классов EOOS, предоставляющая широкий функционал для разработки пользовательских приложений;
- EOOS API – единый интерфейс системы EOOS, позволяющий максимально развязать взаимосвязи как между компонентами системы, так и между их программными модулями;
- EOOS System – реализация системы EOOS для каждого конкретного ядра операционной системы: собственного безопасного ядра EOOS RT, ядра FreeRTOS и операционных систем, реализующих POSIX или WIN32 API интерфейсы;
- EOOS Kernel – собственное безопасное ядро операционной системы реального времени EOOS, реализованное в рамках стандарта функциональной безопасности ГОСТ Р ИСО 26262;
- EOOS CPU – базовые драйвера каждого конкретного микроконтроллера необходимые для работы как самого ядра EOOS, так и ядра FreeRTOS на универсальном порте EOOS;
- EOOS Driver – драйвера внешних аппаратных устройств, расположенных как на самом кристалле MCU, так и вне кристалла;
- FreeRTOS – ядро операционной системы реального времени FreeRTOS, включающая в себя как универсальный порт EOOS, так и собственные порты ядра;
- KasperskyOS – операционная система для подключенных к интернету встраиваемых систем с особыми требованиями к кибербезопасности;
- POSIX – любая операционная система, реализующая POSIX интерфейс: Linux, QNX и другие;
- WIN32 – любая операционная система, реализующая WIN32 API интерфейс: Windows 11, Windows 10, Windows 7 и другие.
Программные модули
Каждый компонент системы EOOS состоит из набора модулей. Каждый модуль предоставляет свой интерфейс: приватный (private), защищённый (protected) или публичный (public). На рисунке ниже представлена взаимосвязь модулей, компонент, системы и пользовательского приложения.
Публичный интерфейс
Система EOOS собирается как статическая библиотека C++ и предоставляет публичный интерфейс модулей системы в директории public. Этот публичный интерфейс может использоваться как пользовательским приложением, так и другими модулями системы.
Защищённый интерфейс
Каждый компонент системы EOOS предоставляет защищённый интерфейс своих модулей в директории protected. Этот защищённый интерфейс используется как другими модулями системы, так и модулями компонента.
Приватный интерфейс
Каждый модуль компоненты системы EOOS предоставляет приватный интерфейс в директории private. Этот приватный интерфейс используется только другими модулями той же самой компоненты.
Загрузить EOOS Safe
Загрузить последний стабильный релиз EOOS Safe R24-07 v0.12.3
Название релиза | Архив | GitFlic | GitHub (зеркало) | Описание |
---|---|---|---|---|
Основные проекты EOOS | ||||
EOOS for POSIX | скачать | перейти | перейти | EOOS Safe для POSIX совместимых ОС |
EOOS for WIN32 | скачать | перейти | перейти | EOOS Safe для WIN32 API совместимых ОС |
EOOS for KasperskyOS | скачать | перейти | EOOS Safe для операционной системы KasperskyOS | |
EOOS for FreeRTOS | скачать | перейти | EOOS Safe для FreeRTOS Kernel V10.5.1 под STM32F103xx MCUs | |
Вспомогательные проекты EOOS | ||||
EOOS Sample Appliccation | скачать | перейти | перейти | Примеры пользовательских приложений EOOS |
EOOS Projects | скачать | перейти | перейти | Проект разработчика EOOS для POSIX и WIN32 |
Развитие EOOS Safe
EOOS Safe – это динамично развивающаяся система, функционал которой постоянно расширяется.
0 этап, декабрь 2014 – начало разработки операционной системы реального времени BOOS Core.
1 этап, март 2015 – разработана первая версия ядра операционной системы реального времени BOOS Core R1 для DSP процессоров компании Texas Instruments серии TMS320C64x на базе Java API.
2 этап, октябрь 2016 – разработана вторая версия ядра операционной системы реального времени BOOS Core R2 реализующая собственный API и портированна на три аппаратные платформы процессоров компании Texas Instruments серии DSP TMS320C64x, DSC TMS320C28x, ARMv5TEJ AM18x.
3 этап, октябрь 2017 – разработана третья версия ядра операционной системы реального времени BOOS Core R3, реализующая базовый интерфейс EOOS API и квалицированная на соответствие правилам кодирования MISRA-C++:2008.
4 этап, декабрь 2017 - операционная система реального времени BOOS Core переименована в EOOS и зарегистрировано авторское право на EOOS в Роспатент - Федеральная служба по интеллектуальной собственности Российской Федерации.
5 этап, декабрь 2021 – реализована кроссплатформенная система EOOS для POSIX совместимых операционных систем.
6 этап, март 2022 – реализована кроссплатформенная система EOOS для WIN32 API совместимых операционных систем.
7 этап, июль 2022 – система EOOS получила приставку Safe и была предварительно сертифицирована для использования в критических системах согласно ГОСТ Р ИСО 26262 функциональной безопасности дорожных транспортных средств, а также квалицированна на соответствие правилам кодирования MISRA-C++:2008 и AUTOSAR C++14 Coding Guidelines.
8 этап, октябрь 2023 – реализована кроссплатформенная система EOOS для операционной системы реального времени FreeRTOS на базе ARMv7-M Cortex-M3 STM32F103xx совместимого микроконтроллера.
9 этап, сентябрь 2024 – реализована кроссплатформенная система EOOS для операционной системы KasperskyOS.
10 этап, скоро – реализация безопасной операционной системы реального времени EOOS RT Safe для использования в критических системах согласно ГОСТ Р ИСО 26262 на базе BOOS Core R3.