|
1 | | -# EoS RTOS Kernel |
| 1 | +# EoS — Embedded OS Framework |
| 2 | + |
| 3 | +[](https://github.com/embeddedos-org/eos/actions/workflows/ci.yml) |
| 4 | +[](https://github.com/embeddedos-org/eos/actions/workflows/codeql.yml) |
| 5 | +[](https://github.com/embeddedos-org/eos/actions/workflows/scorecard.yml) |
| 6 | +[](https://github.com/embeddedos-org/eos/actions/workflows/release.yml) |
| 7 | +[](LICENSE) |
| 8 | + |
| 9 | +EoS is a multi-platform embedded OS framework written in pure C11. A single |
| 10 | +source tree provides a lightweight RTOS kernel, a hardware abstraction layer |
| 11 | +(HAL) with host (Linux) and bare-metal backends, a driver framework, and |
| 12 | +networking, power-management, and runtime-service layers. It targets Linux hosts |
| 13 | +and bare-metal MCUs through a HAL split, and carries descriptors for 83 boards |
| 14 | +and 40+ product profiles selected at configure time. |
| 15 | + |
| 16 | +EoS is the OS core of the **EmbeddedOS** ([embeddedos-org](https://github.com/embeddedos-org)) |
| 17 | +ecosystem, alongside [eBoot](https://github.com/embeddedos-org/eBoot) (secure |
| 18 | +bootloader), [eAI](https://github.com/embeddedos-org/eAI) (on-device AI), and |
| 19 | +[eNI](https://github.com/embeddedos-org/eNI) (neural interface). Project version |
| 20 | +0.5.0. |
| 21 | + |
| 22 | +## What's inside |
| 23 | + |
| 24 | +| Path | Contents | |
| 25 | +|------|----------| |
| 26 | +| `kernel/` | Tasks, sync primitives, IPC, multicore — builds `eos_kernel` | |
| 27 | +| `hal/` | Hardware abstraction layer; platform split (`hal_linux.c` / `hal_rtos.c`) — builds `eos_hal` | |
| 28 | +| `drivers/` | Driver framework and the `devicetree/` parser — builds `eos_drivers` | |
| 29 | +| `net/` | Networking abstraction — builds `eos_net` | |
| 30 | +| `power/` | Power-management abstraction — builds `eos_power` | |
| 31 | +| `core/` | OS config, logging, layer plumbing | |
| 32 | +| `services/` | Runtime services: `crypto`, `security`, `os`, `linux`, `linux_ipc`, `gps`, `motor`, `ota`, `filesystem`, `sensor`, `ui`, `init`, and more | |
| 33 | +| `systems/` | Rootfs, image, and firmware assembly | |
| 34 | +| `boards/` | 83 board descriptor files (`boards/*.yaml`) plus linker scripts | |
| 35 | +| `products/` | ~40 product-profile headers selected by `EOS_PRODUCT` | |
| 36 | +| `layers/` | `ai`, `bsp`, `core`, `distro`, `product`, `rtos` layer definitions | |
| 37 | +| `toolchains/`, `cmake/` | Cross-compile toolchain and helper CMake files | |
| 38 | +| `backends/`, `sim/`, `pkg/`, `debug/` | Backend abstraction, simulation, packaging, and debug (GDB stub, core dump) | |
| 39 | +| `examples/` | 13 example apps (`blink-gpio`, `ble-sensor`, `multitask-rtos`, `secure-ota`, …) | |
| 40 | +| `tests/` | C unit tests plus `functional/`, `fuzz/`, `performance/`, `simulation/` | |
| 41 | + |
| 42 | +## Build |
| 43 | + |
| 44 | +Requires CMake ≥ 3.16 and a C11 compiler (GCC/Clang; MSVC on Windows). C only — |
| 45 | +the project declares `LANGUAGES C`. |
2 | 46 |
|
3 | | -[](https://github.com/embeddedos-org/eos) |
4 | | -[](https://github.com/embeddedos-org/eos/actions) |
5 | | -[](https://github.com/embeddedos-org/eos) |
6 | | -[](https://github.com/embeddedos-org/eos) |
7 | | - |
8 | | -World's Most Capable Embedded RTOS. Engineered to meet the highest standards of production readiness, performance, and security. |
9 | | - |
10 | | ---- |
11 | | - |
12 | | -## 🚀 World-Class Simulation & Analytics |
13 | | - |
14 | | -### Real-Time Emulation Dashboard |
15 | | -Below is the real-time simulation dashboard generated from our production test suite. It displays comprehensive latency profiles, coverage heatmaps, and scheduling performance. |
16 | | - |
17 | | - |
18 | | - |
19 | | -### Unified Organization Health Matrix |
20 | | -We continuously benchmark EoS RTOS Kernel against the entire EmbeddedOS ecosystem to ensure flawless interoperability. |
21 | | - |
22 | | - |
23 | | - |
24 | | ---- |
25 | | - |
26 | | -## 🎬 Product Marketing Video (App Store Proof of Production) |
27 | | - |
28 | | -Experience EoS RTOS Kernel in action! Watch our high-fidelity product demonstration and marketing video: |
29 | | - |
30 | | -> 🎥 **[Watch the EoS RTOS Kernel Product Video](docs/videos/eos_marketing.mp4)** |
31 | | -
|
32 | | ---- |
33 | | - |
34 | | -## 🛠️ Production-Grade Architecture |
| 47 | +```bash |
| 48 | +cmake -B build/host -DCMAKE_BUILD_TYPE=Release |
| 49 | +cmake --build build/host --parallel |
| 50 | +``` |
35 | 51 |
|
36 | | -- **Domain**: C • ARM • RISC-V • x86 |
37 | | -- **GPS Integration**: Production-grade geolocation and time synchronization APIs integrated. |
38 | | -- **Benchmarks**: Outperforms leading industry standards including **Zephyr RTOS, FreeRTOS, Linux**. |
| 52 | +### Build options |
39 | 53 |
|
40 | | ---- |
| 54 | +| Option | Default | Meaning | |
| 55 | +|--------|---------|---------| |
| 56 | +| `EOS_BUILD_TESTS` | `OFF` | Enable `ctest` and build `tests/` | |
| 57 | +| `EOS_PLATFORM` | `linux` | Target platform: `linux` \| `rtos` (selects the HAL backend) | |
| 58 | +| `EOS_PRODUCT` | *(empty)* | One of ~40 product profiles; empty = full build | |
41 | 59 |
|
42 | | -## 🧪 Comprehensive Test Suite |
| 60 | +`EOS_PLATFORM` resolves to the host HAL when set to `linux` or when not |
| 61 | +cross-compiling. |
43 | 62 |
|
44 | | -This repository features **100% test coverage** across four critical categories: |
45 | | -1. **Unit Tests**: Full functional coverage of core components. |
46 | | -2. **Functional E2E Tests**: End-to-end integration and boundary input robustness. |
47 | | -3. **Performance Benchmarks**: Nanosecond-precision latency profiling. |
48 | | -4. **Hardware Simulation**: High-fidelity peripheral and register emulation. |
| 63 | +## Test |
49 | 64 |
|
50 | | -To run the entire suite locally: |
51 | 65 | ```bash |
| 66 | +# C unit tests |
| 67 | +cmake -B build/host -DEOS_BUILD_TESTS=ON |
| 68 | +cmake --build build/host --parallel |
| 69 | +ctest --test-dir build/host --output-on-failure |
| 70 | + |
| 71 | +# Python suites (unit/functional/performance/simulation, via pytest) |
52 | 72 | python run_all_tests.py |
53 | 73 | ``` |
54 | 74 |
|
55 | | ---- |
| 75 | +## Getting started |
| 76 | + |
| 77 | +- [`GETTING_STARTED.md`](GETTING_STARTED.md) — from host build to flashing an nRF52 or STM32 |
| 78 | +- [`examples/`](examples/) — runnable example applications |
| 79 | +- [`AGENTS.md`](AGENTS.md) — repo orientation map (targets, options, file map, gotchas) |
| 80 | +- [`DEPLOYMENT.md`](DEPLOYMENT.md) — deployment notes |
| 81 | +- [`docs/`](docs/) — full documentation set (`mkdocs.yml`); API docs via `Doxyfile` |
56 | 82 |
|
57 | | -## 📜 License & Compliance |
| 83 | +## License |
58 | 84 |
|
59 | | -Licensed under the MIT License. Aligned with ISO/IEC 25000 software quality standards. |
| 85 | +Licensed under the [MIT License](LICENSE). |
0 commit comments