This course teaches you how build embedded systems firmware and peripheral drivers using the STM32CubeMX 5 framework and the STMCubeIDE development environment. This course has many sections but primarily the course can be divided into three parts.
The first part deals with peripheral driver development. In this part we master how to use the STM32CubeMX framework to setup the clocks and register parameters of our peripheral drivers and then go on to the CubeIDE development environment to complete the development and testing of peripheral drivers. We shall master different setup configurations of our peripheral drivers in this part. These peripherals include the Universal Serial Bus (USB), the PWM, the SPI, the ADC, UART and the DMA.
The second part of this master course deals with developing embedded firmware applications using some of the Middleware provided by the STM32CubeMX framework. One of such Middleware we shall master is the FreeRTOS Realtime Kernel. We shall see how to use STM32CubeMX to create tasks and semaphores and other kernel components for realtime firmware development. We shall also see how to develop these kernel components from scratch using our CubeIDE development environment alone.
The third part of the course deals with working the CubeIDE as a standalone development environment. Over here we shall see how to develop bare-metal embedded-c firmware and drivers without using any libraries. We shall literally download the microcontroller chip's datasheet and develop our firmware and drivers using information from the datasheet only. We shall then go on to use this same datasheet information to develop firmware and peripheral drivers using ARM Assembly Language.