Razvoj softvera za embeded sisteme


Prema tekućem nastavnom planu, nastava iz izbornog predmeta Razvoj softvera za embeded sisteme odvija se u toku VI semestra OAS na smeru za Mikroračunarsku elektroniku.

Specifikacija predmeta

Oznaka predmeta: 20.EM306
Broj ESPB: 6
Broj časova aktivne nastave nedeljno: 2+2

Nastavni kadar

Nastavnik:
dr Ivan Mezei, red. prof., Kabinet: NTP135, telefon: 485 4519, email: imezei(at)uns.ac.rs
Konsultacije: po dogovoru

Asistenti: BSc David Vidović BSc Ivan Čejić    
Demonstratori: Nadežda Jevremović

Način polaganja ispita

Način formiranja ocene:
Ocena se formira na osnovu kolokvijuma na kojima se ispituje znanje u vezi predavanja (50%), na osnovu predispitnih obaveza sa laboratorijskih kolokvijuma i drugih aktivnosti na laboratorijskim vežbama (50%).

U toku semestra predviđeno je održavanje kolokvijuma u vezi vežbi.

Pohađanje predavanja i vežbi je obavezno. Na vežbama je dozvoljeno imati do 2 izostanka u suprotnom predmet se pohađa ponovo naredne godine jer nadoknade ne postoje.

Materijal za predavanja:
Predavanja

Okvirne teme:

Uvodno predavanje.
Blok tema 1: U/I portovi mikrokontrolera. U/I portovi mikrokontrolera ATmega328. Softver mikrokontrolera i embedded sistema. Organizacija, struktura i tipovi C fajlova.
Blok tema 2: Memorijski modeli i preprocesor. Test pitanja za vežbanje 1-2.
Blok tema 3: Strukture, unije, memorijsko mapiranje. Test pitanja za vežbanje 3.
Blok tema 4: Rad sa petljama, uslovno izvršavanje i serijska  komunikacija. Test pitanja za vežbanje 4.
Blok tema 5: Logičke operacije. Rad sa matričnom tastaturom, debouncing. Test pitanja za vežbanje 5.
Blok tema 6: Prekidi. Primeri "(ne)kulture" programiranja. Test pitanja za vežbanje 6.
Blok tema 7: Super petlja i FIFO baferi. Test pitanja za vežbanje 7.
Tema 8: Softverske mašine stanja. Test pitanja za vežbanje 8.
Blok tema 9 i 10: Uvod u RTOS
Kooperativni operativni sistemi za rad u realnom vremenu.
Preemptive operativni sistemi za rad u realnom vremenu.
Test pitanja za vežbanje 9 i 10.
Tema 11: Kultura programiranja.
Tema 12: Optimizacije koda. Primer.

Spisak pitanja iz teorije.

Literatura:

1.D.Bortnik, V.Nikić, M.Lukić, I.Mezei "Razvoj softvera za embedded sisteme", Infoelektronika, 2023, 269 str. ISBN 978-86-80134-51-2 https://www.infoelektronika.net/knjiga-razvoj-softvera-za-embeded-sisteme-605

2. Deo skripta za potrebe dela ovog predmeta autora mr Milana Nikolića i dr Kalmana Babkovića.

Dodatna literatura:
3. Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship. Upper Saddle River, NJ: Prentice Hall, 2009.
4. ArdOS: https://bitbucket.org/ctank/ardos-ide/wiki/Home

Materijal za laboratorijske/računarske vežbe:
1 nedelja. Eclipse razvojno okruženje (PDF) + Pravila kodovanja (PDF)

2 nedelja. Alat za kontrolu verzije - GIT (PDF)

3 nedelja. Alat za generisanje dokumentacije (PDF) i primer za vežbu + Integer tipovi podataka (PDF)

4 nedelja. Organizacija projekta sa više izvornih datoteka (PDF) + timer0 + pin

5 nedelja. Serijski port i funkcije za serijsku komunikaciju (PDF) + biblioteka (ZIP) + terminal (ZIP)

6 nedelja. Rad sa matričnom tastaturom (PDF) + biblioteka (ZIP)

7 nedelja. Softverske mašine stanja (PDF)

8 nedelja. AVR-GCC i Makefile (PDF)

9 nedelja. PLS7 (PDF)

10 nedelja. RTOS I deo (PDF)

11, 12 nedelja. RTOS II deo (PDF) + RTOS implementacija

Dodatne informacije

Tinkercad maketa za vežbanje

Preporuke C kodovanja (adaptiran Indian Hill stil).

NASA C stil kodovanja.

Git (knjiga).

Eclipse IDE + WinAVR + AVRDude uputstvo za instalaciju (PDF).

Rešenje problema sa WinAVR instalacijom pod Windows 10.

Za Arduino Uno klonove koji koriste čip CH340G (ili neku sličnu verziju) za USB-UART konverziju pod OS Windows 10 je potrebno instalirati ovaj drajver. Za detalje se mogu pogledati i sledeći linkovi:
https://sparks.gogo.co.nz/ch340.html
https://www.arduined.eu/ch340-windows-10-driver-download/

Za Arduino Uno klon sa FT232R čipom za USB-UART konverziju pod OS Windows 10 je potrebno instalirati ovaj drajver.