/mos-core

Preemptive RTOS kernel on Cortex-M 🌀

Primary LanguageC++Apache License 2.0Apache-2.0

Introduction πŸ¦‰

 A_A       _    MOS Real-Time Operating System
o'' )_____//    Simple RTOS on Cortex-M
 `_/  MOS  )    Developed using C/C++
 (_(_/--(_/     [Apache License Version 2.0]

Repository πŸ“¦

Architecture πŸ€

.
β”œβ”€β”€ πŸ“ config.h         // System configuration
β”œβ”€β”€ πŸ“ arch             // Architecture-specific
β”‚   └── cpu.hpp         // Init/Context switching asm
β”‚
β”œβ”€β”€ πŸ“ kernel           // Kernel code
β”‚   β”œβ”€β”€ macro.hpp       // Constant macros
β”‚   β”œβ”€β”€ type.hpp        // Basic types
β”‚   β”œβ”€β”€ concepts.hpp    // Type constraints (optional)
β”‚   β”œβ”€β”€ data_type.hpp   // Basic data structures
β”‚   β”œβ”€β”€ alloc.hpp       // Memory management
β”‚   β”œβ”€β”€ global.hpp      // Kernel global variables
β”‚   β”œβ”€β”€ printf.h/.c     // Thread-safe printf(*)
β”‚   β”œβ”€β”€ task.hpp        // Task control
β”‚   β”œβ”€β”€ sync.hpp        // Sync primitives
β”‚   β”œβ”€β”€ scheduler.hpp   // Scheduler
β”‚   β”œβ”€β”€ ipc.hpp         // Inter-Process Communication
β”‚   └── utils.hpp       // Other utilities
β”‚
β”œβ”€β”€ kernel.hpp          // Kernel module
└── shell.hpp           // Command line