1. Course Title | OS and Modules for Embedded Systems | |||||||
2. Code | 3ФЕИТ07Л023 | |||||||
3. Study program | KTI | |||||||
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 | IV/8 | 7. Number of ECTS credits | 6.00 | |||||
8. Lecturer | Dr Marija Kalendar | |||||||
9. Course Prerequisites |
|
|||||||
10. Course Goals (acquired competencies): Working with dedicated devices (Raspberry Pi), installing an operating system, file system, drivers. Upon completion, the students will be able to compile drivers and kernels for non-standard processor architecture (ARM) from source to executable. |
||||||||
11. Course Syllabus: Introduction to Embedded Operating Systems. Linux kernel. Libraries and Makefiles. Program organization in multiple files. Writing custom libraries. Concept of Shared Libraries. Static and dynamic compilation and linking. Migrating from GP system to embedded system. The concept of Bootloader. Defining the Toolchain for compilation in GP systems. Resource management. Compilation using Toolchain. Compiling programs for different architectures. Introduction to embedded hardware. Introduction to the Raspberry Pi hardware. Setting up working environment for embedded systems. Downloading packages and software tools. Cross-platform compilation. Compiling on a GP machine for an embedded system. Compiling the Linux kernel for GP and embedded systems. Compiling programs for embedded systems. Starting up embedded systems. File system (RootFS). Using 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 | 25 | ||||||
16.2. Individual tasks | 20 | |||||||
16.3. Homework and self-learning | 60 | |||||||
17. Grading | 17.1. Exams | 10 | ||||||
17.2. Seminar work/project (presentation: written and oral) | 40 | |||||||
17.3. Activity and participation | 0 | |||||||
17.4. Final exam | 50 | |||||||
18. Grading criteria (points) | up to 50 points | 5 (five) (F) | ||||||
from 51 to 60 points | 6 (six) (E) | |||||||
from 61 to 70 points | 7 (seven) (D) | |||||||
from 71 to 80 points | 8 (eight) (C) | |||||||
from 81 to 90 points | 9 (nine) (B) | |||||||
from 91 to 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 questionnaires | |||||||
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 | David Simon | An Embedded software primer | Addison-Wesley | 2003 | ||||
2 | J. McKellar, A. Rubini, J. Corbet, G. Kroah-Hartman | Linux Device Drivers, 4th Ed. | O’Reilly Media; | 2014 |