227-0124-00L Embedded Systems
Semester | Spring Semester 2019 |
Lecturers | L. Thiele |
Periodicity | yearly recurring course |
Language of instruction | English |
Abstract | An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. The course covers theoretical and practical aspects of embedded system design and includes a series of lab sessions. |
Learning objective | Understanding specific requirements and problems arising in embedded system applications. Understanding architectures and components, their hardware-software interfaces, the memory architecture, communication between components, embedded operating systems, real-time scheduling theory, shared resources, low-power and low-energy design as well as hardware architecture synthesis. Using the formal models and methods in embedded system design in practical applications using the programming language C, the operating system FreeRTOS, a commercial embedded system platform and the associated design environment. |
Content | An embedded system is some combination of computer hardware and software, either fixed in capability or programmable, that is designed for a specific function or for specific functions within a larger system. For example, they are part of industrial machines, agricultural and process industry devices, automobiles, medical equipment, cameras, household appliances, airplanes, sensor networks, internet-of-things, as well as mobile devices. The focus of this lecture is on the design of embedded systems using formal models and methods as well as computer-based synthesis methods. Besides, the lecture is complemented by laboratory sessions where students learn to program in C, to base their design on the embedded operating systems FreeRTOS, to use a commercial embedded system platform including sensors, and to edit/debug via an integrated development environment. Specifically the following topics will be covered in the course: Embedded system architectures and components, hardware-software interfaces and memory architecture, software design methodology, communication, embedded operating systems, real-time scheduling, shared resources, low-power and low-energy design, hardware architecture synthesis. More information is available at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html . |
Lecture notes | The following information will be available: Lecture material, publications, exercise sheets and laboratory documentation at https://www.tec.ee.ethz.ch/education/lectures/embedded-systems.html . |
Literature | P. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-56045-8, 2018. G.C. Buttazzo: Hard Real-Time Computing Systems. Springer Verlag, ISBN 978-1-4614-0676-1, 2011. Edward A. Lee and Sanjit A. Seshia: Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, MIT Press, ISBN 978-0-262-53381-2, 2017. M. Wolf: Computers as Components – Principles of Embedded System Design. Morgan Kaufman Publishers, ISBN 978-0-128-05387-4, 2016. |
Prerequisites / Notice | Prerequisites: Basic knowledge in computer architectures and programming. |