Embedded systems 0800-AR2SWBUD
The aim of the course is to practically familiarize the participants with embedded systems. These systems are used in industry for control and monitoring of machines and technological processes. Main elements of a real-time operating system used in embedded systems will be presented using FreeRTOS as an example.
Lecture outline (15 godzin):
1) Introduction to embedded systems and real-time operating systems, classification, application examples.
2) C programming in embedded microcontroller systems, software requirements, programming with limited memory resources, access to hardware peripherals
3) Software organization. Event handling, two-plan systems, time driven tasks, event driven tasks, task synchronization
4) Real-time operating systems. Requirements, system structure model, states, tasks, task synchronization and communication, overview of different systems
5) FreeRTOS real-time operating system
Laboratory (45 godzin):
1) Programming environment:
a) System Workbench for STM32
b) STM32CubeMX
2) Real-time operating systems (RTOS) in embedded systems
3) Introduction to FreeRTOS
4) Tasks in FreeRTOS:
a) Task creation
b) Task priority
c) State of task
d) Task removal
e) Task Scheduler
5) Queues in FreeRTOS:
a) Queue creation
b) Practical use of Queues
6) Interrupt Management in FreeRTOS:
a) Semaphore
b) Counting Semaphores
c) Queueing and Interrupt Service Routine
d) Interrupt Nesting
7) Resource management FreeRTOS:
a) program Critical Sections
b) mutexes
8) Memory management in FreeRTOS:
a) FreeRTOS stack
9) Common problems while using FreeRTOS
10) program debugging in FreeRTOS
Total student workload
Learning outcomes - knowledge
Learning outcomes - skills
Learning outcomes - social competencies
Observation/demonstration teaching methods
- display
Expository teaching methods
- description
- problem-based lecture
Exploratory teaching methods
- laboratory
Prerequisites
Course coordinators
Term 2023/24L: | Term 2025/26L: |
Assessment criteria
The course ends with an exam. In order to take the exam a passing mark from the laboratory is mandatory.
Practical placement
none
Bibliography
1. "Mikrokontrolery STM32 dla początkujących", Aleksander Kurczyk, 2019, ISBN: 978-83-64702-16-7, Wydawnictwo BTC, Legionowo,
2. "STM32: aplikacje i ćwiczenia w języku C z biblioteką HAL", Marek Galewski, 2019, ISBN: 978-83-64702-17-4, Wydawnictwo BTC, Legionowo,
3. "Using the FreeRTOS Real Time Kernel - a Practical Guide - Cortex M3 Edition (FreeRTOS Tutorial Books)", Richard Barry, 2010, ISBN-10: 1446170306, ISBN-13: 978-1446170304
4. "STM32. Aplikacje i ćwiczenia w języku C", Marek Galewski, 2011, Wydawnictwo BTC Legionowo, ISBN 978-83-60233-82-5
5. "Mikrokontrolery STM32 w praktyce", Krzysztof Paprocki, 2009, Legionowo, ISBN: 978-83-60233-52-8
6. "Mikrokontrolery STM32 w sieci Ethernet w przykładach", Marcin Peczarski, 2011, Legionowo, ISBN: 978-83-60233-68-9
7. FreeRTOS documentation: https://www.freertos.org/
Additional information
Additional information (registration calendar, class conductors, localization and schedules of classes), might be available in the USOSweb system: