Publications

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.