Subject

Embedded Systems Software

1. Course Title Embedded Systems Software
Software for Embedded Systems
2. Code F23L3W048
3. Study Programme Computer engineering
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 7 / Winter
7. Number of ECTS credits 6
8. Teacher Monika Simjanoska Miseva
9. Prerequisites for enrolling in the course Algorithms and Data Structures or Applied Algorithms and Data Structures
10. Objectives of the course programme (competences) Целта на курсот е да ги оспособи студентите да креираат апликации наменети за микроконтролери како и работа со влез/излез, подетално со СТМ микроконтролерите. Студентите ќе научат да работат со Nucleo развојните плочи, да имплементираат код, да дебагираат и да управуваат со софтверска конфигурација. Исто така студентите ќе научат кога и како се користи оперативен систем во реално време.
11. Course content Lectures:
1. Оперативни системи во реално време (RTOS)
2. FreeRTOS
3. Менаџмент на задачи
4. Алгоритми за распределба
5. Менаџмент на редици
6. Менаџмент на софтверски тајмери
7. Менаџмент на прекини
8. Менаџмент со ресурси
9. Групи на настани
10. Нотификации на задачи
11. Поддршка на развој и дебагирање
12. Менаџмент на меморија

Practical Classes:
1. Nucleo 64 развојна плоча
2. GPIO и HAL
3. Програмирање на сериска порта
4. LCD и keyboard интерфејси
5. ADC, DAC и сензорски интерфејси
6. Тајмери
7. Прекински системи
8. SPI протокол и DAC интерфејс
9. I2C протокол и RTC интерфејс
10. Реле и степер мотори
11. PWM и контрола на DC мотор
12. DMA програмирање
12. Learning methods Предавања со користење на презентации, интерактивни предавања, вежби (користење на опрема и софтверски пакети), тимска работа, пример случаи, поканети гости предавачи, самостојна изработка и одбрана на проектна задача.
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities carried out
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching Internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Muhammad Ali Mazidi, Shujen Chen, Eshragh Ghaemi | STM32 Arm Programming for Embedded Systems | MicroDigitalEd | 2018
2. Brian Amos | Hands-On RTOS with Microcontrollers: Building real-time embedded systems using FreeRTOS, STM32 MCUs, and SEGGER debug tools | Packt | 2020
3. Donald Norris | Programming with STM32: Getting Started with the Nucleo Board and C/C++ | McGraw-Hill Education | 2018
4. Richard Barry | Mastering the FreeRTOS™ Real Time Kernel | Real Time Engineers Ltd. | 2016
22.2. Additional literature
No. Author Title Publisher Year