ca13734bf0
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.
75 lines
1.4 KiB
Markdown
75 lines
1.4 KiB
Markdown
# 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
|