Embedded Systems

Osnovni podatki

Nosilec: Janez Perš

Vrsta predmeta: Obvezni-strokovni

Število kreditnih točk: 6

Semester izvajanja: 2. semester

Koda predmeta: 64202

Opis predmeta

Introduction, embedded systems architectures, advanced embedded systems, application domains, and a few examples.

Operating systems (OS) concepts, real-time OS,

embedded OS.

Linux, system calls and functions overview.

Processes, multi-tasking, multi-threading. Memory management.

Scheduling. System calls for process/thread control. Examples in C/C++.

Inter-process communications (IPC), critical section, synchronization, semaphores, signals, shared memory, pipes, and messages. Thread synchronization. System calls for IPC. Examples in C/C++.

Principles of computer networks, ISO OSI and TCP/IP.  Client-server model. Sockets API, examples in C/C++.

Time management. Timers. Real-time (RT) systems. Scheduling in RT systems.

Examples in C/C++.

Multi-processor systems, parallelisms, speed-up, efficiency. Selected topics in parallel/distributed systems design.

Cilji

To understand fundamental concepts and to be able to apply modern solutions and technologies to embedded systems for automation/robotics.

Metode poučevanja in učenja

The lectures provide a theoretical background on particular subjects together with practical examples on Linux OS.

Practical work is being performed as the part of laboratory exercises, and is accomplished in the form of multiple programming assignments, acquainting students with individual elements of the modern operating systems, in this particular example, Linux. Students work in groups, consisting of two or three students, and the results are in the form of C/C++ source code for the selected embedded platform. After completing each part, students present their results to the assistant.

Na vrh