Programowanie systemów wbudowanych 0800-AR2SWBUD
Celem zajęć jest zaznajomienie uczestników z systemami wbudowanymi (ang. embedded systems). Omówione zostaną standardowe peryferia wykorzystywane w systemach wbudowanych (mikrokontrolerach) oraz zastosowania systemu czasu rzeczywistego na przykładzie FreeRTOS. Ćwiczenia będą realizowane z wykorzystaniem mikrokontrolerów typu ARM-Cortex M opartych na 32-bitowym rdzeniu. W ramach ćwiczeń uruchamiane będą także zewnętrzne urządzenia takie jak: silniki elektryczne, czujniki temperatury, ciśnienia, wilgotności względnej, akcelerometry i żyroskopy.
Plan wykładu (15 godzin):
1) Omówienie rodziny mikroprocesorów ARM – Cortex M.
2) Omówienie układów peryferyjnych (liczniki, przetworniki A/C, porty komunikacyjne).
3) Wprowadzenie do systemów wbudowanych, przykłady zastosowań systemów wbudowanych, klasyfikacja.
4) Systemy czasu rzeczywistego (RTOS) w systemach wbudowanych: wymagania, model budowy systemu, stany, zadania, synchronizacja i komunikacja zadań.
5) System FreeRTOS:
a) Wprowadzenie do systemu FreeRTOS
b) Zadanie (Task):
c) Kolejka (Queue):
d) Obsługa przerwań (Interrupt Management):
e) Zarządzanie zasobami mikrokontrolera w systemie FreeRTOS:
f) Zarządzanie pamięcią w systemie FreeRTOS:
g) Debugowanie programów z wykorzystaniem systemu FreeRTOS
Laboratorium (45 godzin):
W ramach laboratorium realizowany będzie projekt urządzenia mikroprocesorowego w ramach, którego uczestnicy będą poznawali następujące zagadnienia:
1) Środowisko programistyczne (IDE):
a) Zakładanie nowego projektu.
b) Kompilacja.
c) Narzędzia służące do znajdowania błędów (debugger).
d) Dodatkowe narzędzia programistyczne (online viewer).
2) Przykłady obsługi podstawowych peryferii mikrokontrolera:
a) GPIO (obsługa przycisku monostabilnego, diody LED),
b) ADC (pomiar napięcia),
c) UART (port szeregowy – komunikacja z komputerem),
9) Konfiguracja systemy czasu rzeczywistego FreeRTOS.
10) Przykłady użycia struktur systemu FreeRTOS:
a) Zadania (Tasks):
- Tworzenie zadań
- Priorytety zadań
- Stany zadań
- Usuwanie zadań
- Dyspozytor zadań (Scheduler)
b) Kolejki (Queues):
- Tworzenie kolejki
- Praktyczne wykorzystanie kolejki
c) Obsługa przerwań (Interrupt Management):
- Pojęcie semafora (Semaphor)
- Zliczanie semaforów (CountingSemaphores)
- Kolejkowanie wraz z układem zarządzania przerwań (Interrupt Service Routine)
- Przerwania zagnieżdżone (InterruptNesting)
d) Zarządzanie zasobami mikrokontrolera w systemie FreeRTOS:
- Sekcje krytyczne programu (Critical Sections)
- Pojęcie wzajemnego wykluczania (Mutexes)
e) Zarządzanie pamięcią w systemie FreeRTOS:
- Stos programowy (Stack) w systemie FreeRTOS
f) Debugowanie programów z wykorzystaniem systemu FreeRTOS
Całkowity nakład pracy studenta
Efekty uczenia się - wiedza
Efekty uczenia się - umiejętności
Efekty uczenia się - kompetencje społeczne
Metody dydaktyczne eksponujące
- pokaz
Metody dydaktyczne podające
- opis
- wykład problemowy
Metody dydaktyczne poszukujące
- laboratoryjna
Wymagania wstępne
Koordynatorzy przedmiotu
W cyklu 2023/24L: | W cyklu 2025/26L: |
Kryteria oceniania
Metody oceniania:
Egzamin – W1, W2, W3
Projekt zaliczeniowy z laboratorium – U1, U2, U3, U4, K1, K2
Kryteria oceniania:
Wykład: Zaliczenie na ocenę na podstawie pisemnego testu zaliczeniowego obejmującego wiedzę przekazaną na wykładzie. Pytania w formie otwartej (omówienie danego zagadnienia), oraz zamkniętej (wielokrotnego wyboru).
Ocena w zależności od procentowej liczby uzyskanych punktów z testu:
ndst – poniżej 50%
50% <= dst < 60%
65% <= dst plus < 70%
70% <= db < 80%
80% <= db plus < 90%
bdb >= 90%
Laboratorium:
Zaliczenie na ocenę na podstawie projektu opracowania i oprogramowania systemu wbudowanego. Projekt realizowany w grupach wieloosobowych. Ocena pracy zespołu uzależniona jest od sprawności w realizacji zadania, efektu końcowego zrealizowanego projektu.
Praktyki zawodowe
„nie dotyczy”
Literatura
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. Dokumentacja systemu FreeRTOS: https://www.freertos.org/
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: