FreeRTOS - Teardown and Porting

Port FreeRTOS on a new target from scratch

Note: This course is already included in the Library Access!

Learn FreeRTOS kernel by tearing it down to it’s bare minimum and doing a port for a new target from scratch. This includes booting the CPU from scratch and placing the code in memory manually. Along the way, learn the internals of how the OS is structured and how it works.


Bestseller Beginner Intermediate

(4.9) 2000+ students enrolled.

Last updated: 12 October 2025 | English | 365 days Access.


includes

~ 5 hr  of recorded video lectures.
22  lessons.
Emulator  based experiments.
No  downloadable resources.
Certificate  on completion of course.
Cheat sheets and/or quick reference guides.
Case studies based on open-source code.
Coding exercises and challenges.
End-to-end project implementations.
New content regularly added!

a message for you...

what you will master through the journey

Understand FreeRTOS and its role in embedded systems
Learn the benefits of using FreeRTOS for real-time applications
Set up development tools and Codespace for FreeRTOS
Visualize course objectives through a demo walkthrough
Master the ARM M CPU programmer’s model and essentials
Boot an ARM M CPU from scratch
Transition from assembly to C functions in FreeRTOS source
Troubleshoot function call issues in C
Locate and utilize FreeRTOS source code and documentation
Integrate the FreeRTOS kernel into a project
Fix errors in portmacro.h for platform compatibility
Configure FreeRTOSConfig.h for project needs
Enable heap for dynamic memory allocation
Set the scheduling rate for task execution
Compile the FreeRTOS kernel successfully
Run a compiled FreeRTOS binary on a target platform
Investigate task creation failures
Debug memory allocation issues using GDB
Correct boot-up code and memory initialization
Install and configure exception handlers
Diagnose and resolve hard faults
Enable and verify the FreeRTOS scheduler

course contents and preview lectures ...

What is so special about this course?

There are several courses online that dive into how to use FreeRTOS. This one take a different approach and dives into the internals of FreeRTOS and how to port it from scratch on a new micro-controller. Learning it this way will ensure that you understand the internals of this RTOS and reason better when using it.

Certificate

The journey through the course is a challenging one! Our courses are packed with insights and will take time to sink in. You will be awarded with a Certificate of Mastery when you complete 95% of the course work.

What you see above is a sample certificate. The design of this certificate will be modified from time to time to make it more shiny and reflect the rightly earned pride!

There will always be a dedicated certificate identification number to verify it with us. This should enable anyone to check the authenticity of the certificate.

How this is different from Others

FeatureUs!Others
Explain the CPU and the boot process.
Explain the minimum files to enable the FreeRTOS scheduler.
Explain the porting process.
Explain the configuration options.
Dive into the details of the implementation of the tasks.
Explain how to start the scheduler.
Explain the details of how to enable the OS for a new target without copy pasting other examples.
Develop without IDE and automated tools. Enable the port by hand from scratch.

Instructors

Mahmad Bharmal
Embedded Engineer (L4), Google
Electrical Engineer holding a Master’s degree in Embedded Systems, with a proven track record at industry giants. At Intel, contributed expertise to Navigation Firmware, Bluetooth Driver development, and RF validation software. Currently thriving as an Embedded Software Engineer at Google, drove innovation in Firmware development for the Power Management Sub-system on Tensor SoCs (Pixel Phones) and presently advancing system software for the Pixel Watch.
Piyush Itankar
Embedded Engineer (L5), Google
Electrical Engineer holding a Master’s degree in Embedded Systems, with a proven track record at industry giants. At Intel, contributed expertise to Navigation Firmware, Bluetooth Driver development, and RF validation software. Currently thriving as an Embedded Software Engineer at Google, drove innovation in Firmware development for the Power Management Sub-system on Tensor SoCs (Pixel Phones) and presently advancing system software for the Pixel Watch.

Requirements

GitHub account to do the hands-on coding in Codespaces.
Interest in learning the underlying details of how the CPU works.
Functional internet connection.

Who this course is for

Students in Academia with operating systems as a subject in the course.
Those wanting to learn assembly programming.
Those interested in the ARM Cortex-M CPU working.
Those looking to understand how a scheduler works.

FAQs