This is a hands-on course on the theory and practice of developing real-time and embedded systems. Concepts needed for building such systems include power management, bootloading, bare metal programming, and implementation of real time operating systems (RTOS). Students will be exposed to the AVR architecture along with some ARM applications later on in the semester. The course culminates in a final project where students have the opportunity to synthesize their knowledge in a project of their own design.
- Basics of Microcontrollers – timers, interrupts, analog to digital conversion, bootloaders
- Embedded architectures of modern 8/16/32 bit embedded processors Real-time principles – multi-tasking, scheduling, synchronization
- Interaction with devices – buses, memory management, device drivers, sensors, transducers, wired communication