CMPE 117 - Embedded Software
Spring 2002
3:30-4:40, MWF, Earth & Marine 214
Embedded software is the software that runs inside a wide range of
products, from appliances such as cellphones, digital cameras, and
microwave ovens, to digital control systems and safety-critical
systems such as cars and aircrafts. Embedded software accounts for an
increasingly large fraction of the functionality and development cost
of a wide range of products ranging consumer products (where it is
cheaper to add features to a VCR by enhancing its software than by
adding a button to its faceplate) high-end systems such as cars and
aircrafts, where software is becoming central in both their safe
operation, and in obtaining competitive performance. Indeed, the
future points to a world where mechanical, computer, and communication
aspects will be tightly coupled at all levels of designs, so that
mechanical components such as brake actuators will be sold already
integrated with their embedded processor, software, and bus
interface.
This course provides an introduction to the development of embedded
software, with particular emphasis on real-time embedded software.
The course starts with an overview of real-time scheduling theory,
and presents the basic features of real-time operating systems. The
trade-offs of the event-triggered and time-triggered approaches to
embedded programming will be discussed. The course then discusses the
implementation of distributed embedded systems: real-time
communication protocols, synchronization, time distribution. Finally,
the course will present high-level languages for embedded software
development: Esterel, Lustre, and Giotto.
Prerequisite: CMPS 111, Operating Systems.
Office Hours
Mondays and Wednesdays, 5-6.
Textbooks
- Hermann Kopetz, Real-Time Systems: Design Principles for
Distributed Embedded Applications.
Kluwer Academic Publishers, 1997.
- Giorgio C. Buttazzo, Hard Real-Time Computing Systems: Predictable
Scheduling Algorithms & Applications.
Kluwer Academic Publishers, 1997.
Homeworks
- Homework 4, due May 17, Friday, by email.
The homework is essentially the continuation of homework 3.
- Homework 5, due May 31, Friday, by email.
Midterms and Final
- Midterm 1, April 19 (Friday), in class.
- Midterm 2, May 17 (Friday), in class.
Sample questions
- Final, June 4, 4-7pm, in class.
Lab Information
Class newsgroup
ucsc.classes.cmpe117
Please periodically look at it, and post there your questions for help
with software setup, so others have a chance of helping.
If the question is urgent, also email me.
Lectures
Reading and Resources
Giotto
Language references
Other references
Lego Mindstorms
Luca de Alfaro