Multi-Processor
Programming in the Embedded System Curriculum
Teaching embedded system design is challenging, as the subject covers a wide range of aspects, and also involves skills
that students do not learn from a text book. As a result,
hands-on projects, with varying degree of complexity, are
the most common approach in existing courses. Tradition-
ally, the projects are limited to uni-processor systems, and
do not address the complications involved in parallelising
applications and mapping them to multi-processor systems.
In this paper, we describe a two-year-old embedded systems
design course given at Eindhoven University of Technology.
In the course, the students, divided in groups of four, are
faced with the problem of putting an embedded JPEG decoder on the market within one semester. The starting point
is a decoder written in sequential C and an embedded multi-
processor system, running on an FPGA. We describe the
ideas and organisation of the course, and give examples of
what challenges the students are faced with. We exemplify
results and give suggestions to instructors wishing to teach
embedded multi-processor programming elsewhere.
|