ARM Cortex M4 Driver Development

Course Content

Introduction

 Downloading the required documentation

Getting Started

 Downloading CubeIDE

 Setting Up STM32CubeIDE

General Purpose Input/Output Driver Development

 Overview of ARM Cortex-M General Purpose Input/Output Module

 Coding: Bare-metal GPIO Driver

 Coding: Getting familiar with the Setup and HAL

 Coding: Developing a GPIO Driver using information from the documentation

Universal Asynchronous-Synchronous Receiver-Transmitter (USART)

 Overview of the UART Protocol

 Coding: Bare-metal UART Driver

 Coding: Developing a UART Driver using HAL APIs

 Coding: Rewriting printf

General Purpose Timer Driver Development

 Understanding the System Tick (SysTick) Timer

 Understanding STM32 Timers

 Coding: Bare-metal Timer Driver

 Coding: Developing a Hardware Timer Driver using industry-standard HAL APIs

Analog-to-Digital Converters Driver Development

 Overview of the ADC

 Understanding ADC Independents Modes

 Coding: Bare-metal ADC Driver

 Coding: ADC Continuous Conversion Driver using industry-standard HAL APIs 

 Coding: ADC Single Conversion Driver using industry-standard HAL APIs

Interrupt Programming

 Understanding Interrupts

 Coding: EXTI Input Interrupt Driver

 Coding: Using Multiple EXTI Input Interrupts

 Coding: ADC Interrupt Driver

 Coding: UART Interrupt Driver

 Coding: Using Multiple UART Modules

Direct Memory Access (DMA) Driver Development

 Overview of the Direct Memory Access (DMA) Module

 Coding: ADC DMA Driver

 Coding: ADC Multi-Channel DMA Driver

 Coding: UART DMA Driver

 Coding: DMA Memory to Memory Transfer

Serial Peripheral Interface (SPI) Driver Development

 Understanding the SPI Protocol

 Coding: SPI Polling Driver

 Coding: SPI Interrupt Driver

 Coding: SPI DMA Driver

Inter-Integrated Circuit (I2C) Driver Development

 Understanding the I2C Protocol

 Coding: Writing an I2C Driver to read data from the MPU6050

Real-Time Clock (RTC) Programming

 Understanding Real-Time Clocks

 Coding: Developing the Real Time Clock Driver

Know your Instructor

Meet Rahul, our esteemed instructor with over 18 years of expertise spanning diverse industries. His extensive 
background includes stints in consumer electronics, process automation, automotive, medical devices, storage products,
 and more. Rahul’s wealth of experience from renowned organizations like Hyundai, Emerson, Seagate, Philips, and
 Belden enriches his teachings, offering invaluable real-world insights and practical wisdom in IoT and Embedded Systems training.
The course starts now and never ends! It is a completely self-paced online course – you decide when you start and when you finish.
Complete Source Code Included

Live Sessions (Hindi/English)

Duration: 1 Month: 1 Hour Everyday

Next Batch 15th Feb – 15th March

9:00 PM to 10:00PM