Advanced Embedded Systems Bare-Metal Programming Ground Up™
No libraries : RTC, IWDG, WWDG, DMA-ADC, DMA-I2C, DMA-SPI, DMA-UART, DMA-PWM, Standby, Wakeup
Created by BHM Engineering Academy, Israel Gbati | 21 hours on-demand video course
This course completely demystifies the Direct Memory Access (DMA) peripheral. Over 50% of the course is spent on this topic, so that by the end of this course you would have mastered the DMA peripheral. The Realtime Clock (RTC) peripheral is another advanced peripheral demystified in this course. We shall study the theory of realtime clocks, take a look at the capabilies of the realtime clock on our microcontroller and then develop the following drivers for the realtime clock.
With a programming based approach, this course is designed to give you a solid foundation in bare-metal firmware development for ARM-based microcontrollers . The goal of this course is to teach you how to navigate the microcontroller reference manual and datasheet to extract the right information to professionally build peripheral drivers and firmware. To achieve this goal, no libraries are used in this course, purely bare-metal embedded-c and register manipulations.
Still keeping it simple, this course comes in different ARM Cortex-M development boards so that students can put the techniques to practice using an ARM Cortex-M development board of their choice. This version of the course uses the STMicroelectronics STM32F4-NUCLEO which has an ARM Cortex-M4 microcontoller. This is the Advanced level course for the world famous Embedded Systems Bare-Metal Programming Ground Up™ (STM32). You have to take the Embedded Systems Bare-Metal Programming Ground Up™ (STM32) before taking this course
What you’ll learn
- Write advanced firmware using only bare-metal embedded-c
- Write bare-metal drivers for DMA Memory-to-Memory transfer
- Write DMA ADC drivers using bare-metal embedded-c
- Write DMA PWM drivers using bare-metal embedded-c
- Write DMA UART drivers using bare-metal embedded-c
- Write DMA SPI drivers using bare-metal embedded-c
- Write DMA I2C drivers using bare-metal embedded-c
- Develop proficiency in your embedded development skills and confidently take the next steps
- Write Realtime Clock (RTC) drivers using bare-metal embedded-c
- Write Watchdog Timer (IWDG and WWDG) drivers using bare-metal embedded-c
- Write bare-metal embedded-c drivers for entering Standby mode and Waking up
- Use the debugger effectively to analyze and resolve any bugs
- Understand and write every single line of code yourself- no Copy/Paste
- Build every single line of code from scratch by writing to the microcontroller’s memory space directly.
- Analyze the chip documentation