Operating Systems for Embedded Computer Systems

Објавено: June 28, 2022
1. Course Title Operating Systems for Embedded Computer Systems
2. Code 4ФЕИТ07Л014
3. Study program КТИ
4. Organizer of the study program (unit, institute, department) Faculty of Electrical Engineering and Information Technologies
5. Degree (first, second, third cycle) First cycle
6. Academic year/semester III/6 7. Number of ECTS credits 6
8. Lecturer D-r Marija Kalendar, D-r Goran Jakimovski
9. Course Prerequisites Passed: Data Structures and Algorithm Analysis
Taken course: Operating Systems

10. Course Goals (acquired competencies): Working with custom embedded devices, porting and customizing the operating system, file system and preparing the system for booting.
Upon completion, the student will have competences to: understand the necessary elements of the OS for embedded devices; understand and use the necessary tools for cross-compiling and customizing the OS kernel; understand and prepare the appropriate file systems for embedded systems; understand and adjust access to connected devices via OS kernel and the Device Tree; to customize and compile drivers and the OS kernel and to prepare the full system for a non-standard processor architecture (ARM) from source to executable version.

11. Course Syllabus: Introduction to embedded operating systems. Linux kernel. Libraries and Makefile. Organize a program into multiple files. Writing your own libraries. Concept of Shared Libraries. Static and dynamic compilation and linking. Transfer from GP system to embedded system. Bootloader concept. Defining a tool for compiling GP systems. Resource management. Compilation using Toolchain. Compiling programs for different architectures. Introduction to embedded hardware. Establishing an environment for working with embedded systems. Download packages and software tools. Cross-platform compilation. Compiling for an embedded system, using a GP machine. Compiling a Linux kernel for GP and embedded systems. Compiling programs for embedded systems. Startup of embedded systems. Bootloader. File System (RootFS). Creating an appropriate file system. Drivers (modules) for embedded systems.
12. Learning methods: Lectures, Auditory and Laboratory exercises.
13. Total number of course hours 2 + 2 + 1 + 0
14. Distribution of course hours 180
15. Forms of teaching 15.1. Lectures-theoretical teaching 30
15.2. Exercises (laboratory, practice classes), seminars, teamwork 45
16. Other course activities 16.1. Projects, seminar papers 50
16.2. Individual tasks 0
16.3. Homework and self-learning 55
17. Grading 17.1. Exams 0
17.2. Seminar work/project (presentation: written and oral) 40
17.3. Activity and participation 10
17.4. Final exam 50
18. Grading criteria (points) up to 50 points 5 (five) (F)
from 51to 60 points 6 (six) (E)
from 61to 70 points 7 (seven) (D)
from 71to 80 points 8 (eight) (C)
from 81to 90 points 9 (nine) (B)
from 91to 100 points 10 (ten) (A)
19. Conditions for acquiring teacher’s signature and for taking final exam Laboratory exercises
20. Forms of assessment The exam consists of two parts (Can be completed as two partial exams):
First partial exam – theoretical part: Test questions and problems (70 min)
and
Second partial exam – practical part: Finishing a practical team project.The use of books, scripts, manuscripts or notes is partially allowed during the exam, but the use of calculators, mobile phones, tablets or any other electronic devices is not allowed.
21. Language Macedonian and English
22. Method of monitoring of teaching quality Internal evaluation and surveys
23. Literature
23.1. Required Literature
No. Author Title Publisher Year
1 Colin Walls Embedded Software, Second Edition: The Works Newnes 2012
2 Christopher Hallinan Embedded Linux Primer: A Practical Real-World Approach, 2nd Ed. Prentice Hall 2010
3 K. Yaghmour, J. Masters, G. Ben-Yossef, P. Gerum Building Embedded Linux Systems: Concepts, Techniques, Tricks, and Traps, 2nd Ed. O’Reilly 2008
23.2. Additional Literature
No. Author Title Publisher Year
1 Bootlin (Author) Linux Kernel and Driver Development – Practical Labs (Embedded Linux) CreateSpace Independent Publishing Platform 2018
2 Derek Molloy Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux 2nd Ed. Wiley 2019
3 J. McKellar, A. Rubini, J. Corbet, G. Kroah-Hartman Linux Device Drivers, 4th Ed. O’Reilly Media; 2014