Bare Metal RTOS
Details
This project is a lightweight Real-Time Operating System (RTOS) developed from scratch for the TM4C123GH6PM microcontroller.
It supports cooperative multitasking, allowing multiple threads to run concurrently by explicitly yielding control to one another.
The system was designed and implemented entirely at the bare-metal level, with direct control over hardware resources and no reliance
on external frameworks or prebuilt libraries.
The RTOS manages thread creation, context switching, and scheduling through manual stack management and ARM Cortex-M exception handling.
A system timer provides basic timing functionality, enabling features like sleep and delay.
Key features include:
- Cooperative scheduling between multiple user-defined threads
- Manual stack initialization and context preservation
- Round-robin or static-priority thread selection
- Configurable MPU regions for isolating thread stack and code access
- Custom fault handling
Project information
- Project date December 2023
- Project URL github