Programska potpora industrijskih ugradbenih sustava
Opis predmeta
Opće kompetencije
Poznavanje specifičnosti sklopovske i programske arhitekture složenih industrijskih ugradbenih računalnih sustava za rad u stvarnom vremenu. Poznavanje strukture operacijskih sustava za rad u stvarnom vremenu, postupaka prilagodbe OS-a ciljnom sklopovlju, izrade upravljačkih programa i razvoja korisničkih aplikacija. Osnove prilagodbe i korištenja nekih često korištenih operacijskih sustava za ugradbena računala (FreeRTOS, Embedded Linux, uCLinux i eCos).
Ishodi učenja
- prepoznati specifičnosti sklopovske i programske arhitekture složenih industrijskih ugradbenih računalnih sustava za rad u stvarnom vremenu.
- koristiti alate za razvoj programske potpore za složene ugradbene računalne sustave.
- prilagoditi odabrani operacijski sustav ciljnom sklopovlju (FreeRTOS, Embedded Linux, uCLinux i eCos).
- razviti upravljačke programe za operacijske sustave za rad u stvarnom vremenu.
- razviti korisničke aplikacije za operacijske sustave za rad u stvarnom vremenu.
- procijeniti i odabrati optimalne sklopovske resurse za odabrani operacijski sustav za rad u stvarnom vremenu.
Oblici nastave
Predavanja obrađuju teorijske i praktične aspekte problematike predmeta. Svaki tjedan održavaju se dva sata predavanja.
Provjere znanjaKontinuirana provjera znanja obuhvaća dvije pismene provjere (međuispit i završni ispit). Provjera na ispitnom roku obuhvaća pismeni i usmeni ispit. Provjerava se znanje na laboratorijskim vježbama, a studenti bodove stječu i izradom praktičnog projekta.
Laboratorijske vježbePredviđeno je 15 sati laboratorijskih vježbi. U okviru vježbi studenti na praktičnim primjerima i stvarnom sklopovlju uče načela razvoja složene programske potpore za ugradbene računalne sustave.
KonzultacijeKonzultacije se održavaju se jednom tjedno.
SeminariStudenti u grupama (do tri studenata) prema vlastito predloženoj ideji razvijaju projektno rješenje na stvarnom sklopovlju. U okviru projekta koriste se znanjima stečenim na predavanjima i laboratorijskim vježbama, a kroz projekt demonstriraju poznavanje načina implementacije programske potpore složenih ugradbenih računalnih sustava.
Način ocjenjivanja
Kontinuirana nastava | Ispitni rok | |||||
---|---|---|---|---|---|---|
Vrsta provjere | Prag | Udio u ocjeni | Prag | Udio u ocjeni | ||
Laboratorijske vježbe | 50 % | 10 % | 50 % | 10 % | ||
Seminar/Projekt | 0 % | 10 % | 0 % | 10 % | ||
Međuispit: Pismeni | 50 % | 40 % | 0 % | |||
Završni ispit: Pismeni | 50 % | 40 % | ||||
Ispit: Pismeni | 50 % | 40 % | ||||
Ispit: Usmeni | 40 % |
Tjedni plan nastave
- Uvod u ugradbene računalne sustave. Primjeri ugradbenih računalnih sustava. Arhitektura i projektiranje ugradbenih računalnih sustava.
- Razvoj složenih ugradbenih računalnih sustava. Sklopovska arhitektura. Programska arhitektura. Razvoj programske potpore za ugradbena računala: razvojno i ciljno računalo, razvojni alati. Operacijski sustavi za rad u stvarnom vremenu.
- Pregled osnovnih značajki operacijskih sustava: višezadaćnost, raspoređivanje zadataka, sinkronizacijski mehanizmi, komunikacija između zadataka, upravljanje memorijom. Primjeri operacijskih sustava za rad u stvarnom vremenu.
- ARM Cortex sklopovska arhitektura. Razvoj programske potpore korištenjem GNU razvojnih alata.
- Razvoj složene programske potpore za ugradbene računalne sustave bez OS-a: datotečni sustav, mrežno povezivanje. Primjer: ugradbeni web server.
- FreeRTOS operacijski sustav. Upravljanje zadacima, redovima, prekidima, resursima i memorijom.
- FreeRTOS primjer: ugradbeni web server. Integracija servisa visoke razine s FreeRTOS-om: datotečni sustav, TCP/IP umrežavanje, web server. Praktični primjer.
- Međuispit
- Uvod u Embedded Linux. Ciljno sklopovlje i distribucije. Jezgra, bootloader, upravljački programi, datotečni sustav, umrežavanje, CLI.
- Podešavanje razvojne radne okoline. Izgradnja razvojnih alata iz izvornog koda. Podešavanje jezgre. Izgradnja jezgre iz izvornog koda.
- Pokretanje OS-a korištenjem U-Boot-a. Kreiranje korijenskog datotečnog sustava. Emulacija ciljnog sklopovlja. Razvoj aplikacija i ispravljanje pogrešaka.
- Razvoj upravljačkih programa. Primjeri složenih aplikacija.
- Pregled uCLinux OS-a. Ciljno sklopovlje. Ograničenja i razlike između uCLinux-a i standardnih Linux distribucija. Prilagodba uCLinux-a. Primjeri složenih aplikacija.
- Arhitektura eCos-a. Sloj apstrakcije sklopovlja. Jezgra. Izgradnja eCos sustava. Pokretanje sustava korištenjem RedBoot-a. Primjeri aplikacija.
- Završni ispit