Home | Notes | Projects > MCU Peripheral Drivers
Source code: https://github.com/kyungjae-lee/mcu-peripheral-drivers.
Developed MCU peripheral drivers (GPIO, SPI, I2C, USART) from scratch on the STM32F407G-Discovery board, along with comprehensive test applications to ensure their reliability and applicability for real‐world projects
Used STM32CubeIDE for software development, a logic analyzer for testing, and the on‐board ST‐LINK/V2 debug circuitry for debugging
Please see the LCD Digital Clock project to observe how these drivers are utilized in a real-world embedded systems project
Operating system: Ubuntu 22.04 LTS
Integrated Development Environment (IDE): STM32 CubeIDE Version 1.10.1
Application layer consists of test applications designed to verify the proper functionality of the GPIO, SPI, I2C, and USART peripheral drivers for the STM32F407xx MCU.
Hardware abstraction layer includes the device-specific header file for STM32F407xx MCU, along with the GPIO, SPI, I2C, and USART peripheral drivers. This layer provides the application layer with a range of APIs to control the respective MCU peripherals.
The following example is taken from one of the I2C peripheral driver tests. For additional tests on various other MCU peripheral drivers, please visit the MCU Peripheral Drivers section on my notebook.