Uniwersytet Mikołaja Kopernika w Toruniu - Centralny punkt logowania
Strona główna

Programowanie systemów wbudowanych

Informacje ogólne

Kod przedmiotu: 0800-AR2SWBUD
Kod Erasmus / ISCED: (brak danych) / (0613) Tworzenie i analiza oprogramowania i aplikacji Kod ISCED - Międzynarodowa Standardowa Klasyfikacja Kształcenia (International Standard Classification of Education) została opracowana przez UNESCO.
Nazwa przedmiotu: Programowanie systemów wbudowanych
Jednostka: Wydział Fizyki, Astronomii i Informatyki Stosowanej
Grupy: Przedmioty specjalistyczne I
Punkty ECTS i inne: 5.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Wymagania wstępne:

W celu przyswojenia treści zajęć wymagane jest podstawowa wiedza dotycząca mikroprocesorów i techniki mikroprocesorowej, podstaw programowania (ANSI C).

Całkowity nakład pracy studenta:

Całkowity nakład pracy studenta:

Godziny realizowane z udziałem nauczycieli ( 65 godz.):

- udział w wykładach - 15

- udział w laboratoriach – 45

- konsultacje z nauczycielem akademickim- 5


Czas poświęcony na pracę indywidualną studenta ( 75 godz.):

- przygotowanie do wykładu - 10

- przygotowanie do laboratoriów – 25

- czytanie literatury - 10

- przygotowanie do egzaminu - 10

- czas poświęcony na projekt zaliczeniowy laboratorium - 20


Razem: 140 h (5 ECTS)


Efekty uczenia się - wiedza:

W1: Ma wiedzę z programowania systemów wbudowanych (zna metody, techniki, narzędzia i bazę elementową do rozwiązywania zadań inżynierskich). Zna specyfikę programowania w języku C dla mikrokontrolerów Posiada rozszerzoną wiedzę w zakresie zaawansowanej konstrukcji i analizy algorytmów, metod optymalizacji dla systemów wbudowanych – K_W02, K_W03, K_W05, K_W06, K_W13


W2: Zna podstawowe klasy sprzętu stosowanego w systemach wbudowanych - K_W12


W3: Umie programować systemy wbudowane z uwzględnieniem pozatechnicznych uwarunkowań działalności inżynierskiej (aspekty społeczne, ekonomiczne i prawne) – K_W09

Efekty uczenia się - umiejętności:

U1: Wykorzystuje dokumentację systemów wbudowanych do uzyskania wiedzy niezbędnej do samodzielnej realizacji postawionych zadań – K_U01, K_U16


U2: Programuje układy wbudowane z wykorzystaniem specjalistycznego oprogramowania. Umie wykorzystać opracowany algorytm działania systemu wbudowanego i przetwarzać je na kod programu wykonawczego, który umie optymalizować - K_U02, K_U03, K_U05


U3: Potrafi sporządzić dokumentację opracowanego systemu wbudowanego - K_U07


U4: Potrafi przy realizacji projektów systemów wbudowanych: dostrzegać aspekty systemowe i pozatechniczne, dokonać wstępnej analizy ekonomicznej, umie komunikować się na tematy specjalistyczne ze zróżnicowanymi kręgami odbiorców, współdziałać z innymi osobami w ramach prac zespołowych, umie samodzielnie planować i realizować własne uczenie się przez całe życie i ukierunkowywać innych w tym zakresie - K_U13, K_U14, K_U15, K_U17, K_U18.

Efekty uczenia się - kompetencje społeczne:

K1: Pozsiada umiejętność rozwiązywania problemów, których rozwiązanie prowadzi do realizacji postawionego zadania. Zna ograniczenia własnej wiedzy i umiejętności z zakresu wiedzy dotyczącej układów programowania – wie jak ją rozszerzyć (np. zasięgnąć opinii ekspertów w przypadku trudności z samodzielnym rozwiązaniem problemu programowania systemów wbudowanych.) - K_K01.


K2: Posiada kompetencje w zakresie twórczego udziału w projektach zespołowych (w tym roli lidera) oraz ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczących zagadnień programowania systemów wbudowanych - K_K02, K_K03.

Metody dydaktyczne eksponujące:

- pokaz
- wystawa

Metody dydaktyczne podające:

- opis
- wykład informacyjny (konwencjonalny)
- wykład problemowy

Metody dydaktyczne poszukujące:

- laboratoryjna
- projektu

Skrócony opis:

Wykład i pracownia poświęcone systemom wbudowanym i systemom czasu rzeczywistego przeznaczonych dla systemów wbudowanych.

Pełny opis:

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

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/

Metody i 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”

Zajęcia w cyklu "Semestr letni 2021/22" (zakończony)

Okres: 2022-02-21 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 45 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Marcin Paprocki
Prowadzący grup: Marcin Paprocki
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin

Zajęcia w cyklu "Semestr letni 2023/24" (w trakcie)

Okres: 2024-02-20 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 45 godzin więcej informacji
Wykład, 15 godzin więcej informacji
Koordynatorzy: Leszek Wydźgowski
Prowadzący grup: Leszek Wydźgowski
Lista studentów: (nie masz dostępu)
Zaliczenie: Przedmiot - Egzamin
Laboratorium - Zaliczenie na ocenę
Wykład - Egzamin
Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.
ul. Jurija Gagarina 11, 87-100 Toruń tel: +48 56 611-40-10 https://usosweb.umk.pl/ kontakt deklaracja dostępności USOSweb 7.0.2.0-1 (2024-03-12)