Arduino FreeRTOS From Ground Up™ : Build RealTime Projects

Arduino FreeRTOS From Ground Up™ : Build RealTime ProjectsRating: 4.4 out of 5(666 ratings)4,165 studentsIT & SoftwareHardwareRTOSPreview this courseArduino FreeRTOS From Ground Up™ : Build RealTime ProjectsBuild over 30 RealTime projects on ArduinoCreated byIsrael Gbati, BHM Engineering AcademyLast updated 2/2021EnglishAfrikaansArabic 17 morePreview this course

What you'll learn

  • Port FreeRTOS to any Arduino board
  • Build Multitask real-time applications with FreeRTOS on Arduino
  • Master FreeRTOS Task Management features
  • Master FreeRTOS Resource Management features
  • Master FreeRTOS Task Synchronization features
  • Master FreeRTOS Event Management features
  • Calculate the CPU Utilization of an RTOS
  • Implement and explain popular scheduling algorithms
  • Master FreeRTOS Interrupt Management features
  • Master FreeRTOS Time Management features
  • Understand Rate Monotonic Schedulers
  • Understand First Come First Served Schedulers
  • Understand Round-Robin Schedulers
  • Understand Weighted-Round-Robin Schedulers
Show moreShow less

Explore related topics

  • RTOS
  • Hardware
  • IT & Software

Course content

15 sections • 80 lectures • 8h 43m total lengthExpand all sections

Introduction5 lectures • 9min

  • IntroductionPreview1:26
  • Downloading the Arduino IDEPreview2:24
  • Installing ArduinoPreview1:44
  • Adding FreeRTOS to the Arduino IDEPreview2:06
  • Hardware Setup1:25

Getting Started2 lectures • 26min

  • Coding : Converting an existing sketch to a FreeRTOS Real-Time applicationPreview16:53
  • Coding : Debugging Real-Time applications with Profiling9:01

Introduction to FreeRTOS5 lectures • 6min

  • What is FreeRTOS1:16
  • Features of FreeRTOS1:13
  • FreeRTOS Variable Names0:36
  • FreeRTOS Function Names0:58
  • FreeRTOS Macro Names1:29

Task Management12 lectures • 2hr 10min

  • The Task Function1:09
  • Creating a Task2:56
  • Coding : Creating Tasks15:20
  • Coding : Using Task Parameters13:39
  • Coding : Experimenting with Task Priorities16:44
  • Coding : Changing Task Priority at run-time.13:37
  • Coding : Task changing it's own priority8:53
  • Coding : Getting the Task Priority17:31
  • Coding : Suspending a Task18:34
  • Coding : Task suspending itself2:37
  • Coding : Resuming a suspended Task13:26
  • Coding : Blocking Tasks with vTaskDely()5:36

Queue Management7 lectures • 1hr 3min

  • Introduction to queues2:44
  • Queue management functions5:14
  • Coding : Working with queues13:28
  • Coding : Sending from different Tasks to the same Queue (Part I)12:56
  • Coding : Sending from different Tasks to the same Queue (Part II)8:53
  • Coding : Sending structures onto queues (Part I)13:22
  • Coding : Sending structures onto queues (Part II)5:55

Queue Sets4 lectures • 23min

  • Introduction to Queue Sets1:08
  • Queue Sets management functions1:39
  • Coding : Creating Queue Sets (Part I)9:20
  • Coding : Creating Queue Sets (Part II)10:53

Software Timers4 lectures • 45min

  • Introduction to software timers4:44
  • Timer management functions5:46
  • Coding : Creating One-Shot and Auto-Reload Timers16:35
  • Coding : Interacting with multiple Timers18:12

Semaphores7 lectures • 41min

  • Introduction to Binary Semaphores4:46
  • Coding : Creating Binary Semaphores (Part I )10:22
  • Coding : Creating Binary Semaphores (Part II )8:26
  • Introduction to Counting Semaphores3:16
  • Coding : Creating a Counting Semaphore (Part I )10:45
  • Coding : Creating a Counting Semaphore (Part II )1:28
  • Some common concepts1:30

Mutual Exclusion1 lecture • 10min

  • Coding : Creating a Mutex10:00

The Gatekeeper2 lectures • 20min

  • Coding : Using Gatekeepers (Part I)10:43
  • Coding : Using Gatekeepers (Part II)9:02
5 more sections

Requirements

  • Any Arduino board
  • Basic Arduino programming skills will be a plus

Description

This course teaches you the foundations of real-time systems and how to build real-time applications using FreeRTOS on Arduino boards.  The course gives a detailed overview of the characteristics of the FreeRTOS real-time kernel,  provides a detailed tutorial on the APIs required  to implement the various features of FreeRTOS   on Arduino and then goes on to build about 30 real-time projects .

This course does not assume prior knowledge of real-time systems and application programming. By the end of this course you should be able to build your own multitask FreeRTOS  real-time applications which use all the features of a modern real-time application (features such as semaphores, mutex, event flags, hooks, queues, mailboxes etc )and then test the performance of these features .You should also be able to : Calculate the CPU Utilization of an RTOS, Understand Rate Monotonic Schedulers,port FreeRTOS  to any Arduino board,Understand Round-Robin Schedulers,Understand Weighted-Round-Robin Schedulers, Understand First Come First Served Schedulers, Implement and explain popular scheduling algorithms and so much more. Please take a look at the full course curriculum.

Who this course is for:

  • People who want to advance their Arduino programming skills
  • Arduino hobbysits
  • People who want to master real-time applications development
Show moreShow lessReport abuse

Tag » Arduino Rtos Projects