Mastering RTOS: Hands on with FreeRTOS, Arduino and STM32Fx
4.3 (212 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,673 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering RTOS: Hands on with FreeRTOS, Arduino and STM32Fx to your Wishlist.

Add to Wishlist

Mastering RTOS: Hands on with FreeRTOS, Arduino and STM32Fx

Learn Running/Porting FreeRTOS Real Time Operating System on Arduino, STM32F4x and ARM cortex M based Mircocontrollers
Best Seller
4.3 (212 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,673 students enrolled
Last updated 6/2017
English
Current price: $10 Original price: $90 Discount: 89% off
30-Day Money-Back Guarantee
Includes:
  • 12.5 hours on-demand video
  • 26 Articles
  • 24 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understanding various RTOS concepts with FreeRTOS Programming and Debugging
  • Learn Complete Step by step method to run FreeRTOS on Arduino Due using Atmel-studio-7
  • Complete Step-by-Step method to run FreeRTOS on STM based boards using Eclipse IDE
  • Complete Step-by-Step method to run FreeRTOs on STM based board using KEIL-MDK-5 software
  • FreeRTOS Task Creation , Deletion, Scheduling using with code examples
  • Important scheduling policies of FreeRTOS Scheduler
  • FreeRTOS Stack and Heap Management
  • Right ways of Synchronizing between tasks using Semaphores.
  • Right ways of Synchronizing between a task and an interrupt using semaphores
  • Synchronization between multiple events and a task
  • FreeRTOS Queue management like creation, sending, receiving, blocking, etc
  • Implementing mutual exclusion between Tasks using Mutex services and semaphores
  • Understanding Context Switching with in detail code explanation
  • Understanding Architecture specific codes like SVC_handler, PendSV_handler, SysTick Handler line by line
  • You will learn about kernel Tick timer, its importance, the kernel tick frequency and its configuration details.
  • Understanding complete ARM Cortex M and FreeRTOS Priority model and its configuration related informations
  • FreeRTOS Debugging using Percepio Tracealyzer Software
  • Lots of articles which explains line by line the ARM Cortex M related FreeRTOS architecture specific codes
  • Various Debugging Features of Atmel-Studio-7 like Instruction BKPT, Data BKPT, Mem R/W BKPT,logging, tracing ,etc
View Curriculum
Requirements
  • Basic knowledge of C and Micro controller could be added advantage but not mandatory
Description

>> The Complete FreeRTOS Course with Programming and Debugging <<

The course is designed for Beginners to Advanced audience.

Short Description: 

"The Biggest objective of this course is to demystifying RTOS practically using FreeRTOS"

STEP-by-STEP guide to port/run FreeRTOS using any of the following development setup

1) Atmel Studio 7+ Arduino Due + FreeRTOS+Tracealyzer 

2) KEIL-MDK + STM32F4xx + FreeRTOS + Tracealyzer

3) Eclipse + STM32F4xx + FreeRTOS + Tracealyzer (For Linux and MAC OS )

4) FreeRTOS+Simulator (For windows)

Demystifying the complete Architecture (ARM Cortex M) related code of FreeRTOS which will massively help you to put this kernel on any target hardware of your choice.

Read the long description for detailed explanation. 

Thank you. 

Long Description:

Development board used in this course: 

The course is strictly not bound to any 1 type of MCU. So, if you already have any Development board which runs with ARM-Cortex M3/M4 processor, then I recommend you to continue using it

1) Arduino Due (For Arduino users)

2) STM32F4xx based Nucleo-F446RE (For STM32 users) (any Nucleo or discovery boards can be used )

3) ATMEL-ICE Debugger (optional) (Used only for Arduino since it doesn’t have any on-board debugger)

Software used in this course 

1) Atmel-Studio-7 for Arduino (Windows users only, Free software)

2) KEIL-MDK-5 for STM based boards (Windows users only, Free Software )

3) Eclipse IDE (Windows/Linux/MAC users , Free software)

4) Percipio Tracealyzer software free edition 

FreeRTOS+ Simulator

Don't have any hardware? You can still try all the Source code of this course using FreeRTOS simulator for windows. 

In this course i have documented all the steps required to run freeRTOS in Simulator mode, so you can set up on your PC in no time. All you need is just PC and Eclipse software. Thats it !

FreeRTOS simulator for Posix/Linux will be included shortly.

Operating system information 

In this course, I have covered integrating freeRTOS and Tracealyzer tool on 3 different IDEs.  So, All windows, Linux as well as MAC users can able to practice whatever taught in this course without any problem. 

1) Windows users can go for Either Atmel-Studio-7, Eclipse or KEIL based development.  

2) Linux/MAC users can go for Eclipse based development

Please message me if you have any doubt to be clarified. 

FreeRTOS Debugging using Percepio Tracealyzer 

The course walks you through step by step procedure to integrate Tracelayzer library with 3 different IDEs and with 2 different boards i.e Due and STM32f4 NUCLEO. The same procedure you can leverage to any MCU you have at your hand.

Also you will be learning memory logging of FreeRTOS execution, obtaining the graphical trace of the FreeRTOS running tasks and interrupts, obtaining the CPU load graph, timings, etc. 

Please watch free preview videos to explore more about this. 

FreeRTOS Articles  

Wherever required we have added articles which you can read and understand. 

Especially all the architecture specific handlers of the freeRTOS covered using articles to make you understand the code line by line. 

Embedded Debugging and Quizzes 

debugging embedded code is really interesting and learning various debugging techniques and features are very much essential to have a good grip on embedded debugging. 

Also the course consists of various interview questions  which will test your knowledge gained !. 

Future updates 

1) Porting FreeRTOS on Arduino Uno

2) Working with FreeRTOS simulator for linux

3) Working with FreeRTOS+ TCP/IP stack

My promise !
I will personally answer your questions about this material, either privately or in a group discussion.  If you are in any way not satisfied, for any reason, you can get,  No questions asked ,a full refund from Udemy within 30 days. But I am confident you won't need to. I stand behind this course 100% and am committed to helping you . 

Tags:
Real Time Operating System,RTOS, ARM Cortex M, FreeRTOS, Arduino, STM32, STM32 Discovery, ATMEL

Who is the target audience?
  • Professionals interested in exploring Embedded systems
  • Hobbyists and students who want to start their career in Embedded world
  • RTOS Beginners and Intermediate students
  • If you think about 'embedded' then think about taking this course. you will not be disappointed
Curriculum For This Course
134 Lectures
12:44:59
+
Overview of the Course
3 Lectures 06:30


Source code and other resources
00:05
+
RTOS Introduction
6 Lectures 33:56

This lecture explains you about what exactly are RTAs , What are the myths and truths related to Real time computing and also difference between NRTAs and RTAs. 

What is Real Time Application(RTAs) ??
09:22

This lecture explains about , what are Real time Operating Systems, How exactly it is different from GPOS ?

What are the trending RTOSes in the market, etc. Gives head start in to the world of RTOS. 

What is Real Time Operating System(RTOS) ?
05:20

In this lecture we will learn the difference between RTOS and GPOS in terms of of Task Scheduling. You will come know why Task scheduling in RTOS is not like that of a GPOS. 

RTOS vs GPOS : Task Scheduling
03:33

This lecture thoroughly explains the difference between RTOS and GPOS in terms of task switching latency and interrupt latency. you will come to know how RTOS and GPOS differ when it comes to latency. 

RTOS vs GPOS : Latency
05:20

This lecture with cool animations explains what exactly is priority inversion and how does it matter in RTOS. 

once you watch this lecture, you will never forget what exactly is priority inversion !

Preview 05:45

This lecture gives a good head start to the world of multitasking. Understanding what exactly multitasking is a key in the world of operating system. 

What is Multitasking ?
04:36

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
6 questions
+
Let's Setup Atmel Studio-7 (AS7) For Arduino
8 Lectures 01:01:15

This video lecture talks about why Atmel-Studio 7 is suitable for embedded software development . Also i will explain why AS7 you must use for your Arduino development instead of Arduino's native IDE. 

Preview 06:27

You will Learn :
How to install the new version of Atmel Studio software on your PC. 

Installing AS7 Software
01:52

You will Learn :

Creating your very first Atmel Studio 7 project for your Arduino Board. 

Creating a AS7 project for Arduino
15:06

Lets get started with writing a blinky application for Arduino in Atmel Studio Framework. Let's start with small !!

Writing Blinky Application for Arduino
10:02

Ahh .. Now how do you download code to your Arduino board from Atmel Studio ?

What your Arduino IDE does ? Lets learn that and apply the same technique to Atmel Studio . 

Downloading code to Arduino from AS7 using Flash utility software
07:52

I will also show you a way to download code to Arduino board using external debugger. 

Downloading code to Arduino from AS7 using Debugger
07:22

Read this document to know who exactly you have to connect external debugger like ATMEL-ICE to your Arduino board. 

Connecting Atmel-ICE to Arduino
00:05

How about writing an application to output some strings over Arduino Due board in Atmel Studio framework ?

Lets see how we can do that in this lecture. Very exciting . 

Testing virtual com port application on Arduino
12:29

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
5 questions
+
Running your first FreeRTOS application
2 Lectures 08:09

I will show you how you can add the freeRTOS kernel source to your Atmel Studio project for Arduino . This is very simple and super fast . No hassle , very straight forward. 

Adding freeRTOS Kernel to your project
04:34

Lets Run RTOS on Arduino ! Your first RTOS application Runs in this lecture. Super fast isn't it ?

Running first freeRTOS application on Arduino
03:35
+
Atmel Studio debugging features
3 Lectures 22:39

You will Learn :

Debugging features of Atmel Studio 7 like stepping in / Stepping out /Stepping over, etc,etc. 

Also setting of instruction breakpoints, accessing processor status , etc. 

AS7 Debugging: Setp-in/over/out , breakpoints, Processor status
09:30

You will Learn :

Using Watch window feature in Atmel Studio 7. 

AS7 Debugging : Using Watch windows
04:59

One of the cool feature of AS7 is you can control the Peripherals using the I/O view window. In this lecture i will show you how you can control the LEDs using the peripheral I/O view. 

AS7 Debugging : Controlling LED'S using I/O view
08:10

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
2 questions
+
Kick Starting FreeRTOS
10 Lectures 01:14:32

You will Learn :

About the FreeRTOS Community and about freertos.org

About freertos.org ( The FreeRTOS Community )
06:26

You will Learn :

about the licensing method employed by the freertos.org. 

freertos-licensing
09:30

In this lecture lets see how exactly the freeRTOS kernel fits in , in to your project . 

FreeRTOS API Interface
04:36

This is a quite long lecture where i will explain each every directory structure of the FreeRTOS by going in to the respective folders of the FreeRTOS kernel source. 

FreeRTOS File/Directory Structure
13:03

Read out some of the cool features of the FreeRTOS kernel here. 

Important Features of FreeRTOS Kernel
00:29

In this lecture you will get a overview about the freeRTOS Scheduler. More about Scheduler will be covered later in this course. This lecture just an overview. You will Learn :

Overview of FreeRTOS Scheduler
04:51

In this lecture you will get a overview about the freeRTOS Task Management. More about Task management will be covered later in this course. This lecture just an overview. 

Overview of FreeRTOS Task Management
01:37

In this lecture you will get a overview about the freeRTOS Memory Management. More about Memory management will be covered later in this course. This lecture just an overview. 

Overview of FreeRTOS Memory Management
16:43

In this lecture you will get a overview about the freeRTOS Heap and Stack management. Also you will learn the concept of stack and heap in embedded systems with examples. 

Preview 08:21

In this lecture you will get a overview about the freeRTOS Synchronization and mutual exclusion Services. More about Synchronization and mutual exclusion Services will be covered later in this course. This lecture just an overview. 

Overview of FreeRTOS Synchronization and mutual exclusion Services
08:56

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
6 questions
+
FreeRTOS Kernel Coding Style
3 Lectures 21:04
Macros
04:41

You will learn:

The convention used to declare the variables in the FreeRTOS Kernel Source. 

Variables
09:36

You will learn:

The convention used to name a function in freeRTOS kernel source. 

Functions
06:47
+
The FreeRTOSConfig.h ( system clock, Kernel Ticking configuration )
5 Lectures 39:11

You will learn:

The Configuration file used for  FreeRTOS Kernel Source. We will discuss what are the contents of FreeRTOSConfig.h and why it is important !

Exploring FreeRTOS configuration header file
08:15

In this lecture we will learn the significance of MCU System Clock config item used in the configuration header file 

System clock frequency configuration
05:21

In this lecture you will learn what exactly is the kernel tick timer and you will also understand why exactly it is required for any operating system. 

What is Kernel timer and why it is needed ?
09:13

So, we know that there is a kernel timer which is implements the kernel ticking for the RTOS. Now in this lecture lets understand what exactly the ISR of that kernel timer does, by going in to the ISR code in the FreeRTOS . 

What exactly Kernel Tick ISR does ? (Code exploration )
09:40

In the lecture you will learn where exactly the kernel tick timer gets configured inside the freeRTOS kernel source. 

Who configures the Kernel Tick Timer ? (Code exploration )
06:42

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
10 questions
+
Debugging FreeRTOS using Tracealyzer Tool
6 Lectures 47:47

In this lecture, i will give you an intro to Percepio Tracealyzer software used for freeRTOS 

Tracealyzer for FreeRTOS
06:54

In this lecture you will learn , how exactly  you can use tracealyzer software with your FreeRTOS project and debugging. 

How Tracealyzer works ?
06:57

In this lecture lets understand the hardware and software requirements to successfully use the tracealyzer software for FreeRTOS application debugging. 

System Requirements to use Tracealyzer.
05:07

in this lecture lets begin the demo, i will show you, how you can add Tracealyzer Recorder library to your Atmel Studio project. 

Step-1: Adding Tracealyzer Recorder library to the Project
09:00

In this lecture i will thoroughly cover about initializing and starting the recorder from the code. 

Step-2 : Initializing and Starting the Recorder
09:22

In this lecture we will get our first Tracealyzer graph of the FreeRTOS application running on our target hardware. 

Step-3: Running and Getting recorder memory dump and plotting
10:27
+
FreeRTOS Task Management ( Creation, deletion , Scheduling )
9 Lectures 01:07:59

In this lecture you will understand what exactly is stack, How to implement the task Handler, etc. Also you will understand the rules to write the FreeRTOS Task handler. 

What is task ?
09:18

In this lecture you will learn about the APIs which are used to create and Schedule the task in the FreeRTOS Kernel. 

Creating and Scheduling a task
11:32

So, what exactly happens when you create a task ? Its always better to understand the behind the scene implementation of the Task in terms of memory, the data structure, etc. 

FreeRTOS behind the scene Task Creation
02:35

Lets implement our first Code exercise where we will implement 2 Tasks and then schedule them by the APIs we learnt in the previous lectures. 

Code Exercise-1 : Implementation and Testing of 2 Tasks
09:31

So, with timing diagram we will analyze the out put of the code exercise 1. This will give you an idea about what exactly is going on among the Tasks. 

Analyzing the output of Code-Exercise-1 : Timing Diagram
02:24

Lets use the Tracealyzer tool to analyze the output of the code exercise 1.

Analyzing Code-Exercise-1 using Tracealyzer
11:08

In this Code Exercise you will learn, how we can use the single task function among different task creations. Also you will understand how to pass arguments to the task function from different tasks. 

Code Exercise-2 : Single Task Function Execution by 2 Tasks
04:50

A Task can be deleted. lets see how ?. You will also learn how it affects the memory consumption. 

Deleting a Task
02:27

Lets implement a code, which demonstrates the deletion of a task. 

Code Exercise- 3 : Deletion of a Task
14:14

There are couple of questions to follow , please try to attempt each one of them. If you think some thing is outside the scope of what you have learnt so far. You can do a search and try to answer them or you can apply reductionist approach by eliminating other options by logical reasoning. Its fun try it !

Test Drive
8 questions
14 More Sections
About the Instructor
FastBit Embedded Brain Academy
4.3 Average rating
1,074 Reviews
5,689 Students
3 Courses
Works on Firmware and Embedded Engineering

We leverage the power of internet to bring online courses at your finger tip in the domain of Embedded systems and programming, Microcontrollers, Real time operating systems, Firmware development, Embedded Linux.  Thanks to Udemy !

Our online courses are appreciated, shared, reviewed by more than 5000+ customers across 100+ countries. Our primary goal is to teach Embedded systems and programming, electronics in enjoyable way with examples and using lots of animations, which help our students to excel in this field.

Backed with strong industry experience of more than 10+ years in many of the leading chip manufacturing companies , our instructors carefully crafted all these online courses to help students  access industry standard professional coaching with very low price tag, thus saving your time, effort and money !

Try our courses, and we are sure that, the courses indeed make you feel, you did a right choice.

We believe in doing REAL WORK, which solves our customers REAL PROBLEMS!!

Read Full Reviews to understand more about the courses !