Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Wydział Informatyki - Informatyka (N1)

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 nauki techniczne, studia inżynierskie
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 18 2,00,50zaliczenie
laboratoriaL6 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-1Instalacja i konfiguracja środowiska projektowego.2
T-L-2Własne jądro systemu: budowa i instalacja na własnej platformie.2
T-L-3Aplikacja, program, proces, wątek, synchronizacja, komunikacja międzyprocesowa i międzykomputerowa. Budowa modułu jądra systemu.2
T-L-4Komunikacja moduł jądra – warstwa użytkownika (netlink).2
T-L-5Budowa kanonicznego sterownika.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: obsługa modułów zewnętrznych z wykorzystaniem magistral SPI. I2C, 1Wire oraz sieci bezprzewodowych.2
T-L-9Podsumowanie i zaliczenie laboratoriów2
18
wykłady
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, aplikacje. Systemy operacyjne w systemach wbudowanych ze szczególnym uwzględnieniem systemu Linux2
T-W-2Środowisko cross-kompilacji dla architektur ARM. Środowiska i automatyczne narzędzia budowy kodu w systemach wbudowanych.2
T-W-3Moduły jądra systemu i ich kontekst2
T-W-4Konfiguracja i kompilacja jądra systemu.2
T-W-5Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostęniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.2
T-W-6System bazowy, ramdysk, urządzenia blokowe, pamięć flash, rozwiązania hybrydowe, sieciowy system plików, narzędzia pomocnicze.2
T-W-7Uruchamianie systemu: bootstrap, SAM-BA, bootloadery, u-boot, optymalizacja czasu uruchamiania systemu.2
T-W-8Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.2
T-W-9Podsumowanie 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 kształcenia - wiedza

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia 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-1, T-W-3, T-W-2, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8M-1S-1

Zamierzone efekty kształcenia - umiejętności

Zamierzone efekty kształceniaOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów kształcenia 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-7, T-L-8M-2S-2, S-3

Kryterium oceny - wiedza

Efekt kształceniaOcenaKryterium 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 kształceniaOcenaKryterium 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

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-1Instalacja i konfiguracja środowiska projektowego.2
T-L-2Własne jądro systemu: budowa i instalacja na własnej platformie.2
T-L-3Aplikacja, program, proces, wątek, synchronizacja, komunikacja międzyprocesowa i międzykomputerowa. Budowa modułu jądra systemu.2
T-L-4Komunikacja moduł jądra – warstwa użytkownika (netlink).2
T-L-5Budowa kanonicznego sterownika.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: obsługa modułów zewnętrznych z wykorzystaniem magistral SPI. I2C, 1Wire oraz sieci bezprzewodowych.2
T-L-9Podsumowanie i zaliczenie laboratoriów2
18

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, aplikacje. Systemy operacyjne w systemach wbudowanych ze szczególnym uwzględnieniem systemu Linux2
T-W-2Środowisko cross-kompilacji dla architektur ARM. Środowiska i automatyczne narzędzia budowy kodu w systemach wbudowanych.2
T-W-3Moduły jądra systemu i ich kontekst2
T-W-4Konfiguracja i kompilacja jądra systemu.2
T-W-5Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostęniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.2
T-W-6System bazowy, ramdysk, urządzenia blokowe, pamięć flash, rozwiązania hybrydowe, sieciowy system plików, narzędzia pomocnicze.2
T-W-7Uruchamianie systemu: bootstrap, SAM-BA, bootloadery, u-boot, optymalizacja czasu uruchamiania systemu.2
T-W-8Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.2
T-W-9Podsumowanie 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 kształceniaI_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-1Systemy wbudowane - zakres przedmiotu, pojęcia, kontekst, narzędzia, aplikacje. Systemy operacyjne w systemach wbudowanych ze szczególnym uwzględnieniem systemu Linux
T-W-3Moduły jądra systemu i ich kontekst
T-W-2Środowisko cross-kompilacji dla architektur ARM. Środowiska i automatyczne narzędzia budowy kodu w systemach wbudowanych.
T-W-4Konfiguracja i kompilacja jądra systemu.
T-W-5Programowanie w jądrze. Własne moduły jądra. Synchronizacja jądra. Obsługa przerwań. Funkcje udostęniane przez moduły. Parametry konfiguracyjne. Obsługa systemu plików. Sterowniki urządzeń.
T-W-6System bazowy, ramdysk, urządzenia blokowe, pamięć flash, rozwiązania hybrydowe, sieciowy system plików, narzędzia pomocnicze.
T-W-7Uruchamianie systemu: bootstrap, SAM-BA, bootloadery, u-boot, optymalizacja czasu uruchamiania systemu.
T-W-8Diagnostyka: sprzętowe narzędzia debugowania, debugowanie aplikacji, śledzenie procesów, debugowanie jądra.
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. 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 kształceniaI_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-1Instalacja i konfiguracja środowiska projektowego.
T-L-2Własne jądro systemu: budowa i instalacja na własnej platformie.
T-L-3Aplikacja, program, proces, wątek, synchronizacja, komunikacja międzyprocesowa i międzykomputerowa. Budowa modułu jądra systemu.
T-L-4Komunikacja moduł jądra – warstwa użytkownika (netlink).
T-L-5Budowa kanonicznego sterownika.
T-L-6Sterowniki sieciowe.
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: obsługa modułów zewnętrznych z wykorzystaniem magistral SPI. I2C, 1Wire oraz sieci bezprzewodowych.
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 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.