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. |
||||||||
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 |