Packt

Build a Real-Time OS from Scratch on ARM

Build in-demand skills with a full year of Coursera Plus, now $239. Save now.

Packt

Build a Real-Time OS from Scratch on ARM

Included with Coursera PlusLearn more

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Build a real-time operating system from scratch

  • Implement round-robin and periodic schedulers

  • Create thread control blocks for task management

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

October 2026

Assessments

15 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 14 modules in this course

This module guides learners through the essential setup steps for STM32 development, including installing CubeIDE, accessing documentation, and organizing project structures for efficient embedded system development.

What's included

6 videos1 assignment

This module covers the process of developing essential drivers for embedded systems, including GPIO, UART, and timebase components. Learners will gain hands-on experience with driver implementation, testing, and system timing configuration. The module emphasizes practical programming skills and system design strategies.

What's included

7 videos1 assignment

This module explores how blocking code and manual context switching impact system performance in real-time operating systems. Learners will gain insights into low-level CPU operations and their effects on system responsiveness and efficiency.

What's included

2 videos1 assignment

This module introduces the fundamental concepts of real-time operating systems (RTOS), focusing on their purpose, functionality, and key performance metrics. Learners will explore how RTOS ensures timely and efficient task execution, and how timing and scheduling are measured in real-time environments. The content provides a foundation for understanding the role of RTOS in embedded and time-sensitive systems.

What's included

2 videos1 assignment

This module explores different execution models in software systems, including polling, interrupt-driven multitasking, and real-time behavior. Learners will gain an understanding of how systems manage tasks and respond to events. The content provides a foundation for analyzing and designing efficient software architectures.

What's included

3 videos1 assignment

This module explores the fundamentals of stack-based memory management, including how data is organized and accessed in memory. Learners will gain insights into stack operations and their role in supporting program execution. The content provides a foundation for understanding low-level programming and system behavior.

What's included

2 videos1 assignment

This module explores the core features of Cortex-M architecture, including stack management, concurrency control, and system timer configuration. Learners will gain insights into how microcontrollers handle privileged operations and task scheduling efficiently.

What's included

4 videos1 assignment

This module explores the boot sequence of the Cortex-M architecture, focusing on system initialization, startup flow, and vector handling. Learners will gain a clear understanding of how microcontrollers begin execution and manage interrupts during the boot process.

What's included

2 videos1 assignment

This module introduces the fundamental concepts of threads, including how they are created and executed. It explores various types of threads and their behaviors, helping learners understand the basics of concurrent programming and thread management.

What's included

2 videos1 assignment

This module explores the structure and implementation of Thread Control Blocks (TCBs) used in thread management. Learners will gain an understanding of the metadata that supports thread operations and learn how to design and code TCB structures. The content provides foundational knowledge for working with multithreaded programming environments.

What's included

2 videos1 assignment

This module explores the fundamentals of task scheduling in operating systems, covering key concepts like processes, threads, and scheduling models. Learners will gain an understanding of how scheduling algorithms influence system performance and efficiency. The module also provides practical insights into implementing and optimizing common scheduling techniques.

What's included

14 videos1 assignment

This module explores the fundamental mechanics of context switching in operating systems, including how the CPU manages task transitions and preserves state information. Learners will gain an understanding of the key steps involved in switching between processes and the importance of this mechanism in system performance. The content provides a foundation for grasping how modern computing systems handle multitasking efficiently.

What's included

1 video1 assignment

This module introduces the fundamental responsibilities of an operating system's kernel, including process management, memory allocation, and system calls. Learners will gain insight into how the kernel controls and coordinates hardware and software interactions. The module provides a foundational understanding of low-level system operations.

What's included

1 video1 assignment

This module explores the implementation of a Realtime Operating System (RTOS) with a focus on thread management, kernel initialization, and context switching. Learners will gain hands-on experience in building and testing a kernel that supports multitasking and dynamic thread creation. The module covers both core system design and practical validation techniques.

What's included

8 videos2 assignments

Instructor

Packt - Course Instructors
Packt
2,544 Courses756,031 learners

Offered by

Packt

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

What brings you to Coursera today?

Frequently asked questions