The STM32 Crash course: Bare metal and CMSIS Core
- Description
- Curriculum
- FAQ
- Reviews
The biggest barrier while learning The STM32 series is the scariest boilerplate code generated by CubeMX or Standard Peripheral Library. Which often confuses new comers specially who are migrating from other 8 bit micro controller series like 8051 or Microchip PIC. If this is the barrier for you as well, then this course is a best starting point for the STM32 series.
Although this course is designed and tested on STM32F4 Discovery board, but the learning curve is equally applicable to other STM32 families as well. While designing the course, I keep focused on those peripherals and applications which any embedded developer could face struggling who have previous 8-bit world or Non-ARM series background.
Even If you are coming from some other programming background but you have little knowledge of C language programming and you are confident using the hardware boards and have previous knowledge of any level about Embedded Systems and Electronics, you are good to start this course.
The STM32 Families are very complex in nature with lot and lot of features and peripherals, I tried to cut out the complexity and focused on the day to day tasks which a normal embedded developer could face and try to teach those barriers. The main development is done on Keil UVision 5 which could be duplicated to any CMSIS supporting compiler. The reason for choosing the Keil for this course is because, Keil is very convenient for programming from the scratch or bare metal programming. The logic learned from this course could be applied to any STM32 Compiler and the code would work with other compilers as well. Also The skills of finding the desired peripherals and their registers from the reference manual and Datasheet will help you to adopt or use nay new peripheral if you ever need to extend your knowledge and experience.
You could directly use the registers in Attolic TrueStudio or STM32CUBEIDE as well. So even if you need to jump to Modern HAL Library style programming, Yet learning the register level will help you to build up your understanding of what’s going underneath and you will be able to fix things quickly if somethings goes wrong, or it will be more easy to adopt any new peripheral when required.
-
1Creating Bare minimum Project in the Keil uvision 5Video lesson
-
2Including Device Specific Header file in main.c fileVideo lesson
-
3Reading Datasheet for GPIO Configurations as an OUTPUTVideo lesson
-
4Introduction to Peripheral Clocks Specially GPIO Clock BusVideo lesson
-
5Introduction to GPIO Configuration RegistersVideo lesson
-
6GPIO MODER Register For Configuration as an Input or OutputVideo lesson
-
7Writing Code to Make GPIOD_12 as an OUTPUTVideo lesson
-
8GPIO_OTYPER Register for Output as Push Pull or Open DrainVideo lesson
-
9GPIO_ODR For Writing Logic to the Output PinVideo lesson
-
10Introduction to RCC Clock Controller and Enable GPIOD ClockVideo lesson
-
11GPIO Registers IntroductionQuiz
-
22Introduction to USART RegistersVideo lesson
-
23USART_CR1 Register for Enable USART and its TX RX flagsVideo lesson
-
24USART->BRR Register for Generating BaudrateVideo lesson
-
25USART->DR Register for Sending or Receiving CharacterVideo lesson
-
26USART->SR Register for Reading the Status of USARTVideo lesson
-
27Writing the Code for Transmitting Character over USARTVideo lesson
-
28Code for USART_TX and RX without InterruptVideo lesson
-
31STM32 ADC OverviewVideo lesson
-
32Understanding ADC Block DiagramVideo lesson
-
33ADC On/Off Control BitVideo lesson
-
34Finding the ADC Channel Number for the GPIOC_Pin_0Video lesson
-
35Finding the Clock Source for the ADC in Reference ManualVideo lesson
-
36Setting the GPIO as Analog InputVideo lesson
-
37Set the ADC Channel Number in ADC_SQR3 RegisterVideo lesson
-
38ADC Regular Sequence Control Register ADC_SQR1Video lesson
-
39Code for ADC Initialization in Single Channel Regular Conversion ModeVideo lesson
-
40Code for ADC read functionVideo lesson
-
41Complete Code for ADC Reading and Debug ProcessVideo lesson
-
42Understanding the ADCQuiz
This will help you to evaluate your understanding knowledge of ADC Registers

External Links May Contain Affiliate Links read more