ARM BareMetal Scheduler(RTOS functionality)and device driver
$34.99
Shop on Udemy

Description

Have you ever wondered how a few snippets of characters make a silicon chunk to blink an LED? This course will explain the ARM M4 microcontroller start-up process and will walk though Assembly and C code to bring up the microcontroller. We will code some simple drivers to blink an LED and proceed to create a simple terminal user interface (TUI) using UART. We will also build a simple task scheduler so that multiple tasks can run in a round-robin way. This is a self contained beginner friendly approach to introduce concepts by writing simple and complete functional code that works on a Nucleo Board. This course performs hands on coding to build, flash and debug a simple functional real time baremetal code to run on STM32F446RE Nucleo Board. A prior knowledge of C is preferable. We will learn the following as we code through this course. EssentialsHow to refer essential Reference Documents - STM32F446 Datasheet, Programming Manual and Reference ManualUsage of opensource tools. A lot of documentation is available in public for these tools and can be used free of cost. Tool set-up is not covered here. Elaborates ARM Microcontroller start-up process. Code following for minimal baremetal codeLinker FileStart-up Assembly CodeMakefileC code sections and how to prepare microcontroller to C code compiled with GCC. Flashing with OpenOCD Debugging and tracing code with GDBExtending CodeExtending C code to blink LEDExtending C code to transmit and receive via UART for a terminal user interface. Context switchOverview of interrupts, interrupt vector table, Registers. Context switch basics and Task Control BlockCoding context switch and creation and and deletion of tasks. Software ConceptsAlso uses finite state machine for Tasks.

logo

Udemy