Instructor: Karsten Schwan ( schwan@cc ) |
|
Description
CS 4220 Embedded Systems: This course covers the principles of embedded and real-time systems inherent in many hardware platforms and applications being developed for engineering and science as well as for ubiquitous systems, including robotics and manufacturing, interactive and multimedia, immersive and omnipresent applications. As part of this course, students will learn about quality of service and real-time system principles, understand embedded and real-time operating systems and the resource management issues that arise, and construct sample applications on representative platforms. Platforms range from handheld and mobile computers to media and real-time server systems. Platforms may also include specialized systems used in application-specific contexts, such as autonomous robotics, smart sensors, and others.
- Handouts will be available in class. Any leftovers will be available outside CoC Office 216. Otherwise, let the TA know.
- Links are to papers and lectures available to you online. If a link doesn't work, let the TA know.
Weeks 1,2) Basic Concepts & Real-Time Programming
Week 1, Project I assignment available.
Week 3, Project I Due Jan 26th.
Week 4, Project II and Project III assignments available.
Week 5, Project II Due Feb 10
Projects
Class projects will use the Unix Solaris and Linux operating systems, both of which offer some facilities for construction and control of real-time systems. Class members have access to selected real-time devices and ubiquitous systems, including smart sensors (skiff boards running Linux), possibly including Lego robots (if there is class interest), including handheld devices and portable PCs (Linux-based PCs and PalmOS/Linux-based handhelds and/or wearables), including camera and other video-based sensors on PCs running Windows or Linux, and access to the commercially prevalent real-time operating system kernel, called VxWorks, running on Pentium and Sparc machines. Sample applications available to students include multimedia codes (video and audio), distributed games, sensor processing codes, image processing codes, location identification (if there is class interest) and possibly, distributed virtual environments (again, given class interest).