ETH ZurichD-ITETTIKComputer Engineering Group
Embedded Systems
  Goals
  Exercises and Labs
  Timetable
  Podcast
  Mini-Tests
  Exam
  Literature

Lecture: Embedded Systems (FS 2016)

General Information

Title Embedded Systems
Lecture Number 227-0124-00
Semester Spring Semester 2016 (FS 2016)
Lecturer Prof. Lothar Thiele, ETZ G87, Tel. +41 44 632 70 31, thiele@tik.ee.ethz.ch
Language English
Schedule

When? Where?
Lectures Wed, 13-15h ETF C1
Exercises Wed, 15-17h ETF C1
Labs Wed, 15-17h
Wed on even weeks, 17-19h
ETZ D61.1/2
Prerequisites 5. Semester D-ITET, D-INFK, D-MAVT
Registration Use online registration
Confirmation (Testate) Not required

Goals

Focus of this lecture are methods and tools for the design of embedded systems.

Contents

Embedded systems are computing systems that are designed for a specific application and are embedded in a technical context, e.g. mobile phones, smart cards, vehicular electronics, consumer electronics devices, etc. The growing interest in the systematic design of such systems is motivated by the increase both in variety and complexity of the applications. Today, embedded systems have long overtaken PCs in terms of numbers...

The lecture gives broad insight in the area of embedded systems and is oriented along the three focus areas: software and programming, processing and communication, hardware.

Apart from a set of exercises the lecture features a number of demonstrations of computer aided tools and methods for the design of software and hardware. A newly developed hands-on lab adds to the general understanding of the material covered in the lecture and allows to gain experience with the development environment and tools for modern embedded systems. The lab is based on the BTnode platform, a state-of-the-art device for prototyping wireless sensor networks, based on Bluetooth and a low-power radio.

Timetable

Date Lecture 13-15h
ETF C1
Exercise 15-17h
ETF C1
Lab 15-17h
ETZ D61.1/2
Lab 17-19h
ETZ D61.1/2
24.2.2016
1. Embedded Systems Introduction
2. Software Introduction



2.3.2016 2. Software Introduction
2a. Timing Anomalies



9.3.2016 3. Real-Time Models
4. Periodic and Aperiodic Tasks
Exercise1:
Real Time Systems
Lab1:
Assembler, Make, LEDs, bt-cmd
Teams: A+C Teams: B Teams: C
16.3.2016 4. Periodic and Aperiodic Tasks
4a. NP Case Study
Exercise1:
Real Time Systems
Solution
Slides
Lab1:
Assembler, Make, LEDs, bt-cmd
Solution
Slides
Teams: B+D Teams: A Teams: D
23.3.2016
NO lecture!
Exercise2:
Aperiodic RT
Lab2:
Peripherals, IRQ, ADC, Timers
Teams: A Teams: B
6.4.2016 5. Resource Sharing Exercise2:
Aperiodic RT
Solution
Slides
Lab2:
Peripherals, IRQ, ADC, Timers
Solution
Slides
Teams: B+C Teams: A Teams: C
13.4.2016 [mini-Test1]


8. Communication Exercise3:
Periodic & Mixed Tasks
Lab3:
BTnut, Threads
Teams: A Teams: B
20.4.2016 8. Communication
6. Real-Time Operating System
Exercise3:
Periodic & Mixed Tasks
Solution
Slides
Lab3:
BTnut, Threads
Solution
Slides
Teams: B+C Teams: A Teams: C
27.4.2016
NO lecture!
Exercise4:
Communication
Lab4:
Multi-Hop Bluetooth Chat
Teams: A Teams: B
4.5.2016 [mini-Test2]


7. System Components Exercise4:
Communication
Solution
Slides
Lab4:
Multi-Hop Bluetooth Chat
Solution
Slides
Teams: B+C Teams: A Teams: C
11.5.2016 9. Low Power Design Exercise5:
Low Power
Solution
Slides


Teams: A+B+C
18.5.2016 10. Models
11. Architecture Synthesis
Exercise6:
Models and Architecture Synthesis
Solution
Slides


Teams: A+B+C
25.5.2016 [mini-Test3]


11. Architecture Synthesis Exercise7:
Scheduling
Solution
Slides


Teams: A+B+C
1.6.2016 11. Architecture Synthesis
Research in Embedded Systems
Exercise8:
ILP and Iterative Algorithms
Solution
Slides


Teams: A+B+C

Lecture Notes

The material (lecture slides, exercises, and labs) will be sold 15min before the first lecture on 24.2.2016 for 10 sFr.

Click on the links to access the complete set of slides and the lecture notes that cover the last part of the lecture.

Podcasts

Parts of the lecture in Embedded Systems are made available as podcasts. In particular, they contain the slides including audio comments. The purpose is not to replace the lecture but to help in case certain aspects are not sufficiently clear if looking at the slides later on again. Therefore, only the more complex parts of the lecture are recorded. Currently, the comments are in German.

The movie files are available in three different resolutions: ipod (320 x 240), iphone (480 x 320) and web (640 x 480).

Lecture Title ipod iphone web
1. Allgemeine Bemerkungen ES_Einfuehrung1.m4v ES_Einfuehrung2.m4v ES_Einfuehrung.mp4
2. Software Introduction ES_SWIntroduction1.m4v ES_SWIntroduction2.m4v ES_SWIntroduction.mp4
3. Real-Time Models ES_RTModels1.m4v ES_RTModels2.m4v ES_RTModels.mp4
4. Aperiodic and Periodic Tasks ES_AperiodicPeriodic1.m4v ES_AperiodicPeriodic2.m4v ES_AperiodicPeriodic.mp4
5. Resource Sharing ES_Resource1.m4v ES_Resource2.m4v ES_Resource.mp4
8. Communication ES_Communication1.m4v ES_Communication2.m4v ES_Communication.mp4
9. Low Power Design ES_LowPower1.m4v ES_LowPower2.m4v ES_LowPower.mp4
10. Models for Architecture Synthesis ES_ArchitectureModels1.m4v ES_ArchitectureModels2.m4v ES_ArchitectureModels.mp4
11. Architecture Synthesis ES_ArchitectureSynthesis1.m4v ES_ArchitectureSynthesis2.m4v ES_ArchitectureSynthesis.mp4

Errata: On slide 4-26, F is equal to 1 and not 2. On slides 4-27 and 4-30: F is equal to 2 and not 3.

Exercises and Labs

Update: Groups C and D merged on 17.03.2016

The exercises are made available before the date of the exercise. During an exercise, teaching assistants will summarize the lecture material required to solve the exercise questions, give hints how to approach the solution, answer your questions and discuss the correct solution at the end of the exercise. The electronic version of the exercise questions and solutions will be placed online after the exercise has been conducted by all groups.

Labs will be conducted in teams of 2 people. Only up to 60 people have space in the student pool ETZ D61.1/2. Therefore, all teams will build three groups A+B+C and have labs (and exercises) at different times on different weeks as indicated in the timetable.

Current Lab/Group assignment

If you have not been assigned a group yet, please send an email to Rehan Ahmed (rehan.ahmed@tik.ee.ethz.ch).

Lab documentation is available on the BTnode webpage/Tutorials. For support question please use the resources under BTnode Support or consult the BTnode Community Tips and Tricks. This page is based on a wiki and user-editable. Just click on the "edit" button on the top and contribute to the BTnode community knowledge base.

If you have a general question on the lecture, exercises, labs and mini-Tests, please contact the lecture coordinator.

Coordinator:

Teaching Assistants:

Mini-Tests

During this semester, we will conduct three mini-tests mostly based on the material discussed during exercises and labs. A mini-test is a small test containing a set of multiple-choice questions. A mini-test will take place at the beginning of a lecture and take 10 minutes to solve.

Supporting Materials: Printouts, handwritten note, and calculators are allowed. No devices that can be used for communication (laptops, phones, tablets, mp3 players, etc.).

mini-Test Date Topics Solutions Grading
I 13.04.2016 Ex.1-2 PDF PDF
II 04.05.2016 Ex.3, Lab.1-3 PDF PDF
III 25.05.2016 Ex.4-6, Lab.4 PDF PDF

A mini-test will cover the exercise / lab material discussed before the date of a mini-test. All mini-tests will be graded and the grades will be published here 1-2 weeks after the mini-test.

Correct solution for a mini-test will be announced directly after the mini-test. There will be no mini-test review.

The average of two best grades for the mini-tests counts as a bonus. The combination of the grade for the final exam (75%) and the bonus (25%) equals the final grade for the subject only if the bonus improves the final grade. If a student misses at least two mini-tests or in case the bonus is lower than the grade obtained for the final exam, only the final exam counts (100%). A student automatically loses the bonus advantage after the first failed final exam. The final grade computation algorithm is presented below:

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.

Exam Review: After the exam grades will be published in myStudies, you can take a look at your exam until the end of September. To do so, please visit our secretary Friederike Bruetsch (office ETZ G88) during office hours.

Material for Exam Preparation

English

Sample exam with solutions - Summer 2010

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
Sample exam with solutions - Summer 2010

Literature

We recommend the book Peter Marwedel: Embedded System Design for this lecture.

Related Literature - Online book orders at ETHbib

  • [Mar07] P. Marwedel. Eingebettete Systeme. Springer Verlag, Paperback, December 2007. ISBN 978-3-540-34048-5
  • [Mar11] P. Marwedel. Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems. Springer Verlag, Paperback, 2011. ISBN 978-94-007-0256-1
  • [Tei07] J. Teich. Digitale Hardware/Software-Systeme: Synthese und Optimierung. Springer Verlag, 2007. ISBN 3540468226
  • [But11] G.C. Buttazzo. Hard real-time computing systems: predictable scheduling algorithms and applications. Springer Verlag, Berlin, 2011. ISBN-10: 1461406757, ISBN-13: 9781461406754
  • [Wolf12] W. Wolf. Computers as components: principles of embedded computing system design. Morgan Kaufmann, 2012. ISBN-10: 0123884365, ISBN-13: 978-0123884367

Lecture Chapter vs. Book Chapters

Lecture [Mar07] [Mar11] [Tei07] [But11]
1. Embedded System Introduction 1 1

2. Software Introduction



3. Real-Time Models 4.2 6.1, 6.2
2
4. Periodic and Aperiodic Tasks 4.2 6.1, 6.2
3, 4, 5, 6
5. Resource Sharing 4.2 4.1.4
7
6. Real-Time Operating Systems 4.3 4.1
10, 12
7. System Components 3.4 3.3

8. Communication 3.3 3.5

9. Low Power Design
7.4

10. Architecture Design - Models 5.1 6.3 2
11. Architecture Synthesis 5.3 6.3 3, 4