Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

Sylabus przedmiotu Systemy wbudowane:

Informacje podstawowe

Kierunek studiów Informatyka
Forma studiów studia niestacjonarne 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
laboratoriaL6 18 2,00,50zaliczenie
wykładyW6 18 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. Obsługa portów we/wy z poziomu systemu FreeRTOS.2
T-L-2Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.2
T-L-3Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).4
T-L-4Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji. Wykorzystanie funkcji systemowych w obsłudze przerwań.2
T-L-5Zasada działania, analiza i monitorowanie magistrali CAN. Przykładowe rozwiązanie komunikacji między urządzeniami z wykorzystaniem magistrali CAN.2
T-L-6Sterowniki sieciowe.2
T-L-7Realizacja wybranych aplikacji i projektów własnych: obsługa dźwięku w systemie Linux, kodowanie i dekodowanie dźwięku.2
T-L-8Realizacja wybranych aplikacji i projektów własnych w systemie Linux embedded: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.4
T-L-9Zaliczenie przedmiotu.2
22
wykłady
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje. Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.2
T-W-2Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań). Kolejki i zarządzenie. Semafory i mutexy.2
T-W-3Grupy zdarzeń i timer programowy. Zadania, komunikacja między zadaniami, obsługa przerwań.2
T-W-4Konfiguracja i kompilacja jądra systemu.2
T-W-5Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych Moduł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-6Magistrala CAN i przykłady jej zastosowania.2
T-W-7Elementy 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.).2
T-W-8Podsumowanie i zaliczenie wykładu2
18

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

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach18
A-L-2Przygotowanie do zajęć.30
A-L-3Udział w konsultacjach.2
50
wykłady
A-W-1Uczestnictwo w zajęciach18
A-W-2Przygotowanie do zaliczenia.30
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_W10, I_1A_W04C-1T-W-4, T-W-1, T-W-2, T-W-3, T-W-6, T-W-7, T-W-5M-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_U09, I_1A_U10, I_1A_U04C-2T-L-1, T-L-2, T-L-3, T-L-6, T-L-4, T-L-5, T-L-7, T-L-8M-2

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. Rozumie i zna zależności w warstwie użytkownika i jej odniesienie do warstwy jądra systemu.
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 wykonać wybrane etapy z dopuszczalnymi uchybieniami.
3,5Jak na ocenę 3,0 i dodatkowo jest świadomy źródeł uchybień i potrafi określić sposoby ich eliminacji.
4,0Jak na ocenę 3,5 przy czym rozwiązania studenta zawierają pojedyncze uchybienia.
4,5Jak na ocenę 4,0 przy czym rozwiązania studenta mogą zawierać drobne błedy nie wpływające znacząco na jakość systemu.
5,0Jak na ocenę 4,5 i dodatkowo student wykorzystuje w praktyce opis architektury systemu na poziomie niezbędnych diagramów modelowania.

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. Obsługa portów we/wy z poziomu systemu FreeRTOS.2
T-L-2Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.2
T-L-3Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).4
T-L-4Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji. Wykorzystanie funkcji systemowych w obsłudze przerwań.2
T-L-5Zasada działania, analiza i monitorowanie magistrali CAN. Przykładowe rozwiązanie komunikacji między urządzeniami z wykorzystaniem magistrali CAN.2
T-L-6Sterowniki sieciowe.2
T-L-7Realizacja wybranych aplikacji i projektów własnych: obsługa dźwięku w systemie Linux, kodowanie i dekodowanie dźwięku.2
T-L-8Realizacja wybranych aplikacji i projektów własnych w systemie Linux embedded: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.4
T-L-9Zaliczenie przedmiotu.2
22

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje. Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.2
T-W-2Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań). Kolejki i zarządzenie. Semafory i mutexy.2
T-W-3Grupy zdarzeń i timer programowy. Zadania, komunikacja między zadaniami, obsługa przerwań.2
T-W-4Konfiguracja i kompilacja jądra systemu.2
T-W-5Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych Moduł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-6Magistrala CAN i przykłady jej zastosowania.2
T-W-7Elementy 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.).2
T-W-8Podsumowanie i zaliczenie wykładu2
18

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach18
A-L-2Przygotowanie do zajęć.30
A-L-3Udział w konsultacjach.2
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ęciach18
A-W-2Przygotowanie do zaliczenia.30
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_W10Posiada uporządkowaną i pogłębioną wiedzę z zakresu architektury systemów komputerowych, uwzględniającą współczesne kierunki rozwoju sprzętu komputerowego.
I_1A_W04Ma wiedzę w zakresie programowania systemów komputerowych, zna podstawowe paradygmaty programowania i wiodące języki programowania.
Cel przedmiotuC-1Zapoznanie się obsługą i programowaniem systemów wbudowanych z poziomu systemu operacyjnego.
Treści programoweT-W-4Konfiguracja i kompilacja jądra systemu.
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, zestawy ewaluacyjne aplikacje. Charakterystyka systemów operacyjnych w systemach wbudowanych ze szczególnym uwzględnieniem FreeRTOS i Linux.
T-W-2Podstawowe elementy systemu FreeRTOS (typy danych, zmienne, funkcje, zadania, funkcje zadań). Kolejki i zarządzenie. Semafory i mutexy.
T-W-3Grupy zdarzeń i timer programowy. Zadania, komunikacja między zadaniami, obsługa przerwań.
T-W-6Magistrala CAN i przykłady jej zastosowania.
T-W-7Elementy 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.).
T-W-5Środowisko cross-kompilacji dla architektur ARM i automatyczne narzędzia budowy kodu w systemach wbudowanych Moduł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
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. Rozumie i zna zależności w warstwie użytkownika i jej odniesienie do warstwy jądra systemu.
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_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.
I_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.
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. Obsługa portów we/wy z poziomu systemu FreeRTOS.
T-L-2Tworzenie, zawieszanie, wznawianie, opóźnianie i usuwanie zadań.
T-L-3Przykład praktyczny z wykorzystaniem funkcji systemu (np. obsługa wyświetlacza, komunikacja i zarządzania zadaniami).
T-L-6Sterowniki sieciowe.
T-L-4Wykorzystanie kolejek, semaforów i muteksów w przykładowej aplikacji. Wykorzystanie funkcji systemowych w obsłudze przerwań.
T-L-5Zasada działania, analiza i monitorowanie magistrali CAN. Przykładowe rozwiązanie komunikacji między urządzeniami z wykorzystaniem magistrali CAN.
T-L-7Realizacja wybranych aplikacji i projektów własnych: obsługa dźwięku w systemie Linux, kodowanie i dekodowanie dźwięku.
T-L-8Realizacja wybranych aplikacji i projektów własnych w systemie Linux embedded: np. obsługa dźwięku, obsługa wyświetlacza, komunikacja, integracja z chmurami obliczeniowymi itp.
Metody nauczaniaM-2Ćwiczenia laboratoryjne z elementami projektu
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student potrafi wykonać wybrane etapy z dopuszczalnymi uchybieniami.
3,5Jak na ocenę 3,0 i dodatkowo jest świadomy źródeł uchybień i potrafi określić sposoby ich eliminacji.
4,0Jak na ocenę 3,5 przy czym rozwiązania studenta zawierają pojedyncze uchybienia.
4,5Jak na ocenę 4,0 przy czym rozwiązania studenta mogą zawierać drobne błedy nie wpływające znacząco na jakość systemu.
5,0Jak na ocenę 4,5 i dodatkowo student wykorzystuje w praktyce opis architektury systemu na poziomie niezbędnych diagramów modelowania.