Embedded Systems

Autumn Semester 2021

Information on the coronavirus

The ETH task force headed by the Vice President for Infrastructure is monitoring developments in the coronavirus pandemic and will continue to draw up suitable measures as necessary. You can find constantly updated information on the coronavirus web page.

To ETH's coronavirus web page

Course Structure and Important Information

  • Due to the evaluation of the department, the lecture on Monday, 1.11.2021, will not take place.
  • Lectures are held on Mondays from 14:15 to 16:00 in ETF C1 until further notice. Life streaming is available at: Life Streaming. Slides are available on this web page at: Slides. In addition, you find audio and video recordings of most of the slides as well as recordings of this years and last years life streams on this web page at: Lecture Recordings
  • Exercises take place on Wednesdays and Fridays from 16:15 to 17:00 via Zoom. On Wednesdays the lecture material is summarized, hints on how to approach the solution are given and a sample question is solved. On Fridays, the correct solutions are discussed.
  • Laboratories take place on Wednesdays or Fridays from 16:15 to 18:00. On Wednesdays the session starts with a short introduction via Zoom and then questions can be asked via Zoom. Fridays are reserved for questions via Zoom
  • Forum can be found on Moodle. We'll be conducting all class-related discussion there this term. The quicker you begin asking questions on Moodle (rather than via emails), the quicker you'll benefit from the collective knowledge of your classmates and instructors. We encourage you to ask (and answer) questions when you're struggling to understand a concept.

Schedule

Course Description

Contents

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.

Learning Goals

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.

Overview of Lecture Contents
Overview of Lecture Contents

Laboratory (ES-Lab)

Apart from a set of lectures and theoretical exercises, the course features a number of demonstrations of computer-aided tools and methods for the design of software and hardware.

The ES-Lab adds to the general understanding of the material covered in the lecture and allows you to gain experience with the development environment and tools for modern embedded systems. The labs are based on the ARM-based external pageTI MSP432 Launchpad, a state-of-the-art embedded system development kit featuring a high-performance low-power microcontroller. The software development is based on a state-of-the-art integrated development environment.

Software Development in the ES-Lab
Software Development in the ES-Lab

During the semester, each student will be given a external pageTI Launchpad and external pageTI Sensors BoosterPack to use freely, so that everyone can dig into embedded system programming, beyond the frame of the lab sessions.

Laboratory exercises are encourage to be completed in virtual teams.

Timetable

Lecture Recordings

Life Recordings Autumn 2021

The life recordings of the lectures in Autumn Semester are available at the following link: Embedded Systems Life Recordings AS 2021.

Life Recordings Autumn 2020

The life recordings of last years lecture are available at the following links: 

  1. Lecture 1: Chapters 1. Introduction and 2. Software Development
  2. Lecture 2Chapters 2. Software Development and 3. Hardware-​Software Interface
  3. Lecture 3Chapter 3. Hardware-​Software Interface
  4. Lecture 4Chapters 3. Hardware-​Software Interface and 4. Programming Models
  5. Lecture 5Chapters 4. Programming Models and 5. Operating Systems
  6. Lecture 6Chapters 5. Operating Systems and 6. Aperiodic and Periodic Scheduling
  7. Lecture 7Chapter 6. Aperiodic and Periodic Scheduling
  8. Lecture 8Chapters 6. Aperiodic and Periodic Scheduling and 7. Shared Resources
  9. Lecture 9Chapters 7. Shared Resources and 9. Power and Energy
  10. Lecture 10Chapter 9. Power and Energy
  11. Lecture 11Chapters 9. Power and Energy and 10. Architecture Synthesis 
  12. Lecture 12Chapter 10. Architecture Synthesis
  13. Lecture 13Chapter 10. Architecture Synthesis

Audio and Videos of Selected Chapters

Some of the chapters are documented via carefully recoreded videos. They contain some of the slides as well as audio explanations.

Exercises and Laboratory

Exercises: The exercises are made available before the date of the exercise. On Wednesdays from 16:15 to 17:00, teaching assistants will summarize the lecture material required to solve the exercise questions, give hints how to approach the solution, solve a sample question and answer your questions. On Fridays from 16:15 to 17:00, they will discuss the correct solution and answer more questions you might have. The electronic version of the exercise questions and solutions will be placed online after Wednesday together with recordings of the session.

Laboratory: On Wednesdays from 16:15 to 18:00, teaching assistants will introduce the laboratory tasks and answer your questions over Zoom. On Fridays from 16:15 to 18:00, the session is solely dedicated to answering your questions. Additionally, during the regular laboratory hours, teaching assistants will be present to take questions offline in ETZ D61.1. In case you miss a lab session, we encourage you to conduct the respective exercises on your own before the next laboratory takes place. Recordings of the introduction will be made available after Wednesday.

Distribution of the Personal Launchpad will take place in the first week of the semester. The hardware can be picked up in ETZ D97.7 at the time and date indicated below.

If you miss those dates or signed up for the course after the semester has started, please contact the via email.

We urgently ask all students to do the laboratory on their own hardware. For this, we provide you with a virtual machine that has all the necessary software already pre-installed. You can find the . You will receive a time slot and room allocation that guarantees that the maximum occupation of the computer rooms is respected. You are not allowed to enter ETZ D61.1 or ETZ D96.1 during the laboratory hours if you do not have an allocated slot.

Collection of the personal LaunchPad will be conducted at the exam in the winter examination session. After the exam ends, please put any hardware we lent you (i.e. both the TI LaunchPad (including the microUSB cable) as well as the TI Sensors BoosterPack) on your table. In case you will not be attending the exam, we will announce an opportunity to return the Launchpad to our offices in February.

Exam

There will be a written 2-hour exam in English.

Supporting Materials

Printouts, handwritten note, and calculators are allowed. No devices that can be used for communication.

Material for Exam Preparation

English

Sample exam - 2015 (3 hours)
Sample exam - 2016 (2 hours)
Sample exam with solution- 2015 (3 hours)
Sample exam with solution - 2016 (2 hours)
Sample exam with solutions - 2010 (3 hours)
Sample exam - 2020 (2 hours)
Sample exam with solution - 2020 (2 hours)

German

Sample problem Synthesis - Solution Synthesis
Sample problem Aperiodic RT - Solution Aperiodic RT
Sample problem Periodic RT - Solution Periodic RT
Sample problem Dynamic Power Management  - Solution Dynamic Power Management
Sample problem Scheduling - Solution Scheduling

Sample exam with solutions - Autumn 2005 (3 hours)
Sample exam with solutions - Summer 2010 (3 hours)

Literature

Related Literature - external pageOnline book orders at ETHbib

  • P. Marwedel: Embedded System Design, Springer, ISBN 978-3-319-85812-8/978-3-030-60909-2, 2018/2021.
  • 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.

Teaching Assistants

If you have a general question on the lecture, exercises, or labs, please contact the coordinator. For specific questions regarding an exercise or lab, please contact the respective assistants directly.

Coordinator

  • Seonyeong Heo, ETZ D97.7,  [SH]

Assistants

  • Filippo Spinelli, [FS]​
  • Gamze Islamoglu, [GI]
  • Jakob Wöhler, [JW]​
  • Lukas Schulthess, ETZ J83,  [LS]
  • Marco Giordano, ETZ D97.5, [MG]
  • Michael Roth, [MR]​
  • Silvano Cortesi, ETZ D97.2, [SC]
JavaScript has been disabled in your browser