Embedded Systems Bare-Metal Programming Ground Up™ (STM32)
No Libraries used, Professional CMSIS Standard, ARM Cortex, ADC,UART,TIMERS, DMA,SPI,I2C,RTC,GPIO etc.
4.51 (3092 reviews)

19 115
students
24.5 hours
content
Oct 2023
last update
$99.99
regular price
What you will learn
Write firmware using only bare-metal embedded-c
Understand the Cortex-M Architecture
Write Analog-to-Digital Converter (ADC) drivers using bare-metal embedded-c
Write PWM drivers using bare-metal embedded-c
Write UART drivers using bare-metal embedded-c
Write TIMER drivers using bare-metal embedded-c
Write Interrupt drivers using bare-metal embedded-c
Write SPI drivers using bare-metal embedded-c
Write I2C drivers using bare-metal embedded-c
Master the ARM-Cortex CMSIS standard
Write DMA drivers using bare-metal embedded-c
Build every single line of code from scratch by writing to the microcontroller’s memory space directly.
Use No third party libraries or header files
Understand and write every single line of code yourself- no Copy/Paste
Use the debugger effectively to analyze and resolve any bugs
Develop proficiency in your embedded development skills and confidently take the next steps
Define addresses for the different peripherals
Analyze the chip documentation
Create registers from the addresses
Course Gallery




Loading charts...
Comidoc Review
Our Verdict
Embedded Systems Bare-Metal Programming Ground Up™ (STM32) offers a valuable learning experience, diving deep into the intricacies of ARM Cortex programming using CMSIS standard. The course excels at explaining clock configurations and GPIO settings; however, inconsistent coding style may cause confusion among beginners. Additionally, while sensors are adequately covered, it assumes knowledge of certain tools like oscilloscopes. It's crucial to have some background in embedded-c or undertake supplementary learning to fully grasp the course.
What We Liked
- In-depth coverage of bare-metal programming, perfect for those wanting to master ARM Cortex CMSIS standard and STM32 microcontrollers.
- Excellent tutorials on writing drivers for ADC, UART, TIMERS, DMA, SPI, I2C, RTC, GPIO using only embedded-c, enabling students to build every line of code from scratch.
- Comprehensive walkthroughs that explain how to use every register in the data sheet and understand the block diagrams of clock buses, ideal for those wanting to manipulate hardware directly.
- High-quality explanations with clear demonstrations of debugging techniques, making it easier to resolve any potential bugs in your code.
Potential Drawbacks
- Inconsistent coding style might be confusing for newcomers, as there is no consistency in variable definition, naming and usage of macros.
- Learners with limited embedded-c experience may find some parts challenging due to the assumed knowledge of complex sensors such as accelerometers and oscilloscopes.
- Absence of information regarding required hardware for certain modules might be inconvenient for those unable to solder or access specialized tools.
- Lack of detail on build system and project layout could make it challenging for beginners setting up their working environment.
Related Topics
2102512
udemy ID
23/12/2018
course created date
21/11/2019
course indexed date
Bot
course submited by