Course syllabus adopted 2020-02-11 by Head of Programme (or corresponding).
Overview
- Swedish nameRealtidssystem, grundkurs
- CodeLET627
- Credits7.5 Credits
- OwnerTIDAL
- Education cycleFirst-cycle
- Main field of studyComputer Science and Engineering, Electrical Engineering
- DepartmentCOMPUTER SCIENCE AND ENGINEERING
- GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Course round 1
- Teaching language Swedish
- Application code 62124
- Maximum participants56
- Open for exchange studentsNo
- Only students with the course round in the programme overview.
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0117 Examination 4.5 c Grading: TH | 4.5 c |
| |||||
0217 Laboratory 3 c Grading: TH | 3 c |
In programmes
Examiner
- Jan Jonsson
- Professor, Computer and Network Systems, Computer Science and Engineering
Eligibility
General entry requirements for bachelor's level (first cycle)Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Specific entry requirements
The same as for the programme that owns the course.Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.
Course specific prerequisites
A pass grade in the laboratory part of the course DAT390
Machine oriented programming (course module 0118) is required. Knowledge in
computer organization corresponding to the course LEU432 Introduction to
computer engineering. Knowledge in programming corresponding to a course in
computer programming using the high-level language C.
Aim
This course will give a general introduction to small embedded and distributed real-time systems. It will provide experience of some important applications for microcomputer systems, training in C-program development for small real-time systems consisting among other things of nodes connected to a CAN bus.Learning outcomes (after completion of the course the student should be able to)
- Describe and understand the concepts of embedded system, tasks, concurrent tasks, shared resources, and distributed systems.
- Explain the concepts of critical regions, mutual exclusion, starvation, deadlock, and task synchronization.
- Describe and understand the general structure of, and the function of, a real-time kernel for small embedded systems.
- Develop programs composed of multiple tasks, for small systems with support of a real-time kernel.
- Use pointers in connection with development of C programs for managing data structures such as arrays and queues.
- Explain the meaning of, and the differences between, the concepts of table-based and priority-based scheduling.
- Apply schedulability analysis on small systems composed of several well-specified tasks with timing constraints (period and deadline).
- Describe the general structure and characteristics of the CAN protocol.
- Develop programs for a distributed real-time system consisting of nodes connected to a CAN bus.
Content
The following concepts will be described in different levels in the course: task, task communication, critical regions, semaphores, mutual exclusion and synchronization, deadlock, timing constraints ("soft/hard" systems), scheduling, time- and event trigged systems, schedulability analysis for systems with static and dynamic task priorities, distributed real-time systems and data communication for small embedded real-time systems.The course also includes use of arrays and queues in C programs in connection with the study of a real-time kernel.
A large laboratory assignment and a final laboratory report gives experience of software development for embedded systems.