Course Overview
Build real-time embedded systems using ARM Cortex-M architecture, RTOS multitasking, and customized Linux device drivers for next-generation consumer electronics.
This program is designed to bridge the gap between academic education and industry requirements. The curriculum starts from basics and scales up to industry grade designs.
Learning Outcomes
Write hardware-level drivers in Embedded C for UART, SPI, and I2C.
Program ARM Cortex-M microcontrollers using CMSIS and registers.
Develop concurrent firmware using FreeRTOS tasks, semaphores, and queues.
Build custom Linux device drivers and cross-compile kernel modules.
Course Curriculum
Structured modules with hands-on projects. Download the PDF brochure for the full syllabus.
1.
Module 1: Embedded C & Microcontroller Peripherals
2.
Module 2: ARM Cortex Architecture & Assembly
3.
Module 3: RTOS Concepts & Multitasking (FreeRTOS)
4.
Module 4: Embedded Linux & Linux Device Drivers
Module 1
GPIO & UART Driver
Write bare-metal peripheral drivers from datasheet registers.
Module 2
I2C Sensor Interface
Read accelerometer sensor values over I2C protocol.
Module 3
FreeRTOS Scheduler
Create multiple threads and manage priority inversions.
Module 4
IoT Weather Station
Collect data and publish to cloud server using MQTT.
Major Project
Embedded Linux System
Build custom kernel images using Yocto and write driver modules.
Capstone
Device Driver Design
Write kernel driver for custom char device in Linux.
Full Module Breakdown
- Pointers, structures, bitwise manipulation
- ARM Cortex-M processor states & memory map
- Peripheral drivers (Interrupts, Timers, DMA)
- Preemptive multitasking and context switching
- Resource management (Mutexes, Semaphores)
- Task notifications and event groups
- Bootloader (U-Boot), Kernel compilation
- Root filesystem creation
- Character device drivers & kernel modules