|
|
Кафедра прикладної радіоелектроніки |
[RE-155] Операційні системи вбудованої радіоелектроніки

Робоча програма навчальної дисципліни (Силабус)
Реквізити навчальної дисципліни
| Рівень вищої освіти | Перший (бакалаврський) |
| Галузь знань | - |
| Спеціальність | |
| Освітня програма | |
| Статус дисципліни | Нормативна |
| Форма здобуття вищої освіти | Очна |
| Рік підготовки, семестр | 3 курс, осінній семестр |
| Обсяг дисципліни | 4 кред. (Лекц. 18 год, Практ. год, Лаб. 36 год, СРС. 66 год ) |
| Семестровий контроль/контрольні заходи | Залік |
| Розклад занять | https://schedule.kpi.ua |
| Мова викладання | Українська |
| Інформація про керівника курсу / викладачів
| Лекц.: Мосійчук В. С., Лаб.: Мосійчук В. С., СРС.: Мосійчук В. С. |
| Розміщення курсу | http://iot.kpi.ua/lms/user/index.php?id=38 |
Програма навчальної дисципліни
1. Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання
Метою курсу є здобуття студентами навичок та вмінь розробки вбудованих систем на основі операційних систем, зокрема ОС Linux, з використанням платформ мікроконтролерів, включаючи розробку драйверів периферійних пристроїв різного призначення за допомогою стандартних програмних засобів.
Знання і розуміння
- Модель операційної системи Linux.
- Стек компонентів вбудованих систем на базі Linux.
- Модулі ядра Linux.
- Конфігурація системи та процес завантаження ОС.
- Зв'язок між простором ядра та простором користувача.
- Налагодження та профілювання системи.
Уміння
- Вибору між різними програмними засобами для розробки вбудованих систем Linux.
- Можливість оцінити результати впровадження (наприклад, швидкість, вартість, потужність) і співвіднести їх з відповідною системою.
Результати навчання
- Можливість використовувати стандартні промислові інструменти для конфігурації та побудови стека вбудованих систем Linux.
- Можливість розробки модулів ядра для периферійних пристроїв клієнтів.
- Можливість налагодження та профілювання вбудованих систем Linux за допомогою галузевих стандартних програмних засобів.
2. Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)
Інформатика. Частина 1. Програмування та алгоритми.
Інформатика. Частина 2. Основи обчислювальної техніки та цифрові пристрої.
3. Зміст навчальної дисципліни
Тема 1. Проблеми створення складних вбудованих систем реального часу.
Тема 2. Вступ до Linux і вбудованих систем. Стек компонентів вбудованих систем на базі Linux
Тема 3. Архітектура ОС на базі Linux
Тема 4. Конфігурація та процес збірки ОС.
Тема 5. Модулів ядра ОС Linux
Тема 6. Зв'язок між ядром і простором користувача.
Тема 7. Створення модуля сенсора вимірювання дальності.
Тема 8. Налаштування системи ладнання та профілювання.
4. Навчальні матеріали та ресурси
Допоміжна література:
- Operating Systems Foundations with Linux on the Raspberry Pi / Wim Vanderbauwhede, Jeremy Singer; Arm Education Media . - 2019. - 344 p. - Режим досупу: https://armkeil.blob.core.windows.net/developer/Files/pdf/ebook/arm-operating-systems-foundations-with-linux-on-the-raspberry-pi.pdf
- Operating Systems Foundations with Linux on the Raspberry Pi: Textbook. - Режим досупу: http://www.dcs.gla.ac.uk/operating-system-foundations/
- Writing a "bare metal" operating system for Raspberry Pi 4 / Adam Greenwood-Byrne. - 2022. - Режим доступу: https://github.com/isometimes/rpi4-osdev
- Embedded Linux Education Kit. - Режим доступу: https://github.com/arm-university/Embedded-Linux-Education-Kit
- Real-Time Embedded Systems. Design Principles and Engineering Practices / Xiaocong Fan. - Elsevier Inc, 2015 - 654 p.
- Mastering Embedded Linux Programming. Second Edition. Unleash the full potential of Embedded Linux / Chris Simmonds. - Packt, 2017. - 694 p.
Інтернерт ресурси:
- Embedded Programming Video Course Teaches RTOS - Режим доступу: https://www.state-machine.com/embedded-programming-video-course-teaches-rtos
- Modern Embedded Systems Programming Course. Режим доступу: https://www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM
- Development of Real-Time Systems. Режим доступу: https://www.coursera.org/lecture/real-time-systems
- Introduction to Real Time Operating Systems (RTOS) on ESP32. - Режим доступу: https://github.com/ShawnHymel/introduction-to-rtos
-
FreeRTOS User Guide. - Режим доступу: https://docs.aws.amazon.com/freertos/latest/userguide/what-is-freertos.html
Навчальний контент
5. Методика опанування навчальної дисципліни (освітнього компонента)
Лекційні заняття
|
№ з/п
|
Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
|
|
1
|
Тема 1. Проблеми створення складних вбудованих систем реального часу.
- побудова ПЗ з підтримкою виконання великої кількості задач;
- проблема рівномірного розподілу обчислювальних ресурсів процесора для різних задач;
- створення диспетчера задач;
- особливості використання стеку операційною системою;
Література:
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 198 – 211, 310 – 329
Завдання на СРС:
Придумати простий варіант реалізації диспетчера задач для мікроконтролера.
|
|
2
|
Тема 2. Вступ до Linux і вбудованих систем. Стек компонентів вбудованих систем на базі Linux
- Загрузчик
- Ядро ОС
- Корньова файлова система
- Дерево пристроїв
- Системні програми
- Прикладне програмне забезпечення
Література:
- Mastering Embedded Linux Programming. Second Edition. Unleash the full potential of Embedded Linux / Chris Simmonds. - Packt, 2017. - 694 p.
- Operating Systems Foundations with Linux on the Raspberry Pi. pp. 29 – 51.
Завдання на СРС:
- Зясувати різницю між OS Linux та RTOS.
|
|
3
|
Тема 3: «Архітектура ОС на базі Linux»
- The Linux Kernel internals
- Device tree
- System programs and BusyBox
Література:
- Cortex-M0 Technical Reference Manual, Chapter 3
- Cortex-M0 Devices Generic User Guide, pp. 2-12 – 2-18
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 130 – 144, 145 – 182
Завдання на СРС:
- Визначення та конфігурація адреси стеку та програми ініціалізації мікроконтролера;
|
|
4
|
Тема: «Особливості створення програмного забезпечення для вбудовуваних систем»
- ініціалізація мікроконтролера;
- опитування периферійних пристроїв у циклі;
- робота за перериваннями;
- процес розробки програмного забезпечення;
- порівняння програмування на мові асемблер та С;
- типи даних та доступ до периферійних пристроїв на С;
- стандарт CMSIS;
Література:
- James A. Professional Embedded ARM Development, pp. 52 - 71
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 51 - 79
Завдання на СРС:
- Законспектувати положення стандарту CMSIS.
|
|
5
|
Тема: «Набір інструкцій асемблера ARM та Thumb »
- команди переміщення даних;
- команди доступу до пам’яті;
- команди роботи зі стеком;
- команди арифметичних операцій;
- команди логічних операцій;
- команди зсуву та ротації;
Література:
- Cortex-M0 Devices Generic User Guide, Chapter 3
- James A. Professional Embedded ARM Development, pp. 121 - 132
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 80 - 129
Завдання на СРС:
- Привести приклади програм до кожної інструкції.
|
|
6
|
Тема: «Набір інструкцій асемблера ARM та Thumb»
- команди безумовного та умовного переходу;
- команди порівняння;
- команди групового трансферу даних;
- інші інструкції.
Література:
- Cortex-M0 Devices Generic User Guide, Chapter 3
- James A. Professional Embedded ARM Development, pp. 132 - 143
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 80 - 129
Завдання на СРС:
- Привести приклади програм до кожної інструкції.
|
|
7
|
Тема: «Апаратна підтримка операційних систем»
- побудова ПЗ з підтримкою виконання великої кількості задач
- таймер SysTick, регістри налаштувань;
- особливості використання стеку операційною системою;
- обробка виключень SVC, PendSV;
- OC Keil RTX Kerner.
Література:
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 183 – 197, 331 – 357
Завдання на СРС:
- Привести приклади програм обробки виключень SVC, PendSV.
|
|
8
|
Тема: «Енергозберігаючі режими мікроконтролера Cortex-M0»
- енергозберігаючі режими;
- інструкції WFE та WFI;
- конфігурація регістрів ;
- особливості розробки пристроїв з низьким рівнем енергоспоживання;
Література:
- Yiu J. The Definitive Guide to the ARM Cortex-M0, pp. 198 – 211, 310 – 329
Завдання на СРС:
- Привести приклади програм налаштування енергозберігаючих режимів.
|
|
9
|
Тема: «Особливості створення оптимізованого ПЗ на мові С»
- правила яких слід дотримуватись у разі напимання оптимального коду;
- варіанти застосування профайлингу (автоматичного визначення параметрів швидкодії та ефективності ПЗ) ;
- частота оновлення даних у пам’яті, їх розміщення та швидкість доступу;
- особливості визначення параметрів функцій, вказівників, лічильників у циклах та ресурсоємність різних арифметичних операцій
Література:
- James A. Professional Embedded ARM Development, pp. 175 - 190.
|
6. Самостійна робота здобувача
...
Політика та контроль
7. Політика навчальної дисципліни (освітнього компонента)
Правила відвідування занять (як лекцій, так і практичних/лабораторних)
Обов'язковими до відвудування та виконання є лабораторні роботи. У разі пропуску цих занять, їх слід відпрацьовувати під час консультацій, або з іншими групами. у разі пропуску лекцій, слід проходити і здавати тести по матеріалам пропущеного заняття. Матеріали лекцій та відео розміщуються на LMS.
Захист лабораторних робіт
Лабораторні роботи захищаються у день виконання лабораторної роботи. Студент отримує дві оцінки. Перша за активність та ініціативність під час виконання лабораторної роботи та індивідуального занняття. Друга за захист та відповідь на контрольні запитання.
Захист індивідуальних завдань
В межах самостійної роботи студенти виконують завдання по матеріалам лекцій. За результатами перевірки слухачі курсу отримують коментарі від викладача та оцінку. Індивідуальні завдання не перездаються.
Заохочувальні та штрафних балів та політика щодо академічної доброчесності
Найбільш активні студенти та студенти, які виконують окремі завдання зразково можуть отримати до 10 балів до семестрового рейтингу.
Штрафні бали застосовуються у разі видавання чужої роботи за свою з обов'язковим подапльшим її переопрацюванням.
Політика дедлайнів та перескладань
У разі пропуску кінцевих термінів здачі завдань для слухачів курсу зменшується максильний бал по завданням на 10 %.
8. Види контролю та рейтингова система оцінювання результатів навчання (РСО)
Рейтингова система оцінювання результатів навчання
- Лекції - 18 год; (30 %, тести протягом семестру)
- Лабораторні роботи - 36 год; (40%, 8 лаб, виконання інд. завд.)
- ДКР (захист 30 балів, проект)
Таблиця відповідності рейтингових балів оцінкам за університетською шкалою
| Кількість балів | Оцінка |
| 100-95 | Відмінно |
| 94-85 | Дуже добре |
| 84-75 | Добре |
| 74-65 | Задовільно |
| 64-60 | Достатньо |
| Менше 60 | Незадовільно |
| Не виконані умови допуску | Не допущено |
9. Додаткова інформація з дисципліни (освітнього компонента)
...
Опис матеріально-технічного та інформаційного забезпечення дисципліни
12 макетів Nuvoton Learning Board з ARM Cortex M0
12 макетів Raspberry Pi 4 з ARM Cortex A53
Під час навчання в дистанційному та змішаному режимах, особлива увага приділяється засобам та методам симуляції розроблюваних застосунків для вбудовуваних систем без використання плат та макетів розробника.
Робочу програму навчальної дисципліни (силабус):
Складено
Мосійчук В. С.;
Ухвалено кафедрою ПРЕ (протокол № 6 від 2022-06-30 )
Погоджено методичною комісією факультету/ННІ (протокол № ______ від ______)