13M111PUS - Embedded System Programming

Course specification
Course title Embedded System Programming
Acronym 13M111PUS
Study programme Electrical Engineering and Computing
Type of study master academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition Formal prerequisite does not exist, but it is expected that the student is familiar with Computer Architecture, Operating systems, Assembler, C and C++ programming, System software programming, Microprocessor systems
The goal Understanding the architectures of modern embedded systems. Understanding and mastering the adjustement of embedded systems. Analisys of important characteristics of embedded systems. Acquiring skills for embedded systems' application development.
The outcome Upon successful completion of the course, the students will be able: - to analyze and understand documentation of embedded systems - to extend and adapt existing embedded operating systems by developing new device drivers - to develop applications for embedded operating systems through available API - to conduct analysis of developed system in order to identify and remove potential defects
Contents of lectures Architecture of modern embedded systems. Principles of system software developement in the context of embedded operating systems. Principles of resource menagement in embedded systems. Design principles of application software for embedded systems.Principles of interface design for embedded systems. Reliability and robustnest of applications and system software for embeddes systems.
Contents of exercises Exercesing practical examples based on theoretical knowledge gained in lecturers. Developing skills for embedded system programming through independent work on homework projects.
  1. Bruce Powel Douglass, "Design Patterns for Embedded Systems in C: An Embedded Software Engineering Toolkit", Elsevier, 2010.
  2. Colin Walls, "Embedded Software: The Works", Elsevier, 2012
  3. Christopher Hallinan, "Embedded Linux Primer: A Practical Real-World Approach", 2nd Edition, Prentice Hall, 2010.
  4. Jessica McKellar, Alessandro Rubini, Jonathan Corbet, Greg Kroah-Hartman, "Linux Device Drivers, 4th Edition", O'Reilly Media, 2017.
  5. Karim Yaghmour , "Embedded Android: Porting, Extending, and Customizing, 2nd Edition", O'Reilly Media, 2015.
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures and auditory practices are supplied with electronic presentations. Lectures introduce theoretical concepts, while auditory practices exercise practical programming skilles intended for embedded systems. Students work on homework projects independently.
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 20
Practical lessons 0 Oral examination 50
Projects 0
Colloquia 30
Seminars 0