Programowanie Systemów Czasu Rzeczywistego Plik

Transkrypt

Programowanie Systemów Czasu Rzeczywistego Plik
(pieczęć wydziału)
KARTA PRZEDMIOTU
1. Nazwa przedmiotu: PROGRAMOWANIE SYSTEMÓW
2. Kod przedmiotu:
CZASU RZECZYWISTEGO
3. Karta przedmiotu ważna od roku akademickiego: 2012/2013
4. Forma kształcenia: studia drugiego stopnia
5. Forma studiów: studia stacjonarne
6. Kierunek studiów: AUTOMATYKA I ROBOTYKA; WYDZIAŁ AEiI
7. Profil studiów: ogólnoakademicki
8. Specjalność: ROBOTYKA
9. Semestr: 2
10. Jednostka prowadząca przedmiot: Instytut Automatyki, RAu1
11. Prowadzący przedmiot: dr inż. Aleksander Staszulonek
12. Przynależność do grupy przedmiotów:
przedmioty specjalizacyjne
13. Status przedmiotu: obowiązkowy
14. Język prowadzenia zajęć: polski
15. Przedmioty wprowadzające oraz wymagania wstępne: Programowanie w jezyku asemblera,
programowanie w języku C++, Programowanie obiektowe, Systemy mikroprocesorowe, Podstawy automatyki,
Systemy operacyjne, znajomość trybów adresacji, umiejętność programowania systemów mikrokomputerowych na
poziomie dostępu do rejestrów, znajomość zaawansowanych technik programowania przy użyciu wskaźników i
struktur, umiejętność programowania wielozadaniowego i wielowątkowego.
16. Cel przedmiotu: Celem przedmiotu jest przedstawienie studentom zasad projektowania oprogramowania
systemów mikrokomputerowych przeznaczonych do zastosowań w systemach automatyki czasu rzeczywistego. W
czasie wykładu kolejno prezentowane są zagadnienia programowania elementów i systemów funkcjonalnych
systemów mikrokomputerowych. Omawiane są wybrane elementy systemów operacyjnych czasu rzeczywistego
oraz metody tworzenia oprogramowania przy użyciu tych systemów. Wraz z omawianymi elementami
programowania prezentowane są przykłady ich rzeczywistych zastosowań
17. Efekty kształcenia:
Nr
W1
W2
W3
W4
U1
U2
U3
Opis efektu kształcenia
Zna budowę i cechy charakterystyczne systemów
operacyjnych czasu rzeczywistego.
Zna zasady tworzenia sterowników elementów systemów
mikrokomputerowych.
Ma wiedzę o funkcjach zarządzania czasem w systemach
czasu rzeczywistego.
Zna elementy zaawansowanego programowania systemów
wbudowanych w języku C – operacje na rejestrach,
inicjalizacja urządzeń, wskaźniki, struktury, unie.
Potrafi programowanć procedury obsugi przerwań w
systemach czasu rzeczywistego oraz dynamicznie
podmieniać procedury obsugi przerwań.
Posiada umiejętności programowania obsługi wejść i wyjść
analogowych w systemach czasu rzeczywistego.
Potrafi oprogramować podstawowe elementy systemowe
jak bootloader, programator pamięci flash.
Metoda
sprawdzenia
efektu
kształcenia
Forma
Odniesienie
prowadzenia do efektów
zajęć
dla kierunku
studiów
SP
WM, L
K_W7/3
SP
WM, L
SP
WM, L
K_W9/3;
W18/3
K_W7/3
SP
WM, L
K_W3/3
CL, OP/OS,
WM, L
K_U23/3;
U10/1
CL, OP/OS,
WM, L
K_U23/3
CL, OP/OS,
WM, L
K_U23/3
K1
K2
Potrafi samodzielnie podejmować decyzje dotyczące
wyboru najlepszych rozwiązań oprogramowania systemów
komputerowych w automatyce przemysłowej i
telekomunikacji
Potrafi zaprezentować i obronić zaproponowane
rozwiązanie konstrukcyjne.
OP/OS
WM, L
K_K1/1;
K2/1; K4/2;
K6/1
OP/OS
WM, L
K_K1/1;
K5/1; K6/1
K7/1
18. Formy zajęć dydaktycznych i ich wymiar (liczba godzin)
W. : 15
Ćw. : 0
L.: 30
19. Treści kształcenia:
Wykład
1. Definicja i podstawy systemów czasu rzeczywistego – wprowadzenie, zastosowania.
2. Elementy języka C oraz języka C++ przydatne w programowaniu systemów czasu rzeczywistego,
podstawy programowania obiektowego RTS.
3. Elementy zaawansowanego programowania systemów wbudowanych w języku C – operacje na rejestrach,
inicjalizacja urządzeń, wskaźniki, struktury, unie.
4. Definiowanie struktury procesora dla systemu czasu rzeczywistego,podstawowe funkcje systemu
operacyjnego czasu rzeczywistego, zasoby, zadania, wielozadaniowość, zarządzanie zadaniami
przełączanie kontekstu.
5. kolejkowanie, priorytetyzacja, kernel, komunikacja międzyzadaniowa, komunikaty i kolejki komunikatów,
sygnalizacja zdarzeń
6. programowanie procedur obsugi przerwań w systemach czasu rzeczywistego, dynamiczna podmiana
procedur obsugi przerwań, metody i przykłady.
7. Procedury wejścia-wyjścia, bufory cykliczne.
8. Zegar czasu rzeczywistego – funkcje i przykłady programowania,
9. Funkcje zarządzania czasem w systemach czasu rzeczywistego.
10. Programowanie interfejsów klawiatury: algorytmy skanowania, podstawowe funkcje interfejsu,
programowa stabilizacja przycisków, przykadowe procedury
11. Programowanie obsługi wyświetlaczy LCD: inicjalizacja, przykłady podstawowych funkcji obsugi.
12. Programowanie obsługi wejść i wyjść dwustanowych – zasady i przykłady
13. Programowanie obsługi wejść i wyjść analogowych w systemach czasu rzeczywistego: podstawowe
problemy, metody obsugi, próbkowanie bezstratne, przykłady funkcji systemowych.
14. Programowanie obsługi urządzeń do transmisji szeregowej – zasady i przykłady
15. Inicjalizacja systemów czasu rzeczywistego, funkcje i procedury, przyład bootloader’a.
16. Przemysłowe protokoły transmisji danych i ogólne aspekty projektowania oprogramowania systemów
czasu rzeczywistego.
Zajęcia laboratoryjne
I.
Wprowadzenie
II.
Wykorzystanie wskaźników i złożonych struktur danych w języku C
III.
Zasady programowania sterowników urządzeń
IV.
Programowanie obsługi przerwań
V.
Funkcje zegara czasu rzeczywistego –część I
VI.
Funkcje zegara czasu rzeczywistego –część II
VII.
Skanowanie klawiatury
VIII.
Inicjalizacja znakowego wyświetlacza LCD
IX.
Funkcje sterujące wyświetlaniem znaków alfanumerycznych
X.
Programowanie obsługi urządzeń do transmisji szeregowej - część I
XI.
Programowanie obsługi urządzeń do transmisji szeregowej - część II
XII.
Odczyt wejść analogowych – funkcje przekształcania odczytu
XIII.
Programowanie cyklicznych buforów wejściowych i wyjściowych
XIV.
Programowanie podstawowych funkcji jądra systemowego
XV.
Programowanie bootloader’a –część I
XVI.
Programowanie bootloader’a –część II
20. Egzamin: nie
21. Literatura podstawowa:
1. Jean J. Labrosse: MicroC/OS-II The Real Time Kernel, CMP Books, Lowrence, Kansas
2. Jean J. Labrosse: Embedded Systems Building Blocks, Second Edition, CMP Books, Lowrence, Kansas
22. Literatura uzupełniająca:
1.
Brian W. Kernigham, Denis M. Ritchie – Język ANSI C, WNT Warszawa wyd. IX, ISBN 83204-2979-X
23. Nakład pracy studenta potrzebny do osiągnięcia efektów kształcenia
Lp.
Forma zajęć
1
Wykład
2
Ćwiczenia
3
Laboratorium
4
Projekt
0/0
5
Seminarium
0/0
6
Inne
2/3
Suma godzin
Liczba godzin
kontaktowych / pracy studenta
15/0
0/0
30/15
45/15
24. Suma wszystkich godzin: 60
25. Liczba punktów ECTS: 2
26. Liczba punktów ECTS uzyskanych na zajęciach z bezpośrednim udziałem nauczyciela akademickiego: 1
27. Liczba punktów ECTS uzyskanych na zajęciach o charakterze praktycznym (laboratoria, projekty): 1
26. Uwagi:
Zatwierdzono:
…………………………….
…………………………………………………
(data i podpis prowadzącego)
(data i podpis dyrektora instytutu/kierownika katedry/
Dyrektora Kolegium Języków Obcych/kierownika lub
dyrektora jednostki międzywydziałowej)

Podobne dokumenty