Embedded computer architecture laboratory: a hands-on experience programming embedded systems with resource and energy constraints

Embedded systems are complex, requiring multi-disciplinary skills for their design. Developing appropriate educational curricula is a non trivial problem. Embedded system design requires both theoretical and practical understanding. It is common in embedded system education to provide practical laboratory sessions to put into practice what is learnt from lectures and textbooks. In this paper, we present our embedded systems laboratory that is given as part of the Embedded Computer Architecture (ECA) module at Delft University of Technology. Our laboratory provides practical, hands-on experience of programming a multiprocessor embedded system, that is prototyped on an FPGA. We provide details of the hardware platform and software APIs that are provided to the students, along with the laboratory assignment that was given to the ECA students in the 2011-2012 academic year. We present example results that were submitted by groups taking part in the laboratory, and describe the lessons we learned from our own practical experience of giving the laboratory.

[1]  Kees G. W. Goossens,et al.  A Unified Execution Model for Data-Driven Applications on a Composable MPSoC , 2011, 2011 14th Euromicro Conference on Digital System Design.

[2]  Kees G. W. Goossens,et al.  Composable power management with energy and power budgets per application , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[3]  Martin Radetzki,et al.  Practical embedded systems engineering syllabus for graduate students with multidisciplinary backgrounds , 2011, WESE '11.

[4]  Kees G. W. Goossens,et al.  Composability and Predictability for Independent Application Development, Verification, and Execution , 2011, Multiprocessor System-on-Chip.

[5]  Hisao Koizumi,et al.  Use of Student Experiments for Teaching Embedded Software Development Including HW/SW Co-Design , 2009, IEEE Transactions on Education.

[6]  Patrick Schaumont Bradley Hardware / Software Co-design is a starting point in Embedded Systems Architecture Education , 2008 .

[7]  Sorin Cotofana,et al.  Energy-Managed , Real-Time MPSOC Platform , 2010 .

[8]  Michiel D'Haene,et al.  Gathering Skills for Embedded Systems Design , 2007 .

[9]  Kees Goossens,et al.  A composable, energy-managed, real-time MPSOC platform , 2010, 2010 12th International Conference on Optimization of Electrical and Electronic Equipment.

[10]  Tianzhou Chen,et al.  FPGA-Based Embedded System Education , 2009, 2009 First International Workshop on Education Technology and Computer Science.

[11]  Alberto L. Sangiovanni-Vincentelli,et al.  Embedded system education: a new paradigm for engineering schools? , 2005, SIGBED.

[12]  Alexander G. Dean Teaching optimization of time and energy in embedded systems , 2010, WESE '10.

[13]  Andreas Hansson,et al.  Multi-processor programming in the embedded system curriculum , 2009, SIGBED.

[14]  Rajesh K. Gupta,et al.  Leakage aware dynamic voltage scaling for real-time embedded systems , 2004, Proceedings. 41st Design Automation Conference, 2004..

[15]  Hongjun Dai,et al.  Practical Training in the Embedded System Education: A New Way to Narrow the Gap with Industry , 2008, 2008 The 9th International Conference for Young Computer Scientists.

[16]  Kees G. W. Goossens,et al.  The aethereal network on chip after ten years: Goals, evolution, lessons, and future , 2010, Design Automation Conference.

[17]  Licheng Xu,et al.  A global curriculum design framework for embedded system education , 2010, Proceedings of 2010 IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications.

[18]  Martin Törngren,et al.  How should embedded systems be taught?: experiences and snapshots from Swedish higher engineering education , 2005, SIGBED.