This Embedded Systems Programming course introduces students to the fundamentals of programming microcontrollers using C/C++. Key topics include Embedded C/C++ basics, bit manipulation for hardware control, and managing interrupts for real-time responsiveness. The course also covers essential code optimization techniques to ensure efficient, reliable software performance on resource-constrained devices. Ideal for those looking to build a strong foundation in embedded systems development.
Overview
Syllabus
- Introduction to Embedded C/C++ Programming
- Explore embedded systems focusing on memory types, data structures importance, OOP principles, and their integration into system design.
- Bit Manipulation and Operations
- This lesson equips you with the power of bit manipulation, letting you control hardware directly by manipulating individual bits within data.
- Interrupts
- Explore Interrupts: ISR functions, types, priorities, Vector Table, nesting, enabling/disabling, with exercises on IVT configurations and handling.
- Code Optimization
- This lesson equips you with the power to optimize code for performance, memory usage, and power efficiency in embedded systems, ensuring responsive and resource-efficient applications.
- Alarm Clock
- In this project, students will design and implement a real-time embedded system, integrating sensor data processing, interrupt handling, and efficient bit manipulation.
Taught by
Ahmed Yamout, Esraa Khairy, Mahmoud Ali and José Cano