Programowanie systemów wbudowanych
Informacje ogólne
Kod przedmiotu: | 0800-AR2SWBUD |
Kod Erasmus / ISCED: |
(brak danych)
/
(0613) Tworzenie i analiza oprogramowania i aplikacji
|
Nazwa przedmiotu: | Programowanie systemów wbudowanych |
Jednostka: | Wydział Fizyki, Astronomii i Informatyki Stosowanej |
Grupy: |
Przedmioty specjalistyczne I |
Punkty ECTS i inne: |
5.00
|
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 |
Metody dydaktyczne podające: | - opis |
Metody dydaktyczne poszukujące: | - laboratoryjna |
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 |
Przejdź do planu
PN WT ŚR CZ WYK
LAB
PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
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 |
Przejdź do planu
PN WYK
LAB
WT ŚR CZ PT |
Typ zajęć: |
Laboratorium, 45 godzin
Wykład, 15 godzin
|
|
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 |
Właścicielem praw autorskich jest Uniwersytet Mikołaja Kopernika w Toruniu.