Module B: Programming Embedded Systems
Osnovni podatki
Nosilec: Tadej Tuma
Vrsta predmeta: Izbirni, splošni
Število kreditnih točk: 5
Semester izvajanja: 2. semester
Koda predmeta: 64137
Opis predmeta
This course is part of the Embedded System module B and is closely related to its sibling course Designing Embedded Systems.
Embedded systems are small microcontroller devices, which are part of a larger control system. Why do some large computer controlled systems need smaller subsystems? Is there not enough computation power? In fact, the problem is not the computation power, it's the sheer number of relatively simple tasks demanding real-time control. This means the system must concurrently run a large number of programs with a specified functionality as well as a specified execution speed. The limiting factor is logistics rather than pure computation power. The solution is a distributed computer system where smaller embedded subsystems are responsible for the timeline.
Students are already familiar with coding in C language. In this course, they discover techniques for developing real-time programs. These are programs which must fulfill certain specifications with a certain speed. Suppose you want to make an elliptic cut into sheet wood. The program must control three stepper motors to describe an elliptic motion. However, the speed of the cutting head is crucial as well. If it's too fast, the drill bit will break, if it's is too slow the wood will overheat.
Cilji
Understanding the specifics of programming embedded systems: demands of concurrent execution of several tasks in real time. Fundamental time slicing techniques of programming and solving of typical synchronization problems. Developing practical skills during project oriented laboratory work in combination with course 64136.
Metode poučevanja in učenja
Lectures, discussion groups, laboratory project work (group and individual).