Home | Notes | Projects > Bare‑Metal RTOS

Bare‑Metal RTOS

Source code: https://github.com/kyungjae-lee/bare-metal-rtos.

 

Introduction

Developed a real‐time operating system on the bare‐metal STM32F407‐Discovery board without using libraries

This project is designed to be completed in the following 3 steps:

  1. Implement an RTOS using a full-fledged IDE (STM32 Cube IDE).

  2. Compile and debug the program implemented in Step 1 without using an IDE.

  3. Implement an RTOS from scratch without an IDE (i.e., Bare-metal development).

 

Objective

 

Demonstration

Following is the demonstration of the test application for the 'Bare-Metal RTOS' project in action.

 

Development Environment

 

Important Concepts

Scheduling

Context (Status) of a Task

 

state-of-a-user-task

 

Context Switching

 

task-switching-out

 

 

task-switching-in