An AUTOSAR compliant multicore OS for TriCore
The automotive industry relies heavily on Realtime operating systems (RTOS) to handle safety-critical applications that require precise timing and responsiveness. The adoption of RTOS has led to increased software quality, reduced development costs, and shorter time-to-market for new products.
Realtime Operating Systems and the Automotive Industry:
OSEK and AUTOSAR Standards:
Our project, which is the design of an AUTOSAR-compliant RTOS for next-generation eMobility, ADAS, automotive E/E architectures, and affordable AI applications, is essential for the automotive industry. By providing an RTOS that complies with the industry-standard AUTOSAR methodology, we ensure that our software is reliable, maintainable, and compatible with other AUTOSAR-compliant software. Additionally, our RTOS supports next-generation hardware accelerators, which are necessary for the efficient and effective functioning of these systems.
The project aims to support new hardware accelerators, such as the PPU (Parallel Processing Unit) and cDSP (Programmable digital signal processing for the ADC signals).
For macOS installtion please follow this guide
For Windows installtion please follow this guide
For Linux installtion please follow this guide
For macOS installtion please follow this guide
For Windows installtion please follow this guide
For Linux installtion please follow this guide
First run make file:
make
Then run executable:
./myprogram
├── CONTRIBUTING.md
├── Doxyfile
├── LICENSE
├── Makefile
├── README.md
├── docsu
├── include
│ ├── EventMechanism.h
│ ├── InterruptHandler.h
│ ├── OSExecutionControl.h
│ ├── ResourceManager.h
│ ├── StatusDefintions.h
│ ├── TaskManager.h
│ ├── data_structure
│ ├── data_structure
│ │ ├── PriorityQueue.h
│ │ └── stack.h
│ └── includes.h
├── license_config
│ ├── LICENSE_HEADER.txt
│ └── config.json
├── myprogram
├── obj
│ ├── EventMechanism.o
│ ├── InterruptHandler.o
│ ├── OSExecutionControl.o
│ ├── PriorityQueue.o
│ ├── ResourceManger.o
│ ├── TaskManager.o
│ ├── main.o
│ ├── stack.o
│ ├── testCommon.o
│ ├── testEM.o
│ ├── testOSEC.o
│ ├── testRM.o
│ └── testTM.o
├── src
│ ├── EventMechanism.c
│ ├── InterruptHandler.c
│ ├── OSExecutionControl.c
│ ├── PriorityQueue.c
│ ├── ResourceManger.c
│ ├── TaskManager.c
│ ├── main.c
│ └── stack.c
├── suppressions.txt
└── tests
├── testCommon.c
├── testEM.c
├── testOSEC.c
├── testRM.c
├── testTM.c
└── tests.hYou must first install all the needed dependencies and your code must pass all of github actions CIs.
To learn more about contributing to this project please check the Contribution Guidelines.
If you encounter any issues or bugs, please report them on our GitHub issue tracker.
Ahmed Hesham
Ali El Liethy
Andrew Sinout
Mohamed Nasr
Omar Mohey
Yousef Kandil
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.