COURSE DESCRIPTION
This practical, hands-on course introduces the various building blocks and underlying scientific and engineering principles behind embedded real-time systems. The course covers the integrated hardware and software aspects of embedded processor architectures, along with advanced topics such as real-time, resource/device and memory management. Students can expect to learn how to program with the embedded architecture that is ubiquitous in cell-phones, portable gaming devices, robots, PDAs, etc. Students will then go on to learn and apply real-time principles that are used to drive critical embedded systems like automobiles, avionics, medical equipment, the Mars rover, etc. Topics covered include embedded architectures (building up to modern 16/32/64-bit embedded processors); interaction with devices (buses, memory architectures, memory management, device drivers); concurrency (software and hardware interrupts, timers); real-time principles (multi-tasking, scheduling, synchronization); implementation trade-offs, profiling and code optimization (for performance and memory); embedded software (exception handling, loading, mode-switching, programming embedded systems). Through a series of laboratory exercises with state-of-the-art embedded processors and industry-strength development tools, students will acquire skills in the design/implementation/debugging of core embedded real-time functionality.

Pre-requisites: 18-240 and 15-213
Format: 4 hrs lecture, 8 hrs lab
Lectures: Mon & Wed, 2.30-4.20pm, HH B131 (Fall 2007)

INSTRUCTOR
Prof. Priya Narasimhan, Associate Professor of ECE, has 10 years of experience, and over 50 publications, in the field of fault-tolerant distributed systems. Apart from her significant contributions to industrial dependability standards, she has real-world experience as the CTO and Vice-President of Engineering of a start-up company building embedded fault-tolerance products. Her current research focuses on fault-tolerant and survivable distributed middleware systems, both in the embedded and enterprise domains. She is also passionate about the development of assistive embedded technologies. Most of all, she is a rabid fan of the Pittsburgh Steelers.
Office: CIC 2202
Tel: 412-268-8801
Email: priya at cs.cmu.edu