Udemy Class - Microcontroller and FreeRTOS

I took 2 Udemy courses with the title "Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)" and "Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)".

Overview

During my internship, I spent my weekend by learning 2 courses that I bought from Udemy.

 

The first course is "Embedded Systems Programming on ARM Cortex-M3/M4 Processor(ARM Cortex M4 Processor specific)".

From this course, I was able to learn:

  • Internal architecture of ARM Cortex M3/M4 processor and programming
  • Learn Mixed ‘C’ and Assembly Coding using inline assembly technique
  • Demystifying Memory, Bus interfaces, NVIC, Exception handling with lots of animation
  • Interrupts and configuration of ARM Cortex Mx based microcontroller
  • Low level register Programming for interrupts, System Exceptions, Setting Priorities,Preemption,etc.
  • Learn writing IRQ handlers , IRQ numbers, NVIC and mcu more
  • Implementation of task scheduler using PENDSV and SYSTICK feature of the processor
  • Implementation of context switching
  • Learn and write linker script and mcu startup file from scratch
  • Bare metal embedded build process
  • Processor fault exceptions and fault handler implementation and fault analysis
  • Stack and AAPCS standard
  • learn inline assembly , naked functions and gcc variable and section attribute

The second course is "Mastering RTOS: Hands-on FreeRTOS and STM32Fx with Debugging(RTOS)"

From this course, I was able to learn:

  • Understanding various RTOS concepts with FreeRTOS Programming and Debugging
  • Learn Complete Step by step method to run FreeRTOS on STM32 MCUs using OpenSTM32 System Workbench
  • Using STM32 Standard Peripheral Driver APIs to configure peripherals
  • 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 SEGGER SystemView Software
  • Lots of articles which explains line by line the ARM Cortex M related FreeRTOS architecture specific codes
  • Low power instructions use case in FreeRTOS scenario
  • Lots of coding exercises
  • Debugging with SEGGER software toolkit by taking snapshot and continuous mode recording

Course Content

Course Certificate

Course Content 1

Course Content 2

Course Certificate