Skip to main content
grasp.study
About
Explore
Pricing
Log in
Try it for free
Back to course
👋
Welcome to a Grasp lesson
Create a free account
to keep studying and create your own study path.
Embedded software, C/C++, RTOS, Automotive
·
Module 4
Bare-Metal Driver Development
1
GPIO Peripheral Configuration
Explain the architecture of a General Purpose I/O (GPIO) peripheral and configure its mode, speed, and pull-up/down resistors.
2
GPIO Digital Signal Control
Implement GPIO driver functions for initializing, reading, and writing digital signals.
3
Microcontroller Clock Tree Architecture
Explain the architecture of a microcontroller clock tree, including oscillators, PLLs, and prescalers.
4
Configuring Clocks with RCC Drivers
Implement a Reset and Clock Control (RCC) driver function to configure system and peripheral clocks.
5
General-Purpose Timer Architecture and Modes
Explain the architecture of a general-purpose timer and its common modes (e.g., periodic, input capture, PWM).
6
SysTick Driver for Periodic Interrupts
Implement a driver for the SysTick timer to generate periodic interrupts for time-basing.
7
Configurable PWM with Timer Driver
Develop a timer driver to generate a PWM signal with a configurable frequency and duty cycle.
8
Building a Robust Interrupt-Driven UART Driver
Develop an interrupt-driven UART driver using circular buffers for robust serial communication.
9
Polling-Based SPI Master Driver Development
Develop a polling-based SPI master driver and validate data transfer with a logic analyzer.
10
I2C Master Driver with State Machine
Develop an interrupt-driven I2C master driver by implementing a state machine to handle I2C protocol events.
11
Building a CAN Driver: From Bit-Timing to Message Handling
Develop a CAN driver, including bit-timing calculation, message filtering, and handling transmission and reception.
Previous module
Interrupts and Exception Handling
Next module
Real-Time Operating Systems (RTOS) Concepts