Add full automotive RTOS project
Add kernel (Cortex-M0/M3/M4, Tricore, S32K, RISC-V ports), drivers, middleware (CAN stack, diagnostics, safety), applications, board support, build/test tooling, and documentation.
This commit is contained in:
@@ -1,2 +1,74 @@
|
||||
# RTOS
|
||||
This complete kernel implementation provides:
|
||||
|
||||
Task Management: Create, delete, suspend, resume tasks
|
||||
|
||||
Priority-based Preemptive Scheduler: Deterministic scheduling
|
||||
|
||||
Synchronization Primitives: Semaphores, mutexes with priority inheritance
|
||||
|
||||
Inter-task Communication: Message queues
|
||||
|
||||
Timer Management: Software timers
|
||||
|
||||
Interrupt Handling: ISR management with nesting support
|
||||
|
||||
Fault Handling: Comprehensive fault detection and handling
|
||||
|
||||
Architecture Support: ARM Cortex-M4 specific implementation
|
||||
|
||||
The kernel is designed for automotive applications with:
|
||||
|
||||
Deterministic behavior
|
||||
|
||||
Priority inheritance for mutexes
|
||||
|
||||
Stack overflow detection
|
||||
|
||||
Deadline monitoring
|
||||
|
||||
Critical section management
|
||||
|
||||
Fault tolerance
|
||||
|
||||
|
||||
|
||||
These architecture-specific files provide:
|
||||
|
||||
ARM Cortex-M0: For low-power, simple automotive applications
|
||||
|
||||
ARM Cortex-M3: Widely used in automotive ECUs
|
||||
|
||||
ARM Cortex-M4: With FPU support for advanced control algorithms
|
||||
|
||||
RISC-V RV32: Emerging architecture for future automotive systems
|
||||
|
||||
Each implementation includes:
|
||||
|
||||
Task stack initialization
|
||||
|
||||
Context switching (assembly)
|
||||
|
||||
Interrupt handling
|
||||
|
||||
Fault management
|
||||
|
||||
Critical sections
|
||||
|
||||
FPU support (where applicable)
|
||||
|
||||
Memory barriers
|
||||
|
||||
System tick configuration
|
||||
|
||||
The code is production-ready with proper:
|
||||
|
||||
Stack alignment
|
||||
|
||||
Exception priority configuration
|
||||
|
||||
FPU context saving/restoring
|
||||
|
||||
Fault detection and reporting
|
||||
|
||||
Memory synchronization
|
||||
|
||||
Reference in New Issue
Block a user