Introduction to Embedded Systems (5 hours)
What are embedded systems?
Applications of embedded systems
Differences between general computing systems and embedded systems
Basics of Electronics (10 hours)
Digital Electronics: Gates, Flip-Flops, Clocks
Analog Electronics: Basics of OP-Amps, ADCs, and DACs
Interfacing Techniques
Microcontrollers and Microprocessors (20 hours)
Understanding architecture: Harvard vs. Von Neumann
Introduction to popular families (AVR, ARM, PIC, etc.)
Basic interfacing: GPIO, Interrupts
Programming Fundamentals (15 hours)
C Programming for embedded systems
Data structures relevant for embedded systems
Basic algorithms in embedded context
RTOS (Real-Time Operating Systems) (20 hours)
Basics of RTOS
Task management, Scheduling, IPC (Inter Process Communication)
Hands-on with a popular RTOS (like FreeRTOS, VxWorks, etc.)
Embedded C and Advanced Programming (20 hours)
Embedded C conventions and practices
Memory management in embedded systems
Interrupt handling and service routines
Multithreading and multitasking
C++ (40 hours)
Introduction to object oriented programming
Procedural Approach in C++
Object oriented approach in C++
Constructors and Destructors
Copy Constructors
Friends and operator overloading
Generic Programming
Generalization
Run Time Polymorphism
Exception Handling
Multithreading
Device Drivers and Middleware (20 hours)
Understanding Device Drivers
Writing basic device drivers for peripherals (UART, SPI, I2C, etc.)
Introduction to middleware
Embedded Software Design Patterns (10 hours)
Importance of design patterns
Common embedded software design patterns
Version Control and Software Life Cycle (10 hours)
Basics of Git
Software life cycle in embedded systems
Agile for embedded software development
Protocols and Communication (15 hours)
UART, SPI, I2C basics
Introduction to wireless protocols: Bluetooth, Zigbee, WiFi
Testing and Debugging (15 hours)
Software debugging techniques: static analysis, dynamic analysis
Hardware debugging tools: Oscilloscopes, Logic Analyzers
Unit testing in embedded systems
Safety and Security in Embedded Systems (15 hours)
Safety-critical systems (Medical, Automotive, etc.)
Basics of encryption and security in embedded
Secure coding practices
Advanced Topics (10 hours)
FPGA basics
DSP in embedded systems
IoT in embedded systems
Project Work and Practical Application (20 hours)
Soft Skills and Interview Preparation (5 hours)
Resume building
Mock interviews
Soft skills for corporate communication