Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2021
Content and learning outcomes
Course contents
Design process for embedded systems. Design requirements.
The platform for embedded systems and its components.
Analysis and optimisation of software for embedded systems.
Periodic process model, basic scheduling algorithms and scheduling analysis.
Parallel processes and communication mechanisms.
Realtime operating systems.
Acceleration of the system through additional hardware. Co-design of hardware and software.
Intended learning outcomes
Having passed the course, the student should be able to
describe the fundamental structure of the platform for embedded computer systems and explain cooperation between the software and the hardware components
analyse how architecture and implementation decisions influence the performance in an embedded system
use basic models and analytical methods for embedded realtime systems
develop software for simple embedded real time systems
in order to obtain a good understanding of the design process for embedded systems and basic methods and technologies for the design of embedded systems.
Learning activities
The course consists of 17 lectures, 2 seminars and 3 laboratory sessions. Students have to complete the laboratory tasks within their available laboratory sessions, and their seminar tasks within the seminar sessions. There will be two occasions per study year to pass the written exam.
Detailed plan
The following table shows a preliminary plan of the logical flow of the course. More detailed information will be available via the Canvas page of the course.
Activity
Description
Material
Lecture 1
Course Introduction. Embedded Systems Overview.
Lecture Notes: Chapter 1
Lecture 2-6
Embedded Computing Platform: Microprocessor, Memory System, Input/Output, Interconnection Network, Peripherals. Programming Embedded Systems in C.
Lecture Notes: Chapter 2. Appendix: A.1, B.1, C.
Seminar 1
Embedded System Design and Embedded Computing Platform
Seminar Documentation
Lecture 7-11
Real Time Systems: Introduction. Real-Time Operating Systems. Real-Time System Model. Scheduling Algorithms and Tests. Programming Concurrent Real-Time Systems in Ada.
Lecture Notes: Chapter 3.1-3.5. Appendix: A.2, B.2, D.
Laboratory 1
Concurrent and Real-Time Software Development in Ada
Laboratory Manual and Source Files
Seminar 2
Real-Time Systems
Seminar Documentation
Laboratory 2
Introduction to Real-Time Operating Systems
Laboratory Manual, RTOS Documentation, and Source Files
Lecture 12-16
Hardware/Software Co-Design: Introduction Hardware Accelerator, Implementation Alternatives, Program Analysis.
Lecture Notes: Chapter 4. Appendix: A.3, B.3.
Lecture 17
Wrap-up.
Extra Laboratory Session
Students have 3 laboratory sessions to finish the laboratory course.
Preparations before course start
Literature
The course will use written course material, which will be distributed in Canvas as 'Lecture Notes'.
Equipment
Students will have to use their laptop for the laboriatories of the course.
Software
The software will be provided as virtual machine to the students.
Support for students with disabilities
Students at KTH with a permanent disability can get support during studies from Funka:
LAB1 - Laboratory Work, 3.0 credits, Grading scale: P, F
TEN1 - Examination, 4.5 credits, Grading scale: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
The section below is not retrieved from the course syllabus:
The course uses the grading scale A-F. In order to pass the course the student has to pass the final exam (TEN1; 4.5hp) and to complete the laboratory course (LAB1; 3hp). The grade of the exam will also be the grade for the whole course.
The examination is aligned with the intended learning outcomes, where one learning outcome is examined in the laboratory course and the other three learning outcomes as individual parts in the written exam.
Laboratory Work (LAB1)
The laboratory course addresses the following learning outcome: The student should be able to develop software for simple embedded real time systems.
In order to pass the laboratory course, each student has to
complete the laboratories including preparation tasks and have them approved by a course assistant.
Although laboratories are done in a group of two students, each student has to demonstrate her individual knowledge to pass the laboratory. Students have to book time slots for the examination of the laboratories.
complete the seminar preparation tasks and have them approved by a course assistant, and actively and in a constructive way contribute to the seminars.
Examination (TEN1)
The exam will consist of three different parts, which correspond to three different learning outcomes of the course.
Part A - Embedded Computing Platform
corresponding to the following learning outcome: The student should be able to describe the fundamental structure of the platform for embedded computer systems and explain cooperation between the software and the hardware components
The content of Section 2 and exercises from Appendix A.1 in the lecture notes are characteristic for this part.
Part B - Embedded Real-Time Systems
corresponding to the following learning outcome: The student should be able to use basic models and analytical methods for embedded realtime systems
The content of Section 3 and exercises from Appendix A.2 in the lecture notes are characteristic for this part.
Part C - Hardware-Software Co-Design
corresponding to the following learning outcome: The student should be able to analyse how architecture and implementation decisions influence the performance in an embedded system
The content of Section 4 and exercises from Appendix A.3 in the lecture notes are characteristic for this part.
In order to pass the exam, the student has to pass all three parts (A-C) of the exam. To pass an individual part of the exam, a student needs to achieve at least 50% of the total points in that part of the exam.
Points
Points
Points
Total
Grade
Comment
Part A
Part B
Part C
Points
>= 50%
>= 50%
>= 50%
>= 90%
A
>= 50%
>= 50%
>= 50%
>= 80% and < 90%
B
>= 50%
>= 50%
>= 50%
>= 70% and < 80%
C
>= 50%
>= 50%
>= 50%
>= 60% and < 70%
D
≥= 50%
>= 50%
>= 50%
< 60%
E
< 50%
>= 50%
>= 50%
>= 50%
FX
Possible completion exam on Part A
>= 50%
< 50%
>= 50%
>= 50%
FX
Possible completion exam on Part B
>= 50%
>= 50%
< 50%
>= 50%
FX
Possible completion exam on Part C
In all other cases, which means if the student does not achieve 50% of the total points, or if the student does not pass two of the individual parts, the student will receive the grade F.
When a student has received the grade FX, the student has the possibility for a completion exam in the part, which the student did not pass. The student needs to request a completion exam by sending an e-mail to the examiner with the subject header "[IL2206] Completion Exam" within 7 days of the reception of the grade. If the student passes this completion exam, the grade E will we awarded, otherwise the student fails the exam with the grade F.
When a student has received the grad F, the student has to write a new exam. This exam is regarded as completely new exam.
Ethical approach
All members of a group are responsible for the group's work.
In any assessment, every student shall honestly disclose any help received and sources used.
In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
No information inserted
Contacts
Communication during course
Please use the discussion forum in Canvas, and contact the course staff via the Canvas system.