Programming Complex Embedded Systems

Data is displayed for academic year: 2023./2024.

Course Description

Hardware and software architecture for embedded systems based on general-purpose operating systems. Analysis of hardware requirements for embedded systems based on Linux. Particularities of using Linux in embedded systems. Using command line interface and scripts. Linux distributions for embedded and real-time systems. Linux kernel architecture, kernel modification and building the kernel from source code. Root file system. Managing input/output devices and device driver development. Bootloader and starting Linux. Porting Linux distribution to specific target hardware platform. Target hardware emulation. Linux limitations in real-time applications. Managing services and task scheduling. Networking and security. Setting up the development environment. Linux application development for embedded systems. Using Linux in multiprocessor and heterogeneous embedded systems.

Study Programmes

University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses (3. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses (3. semester)
[FER3-HR] Computer Engineering - profile
Elective Courses (3. semester)
[FER3-HR] Computer Science - profile
Elective Courses (3. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses (3. semester)
[FER3-HR] Data Science - profile
Elective Courses (3. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses (3. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses (3. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses (3. semester)
Elective Courses of the Profile (3. semester)
[FER3-HR] Electronics - profile
Elective Courses (3. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses (3. semester)
[FER3-HR] Network Science - profile
Elective Courses (3. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Courses (3. semester)

Learning Outcomes

  1. Design software architecture for complex embedded systems.
  2. Analyze hardware requirements for implementation of embedded systems based on general-purpose operating systems.
  3. Use Linux operating system in embedded systems.
  4. Modify and build custom Linux kernel.
  5. Develop custom device drivers for Linux.
  6. Use Linux operating system in real-time systems.
  7. Use and integrate advanced services in Linux operating system.
  8. Use embedded systems connected to the Internet.

Forms of Teaching

Lectures

Seminars and workshops

Laboratory

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 50 % 20 % 50 % 20 %
Seminar/Project 50 % 10 % 50 % 10 %
Mid Term Exam: Written 50 % 30 % 0 %
Final Exam: Written 50 % 40 %
Exam: Written 50 % 40 %
Exam: Oral 30 %

Week by Week Schedule

  1. Complex embedded systems SW design methodologies
  2. Hardware requirements analysis for general-purpose operating systems
  3. Linux operating system for embedded systems
  4. Kernel adaptation and building
  5. Kernel adaptation and building
  6. Device driver development
  7. Device driver development
  8. Midterm exam
  9. Real time and Linux in embedded systems
  10. Real time and Linux in embedded systems
  11. Integration of high-level services (file system, networking, human-machine interface)
  12. Integration of high-level services (file system, networking, human-machine interface)
  13. Internet-enabled embedded systems
  14. Internet-enabled embedded systems
  15. Final exam

Literature

D. Abbott (2006.), Linux for Embedded and Real-time Applications, Newnes
G. Sally (2010.), Pro Linux Embedded Systems, APRESS ACADEMIC
Silberschatz, P. B. Galvin, G. Gagne (2005.), Operating System Concepts, John Wiley & Sons
Q. Li, C. Yao (2003.), Real-Time Concepts for Embedded Systems, CMP Books

For students

General

ID 222689
  Winter semester
5 ECTS
L0 English Level
L1 e-Learning
30 Lectures
2 Seminar
0 Exercises
15 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

90 Excellent
75 Very Good
60 Good
50 Sufficient