DT 8025 2016
Contents
Real-Time Embedded Systems 2016
Contact
Lecturer
- Office: E 308
- Telephone 035 16 71 87
- Email: [m.taromirad@hh.se]
- Office: E 306
- Telephone 035 16 71 22
- Email: [m.r.mousavi@hh.se]
Lab Instructors
- Office: E 309
- Email: [sebastian.kunze@hh.se]
- Office: E 305
- Email: [mahsa.varshosaz@hh.se]
Objectives
On completion of the course students will be able to
- program embedded applications
- understand and use a kernel to support concurrency, real-time and reactivity
- design, structure and analyse programs for embedded systems
- explain different mechanisms for communication and synchronisation between processes
- explain characteristics of real-time systems and constructions to deal with them in programs
- compare, select and apply programming language constructs designed for concurrency and real-time
Assessment
Taking part in the lab is mandatory and one cannot pass the course without doing the practicals. In addition, there will be a final written examination. During the lectures, some bonus questions will be asked, each of which will contribute 0.1 mark to the final mark (can come in handy when rounding up).
Past Examinations
Examination Date | Questions | Answers |
---|---|---|
April 2012 | Questions | Answers |
August 2012 | Questions | Answers |
November 2013 | Questions | Answers |
January 2014 | Questions | Answers |
Course Material and Resources
Slides and Handouts
Lecture | Handouts / Slides | Other Material |
---|---|---|
Lecture 1: Introduction
September 1, 13:15 |
Slides | A Raspberry-Pi Intro Clip |
Lecture 2: Memory-Mapped I/O
and Concurrency (Motivation) September 2, 10:15 |
Slides |
Chapter 9 and 11 |
Lecture 3: Concurrency (Mutual Exclusion)
and Test Driven Development September 8, 13:15 |
Slides |
Chapter 10.2 and 11 |
Lecture 4: Concurrency (Context Switch)
September 14, 10:15 |
Slides |
Chapter 10.2 and 11 |
Lecture 5: Scheduling (Periodic Tasks and Deadline)
September 22, 13:15 |
Slides |
Chapter 12 |
Lecture 6: Real Time Scheduling
September 29, 13:15 |
Slides |
Chapter 12 and 16 Recommended reading: Hard Real-Time Computing Systems by Giorgio C. Buttazzo. |
Lecture 7: Scheduling (cntd)
and Research methodology October 5, 13:15 |
Slides | |
Lecture 8: Java Programming for Android (Basics)
October 13, 13:15 |
Slides | |
Lecture 9: Java Programming for Android (Concurrency and Services)
October 20, 13:15 |
Practical Descriptions
Lab sessions are held in the E Building first floor.
Please note that the solutions to the practical have to be submitted via blackboard before the deadline.
Practical | Description | Deadline | Notes |
---|---|---|---|
Practical 0 - Introduction to C and Raspberry Pi | DT_8025_2016_Practical_0 | September 15, 2016 24:00 | |
Practical 1 - Concurrency: Manual Interleaving | DT_8025_2016_Practical_1 | October 3, 2016 24:00 (Extended) | |
Practical 2 - Scheduling and Concurrency | DT_8025_2016_Practical_2 | October 17, 2016 24:00 | |
Practical 3 - Android Programming | DT_8025_2016_Practical_3 | November 14, 2016 24:00 |
Studying, Summarising and Presenting Research Papers
In the second half of the course, two groups of students (thus, 4 people) join to read, summarise and present one of the papers in the provided collection
The presentations will be held during the last two lectures. The structure of the report and the presentation will be posted here and discussed during the lectures. The summary reports are to be typeset in LaTex using this template.
The deadline for submitting the summary reports is October 25, 12:00. The summaries should be sent by email to the lecturer of the course (m.taromirad@hh.se).
Please email your presentations before 12:00 on the day of presentation (October 18 or October 20) to the lecturer of the course.
Resources for C Programming
Recommended Text
We will occasionally use / refer to parts of the following books:
- Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems - A Cyber-Physical Systems Approach (2nd Ed.), 2015.
- James W. Grenning, Test-Driven Development for Embedded C, The Pragmatic Bookshelf, 2010.
These are only optional resources for the course.
Raspberry PI
For the first half of the course, we will use the Raspberry PI board. The boards will be provided at the lab and you will have access to the lab even outside lab hours. However, if you would like to have your own Raspberry PI and have a lot of fun, you can buy a Raspberry PI B+ board (e.g., from [1], which usually includes also a Micro SD card). You need to buy/have your own micro USB adapter. In order to use a computer display you need an HDMI cable or a converter to the appropriate input for your display monitor.
Acknowledgement
The course is based on the earlier editions of the course given by Mohammad Mousavi and Veronica Gaspes. Also, the material provided by Johan Nordlander has been essential in the set up of this course.