Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania

Sylabus przedmiotu Systemy wbudowane:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia stacjonarne Poziom pierwszego stopnia
Tytuł zawodowy absolwenta inżynier
Obszary studiów charakterystyki PRK, kompetencje inżynierskie PRK
Profil ogólnoakademicki
Moduł
Przedmiot Systemy wbudowane
Specjalność Inżynieria komputerowa
Jednostka prowadząca Katedra Architektury Komputerów i Telekomunikacji
Nauczyciel odpowiedzialny Mirosław Łazoryszczak <Miroslaw.Lazoryszczak@zut.edu.pl>
Inni nauczyciele Marek Jaskuła <Marek.Jaskula@zut.edu.pl>, Radosław Maciaszczyk <Radoslaw.Maciaszczyk@zut.edu.pl>, Krzysztof Makles <Krzysztof.Makles@zut.edu.pl>
ECTS (planowane) 4,0 ECTS (formy) 4,0
Forma zaliczenia zaliczenie Język polski
Blok obieralny 4 Grupa obieralna 1

Formy dydaktyczne

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
wykładyW6 30 2,00,50zaliczenie
laboratoriaL6 30 2,00,50zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Programowanie 1
W-2Technika mikroprocesorowa

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Zapoznanie się obsługą i programowaniem systemów wbudowanych z poziomu systemu operacyjnego.
C-2Opanowanie podstawowej umiejętności programowania platform wbudowanych z na poziomie systememu operacyjnego

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Konfiguracja środowiska projektowego w kontekście systemu FreeRTOS.2
T-L-2Obsługa portów we/wy z poziomu systemu FreeRTOS.2
T-L-3Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.2
T-L-4Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).4
T-L-5Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji.2
T-L-6Wykorzystanie funkcji systemowych w obsłudze przerwań.2
T-L-7Środowisko i narzędzia tworzenia oprogramowania w systemie Linux embedded.2
T-L-8Obsługa systemu plików i współpraca z urządzeniami zewnętrznymi.2
T-L-9Zasada działania, analiza i monitorowanie magistrali CAN. Przykładowe rozwiązanie komunikacji między urządzeniami z wykorzystaniem magistrali CAN.4
T-L-10Realizacja wybranych aplikacji i projektów własnych: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.6
T-L-11Zaliczenie przedmiotu.2
30
wykłady
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje.2
T-W-2Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.2
T-W-3Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań).2
T-W-4Kolejki i zarządzenie. Semafory i mutexy.2
T-W-5Grupy zdarzeń i timer programowy.2
T-W-6Zadania, komunikacja między zadaniami, obsługa przerwań.2
T-W-7Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych.2
T-W-8Moduły jądra systemu i ich kontekst. Konfiguracja i kompilacja jądra systemu. Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostępniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.4
T-W-9System bazowy i uruchamianie systemu.2
T-W-10Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.2
T-W-11Magistrala CAN i przykłady jej zastosowania.2
T-W-12Elementy Internetu rzeczy (IoT). Protokół MQTT. Integracja systemów wbudowanych z chmurami obliczeniowymi. Przykłady wykorzystania systemów wbudowanych np. w branży motoryzacyjnej (rodzaje systemów, standardy, wymagania itp.).4
T-W-13Zaliczenie przedmiotu.2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć.20
50
wykłady
A-W-1Uczestnictwo w zajęciach30
A-W-2Przygotowanie do zaliczenia.18
A-W-3Udział w konsultacjach.2
50

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny
M-2Ćwiczenia laboratoryjne z elementami projektu

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Ocena uzyskanej wiedzy na podstawie zaliczenia wykładu.
S-2Ocena formująca: Bieżąca ocena realizacji zadań i projektów studentów podczas zajęć laboratoryjnych.
S-3Ocena podsumowująca: Ocena ogólnego poziomu realizacji zadań laboratoryjnych.

Zamierzone efekty uczenia się - wiedza

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D01.06.1_W01
Student posiada wiedzę na temat programowania układów mikroprocesorowych wraz z urządzeniami peryferyjnymi w autonomicznym systemach komputerowych na poziomie systemu operacyjnego.
I_1A_W04, I_1A_W10C-1T-W-2, T-W-3, T-W-4, T-W-5, T-W-6, T-W-10, T-W-9, T-W-1, T-W-7, T-W-8M-1S-1

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_D01.06.1_U01
Student potrafi programować wybrane układy mikroprocesorowe wraz z urządzeniami peryferyjnymi w autonomicznych systemach komputerowych na poziomie systemu operacyjnego.
I_1A_U04, I_1A_U09, I_1A_U10C-2T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-8, T-L-7, T-L-10M-2S-2, S-3

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_D01.06.1_W01
Student posiada wiedzę na temat programowania układów mikroprocesorowych wraz z urządzeniami peryferyjnymi w autonomicznym systemach komputerowych na poziomie systemu operacyjnego.
2,0
3,0Student zna podstawowe pojęcia związane z systemami wbudowanymi w kontekście powiązania architektury mikroprocesorów z systemem operacyjnym. Zna podstawowe rozwiązania komunikacji pomiędzy mikroprocesorami w systemach wbudowanych.
3,5Jak na ocenę 3,0 i dodatkowo zna pojęcia i procesy związane z jądrem systemu i jego kontekstem.
4,0Jak na ocenę 3,5 i dodatkowo zna metody komunikacji pomiędzy jądrem systemu i warstwą użytkownika.
4,5Jak na ocenę 4,0 i dodatkowo zna zagadnienie budowy sterowników urządzeń.
5,0Jak na ocenę 4,5 i dodatkowo biegle porusza się w zagadnieniach zależności i komunikacji między warstwą sprzętową a warstwą aplikacji.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_1A_D01.06.1_U01
Student potrafi programować wybrane układy mikroprocesorowe wraz z urządzeniami peryferyjnymi w autonomicznych systemach komputerowych na poziomie systemu operacyjnego.
2,0
3,0Student potrafi zrealizować podstawowe zadania systemu wbudowanego z wykorzystaniem wybranego systemu operacyjnego.
3,5Jak na ocenę 3,0 i dodatkowo potrafi świadomie wykorzystać podstawowe elementy i funkcje systemu operacyjnego do realizacji wybranego zadania praktycznego.
4,0Jak na ocenę 3,5 i dodatkowo potrafi wykorzystać wybrane elementy i funkcje systemu operacyjnego do realizacji wybranego zadania praktycznego.
4,5Jak na ocenę 4,0 i dodatkowo potrafi dobrać właściwe elementy i funkcje systemu operacyjnego niezbędne do realizacji wybranego zadania praktycznego.
5,0Jak na ocenę 4,5 i dodatkowo potrafi biegle realizować postawione zadania z wykorzystaniem systemu operacyjnego.

Literatura podstawowa

  1. Marcin Bis, Linux w systemach embedded, BTC, Legionowo, 2011
  2. P. Raghavan et al., Embedded Linux system design and development, Taylor & Francis Group, 2006
  3. Marilyn Wolf, High-Performance Embedded Computing, Elsevier, 2014
  4. Robert Oshana, Mark Kraeling, Software Engineering for Embedded Systems Methods, Practical Techniques, and Applications, 2013, Elsevier
  5. Ibrahim D., ARM-based microcontroller multitasking projects. Using the FreeRTOS multitasking kernel, Elsevier, 2020

Literatura dodatkowa

  1. Roman Ulan, Wzorce silników zdarzeń, dostępne online, 2011, http://bottega.com.pl/artykuly-i-prezentacje#cpp
  2. Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, Linux Device Drivers, O'Reilly, 2005

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Konfiguracja środowiska projektowego w kontekście systemu FreeRTOS.2
T-L-2Obsługa portów we/wy z poziomu systemu FreeRTOS.2
T-L-3Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.2
T-L-4Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).4
T-L-5Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji.2
T-L-6Wykorzystanie funkcji systemowych w obsłudze przerwań.2
T-L-7Środowisko i narzędzia tworzenia oprogramowania w systemie Linux embedded.2
T-L-8Obsługa systemu plików i współpraca z urządzeniami zewnętrznymi.2
T-L-9Zasada działania, analiza i monitorowanie magistrali CAN. Przykładowe rozwiązanie komunikacji między urządzeniami z wykorzystaniem magistrali CAN.4
T-L-10Realizacja wybranych aplikacji i projektów własnych: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.6
T-L-11Zaliczenie przedmiotu.2
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje.2
T-W-2Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.2
T-W-3Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań).2
T-W-4Kolejki i zarządzenie. Semafory i mutexy.2
T-W-5Grupy zdarzeń i timer programowy.2
T-W-6Zadania, komunikacja między zadaniami, obsługa przerwań.2
T-W-7Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych.2
T-W-8Moduły jądra systemu i ich kontekst. Konfiguracja i kompilacja jądra systemu. Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostępniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.4
T-W-9System bazowy i uruchamianie systemu.2
T-W-10Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.2
T-W-11Magistrala CAN i przykłady jej zastosowania.2
T-W-12Elementy Internetu rzeczy (IoT). Protokół MQTT. Integracja systemów wbudowanych z chmurami obliczeniowymi. Przykłady wykorzystania systemów wbudowanych np. w branży motoryzacyjnej (rodzaje systemów, standardy, wymagania itp.).4
T-W-13Zaliczenie przedmiotu.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach30
A-L-2Przygotowanie do zajęć.20
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach30
A-W-2Przygotowanie do zaliczenia.18
A-W-3Udział w konsultacjach.2
50
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D01.06.1_W01Student posiada wiedzę na temat programowania układów mikroprocesorowych wraz z urządzeniami peryferyjnymi w autonomicznym systemach komputerowych na poziomie systemu operacyjnego.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W04Ma wiedzę w zakresie programowania systemów komputerowych, zna podstawowe paradygmaty programowania i wiodące języki programowania.
I_1A_W10Posiada uporządkowaną i pogłębioną wiedzę z zakresu architektury systemów komputerowych, uwzględniającą współczesne kierunki rozwoju sprzętu komputerowego.
Cel przedmiotuC-1Zapoznanie się obsługą i programowaniem systemów wbudowanych z poziomu systemu operacyjnego.
Treści programoweT-W-2Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.
T-W-3Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań).
T-W-4Kolejki i zarządzenie. Semafory i mutexy.
T-W-5Grupy zdarzeń i timer programowy.
T-W-6Zadania, komunikacja między zadaniami, obsługa przerwań.
T-W-10Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.
T-W-9System bazowy i uruchamianie systemu.
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje.
T-W-7Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych.
T-W-8Moduły jądra systemu i ich kontekst. Konfiguracja i kompilacja jądra systemu. Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostępniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.
Metody nauczaniaM-1Wykład informacyjny
Sposób ocenyS-1Ocena podsumowująca: Ocena uzyskanej wiedzy na podstawie zaliczenia wykładu.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student zna podstawowe pojęcia związane z systemami wbudowanymi w kontekście powiązania architektury mikroprocesorów z systemem operacyjnym. Zna podstawowe rozwiązania komunikacji pomiędzy mikroprocesorami w systemach wbudowanych.
3,5Jak na ocenę 3,0 i dodatkowo zna pojęcia i procesy związane z jądrem systemu i jego kontekstem.
4,0Jak na ocenę 3,5 i dodatkowo zna metody komunikacji pomiędzy jądrem systemu i warstwą użytkownika.
4,5Jak na ocenę 4,0 i dodatkowo zna zagadnienie budowy sterowników urządzeń.
5,0Jak na ocenę 4,5 i dodatkowo biegle porusza się w zagadnieniach zależności i komunikacji między warstwą sprzętową a warstwą aplikacji.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_D01.06.1_U01Student potrafi programować wybrane układy mikroprocesorowe wraz z urządzeniami peryferyjnymi w autonomicznych systemach komputerowych na poziomie systemu operacyjnego.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U04Potrafi samodzielnie posługiwać się materiałami źródłowymi w zakresie analizy i syntezy zawartych w nich informacji oraz poddawać je krytycznej ocenie w odniesieniu do problemów informatycznych.
I_1A_U09Potrafi analizować i oceniać przydatność języków, platform programistycznych i narzędzi informatycznych do rozwiązywania wybranych problemów inżynierskich w dziedzinie informatyki.
I_1A_U10Potrafi projektować i implementować systemy informatyczne posługując się narzędziami wspomagającymi proces wytwarzania oprogramowania na różnych jego etapach.
Cel przedmiotuC-2Opanowanie podstawowej umiejętności programowania platform wbudowanych z na poziomie systememu operacyjnego
Treści programoweT-L-1Konfiguracja środowiska projektowego w kontekście systemu FreeRTOS.
T-L-2Obsługa portów we/wy z poziomu systemu FreeRTOS.
T-L-3Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.
T-L-4Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).
T-L-5Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji.
T-L-6Wykorzystanie funkcji systemowych w obsłudze przerwań.
T-L-8Obsługa systemu plików i współpraca z urządzeniami zewnętrznymi.
T-L-7Środowisko i narzędzia tworzenia oprogramowania w systemie Linux embedded.
T-L-10Realizacja wybranych aplikacji i projektów własnych: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.
Metody nauczaniaM-2Ćwiczenia laboratoryjne z elementami projektu
Sposób ocenyS-2Ocena formująca: Bieżąca ocena realizacji zadań i projektów studentów podczas zajęć laboratoryjnych.
S-3Ocena podsumowująca: Ocena ogólnego poziomu realizacji zadań laboratoryjnych.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi zrealizować podstawowe zadania systemu wbudowanego z wykorzystaniem wybranego systemu operacyjnego.
3,5Jak na ocenę 3,0 i dodatkowo potrafi świadomie wykorzystać podstawowe elementy i funkcje systemu operacyjnego do realizacji wybranego zadania praktycznego.
4,0Jak na ocenę 3,5 i dodatkowo potrafi wykorzystać wybrane elementy i funkcje systemu operacyjnego do realizacji wybranego zadania praktycznego.
4,5Jak na ocenę 4,0 i dodatkowo potrafi dobrać właściwe elementy i funkcje systemu operacyjnego niezbędne do realizacji wybranego zadania praktycznego.
5,0Jak na ocenę 4,5 i dodatkowo potrafi biegle realizować postawione zadania z wykorzystaniem systemu operacyjnego.