Razvoj softvera za digitalne mikrokontrolere


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

Specifikacija predmeta

Oznaka predmeta: EM305A
Broj ESPB: 5
Broj časova aktivne nastave nedeljno: 2+2

Nastavni kadar

Nastavnik:
dr Ivan Mezei, vanr. prof., Kabinet: NTP135, telefon: 485 4519, email: imezei(at)uns.ac.rs
Konsultacije: po dogovoru
 
Asistenti: Dr Milan Lukić M.Sc. Dušan Bortnik M.Sc. Vladimir Nikić  

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 (2018/19/20/21)

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

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. Elementi "kulture" programiranja. Test pitanja za vežbanje 6.
Blok tema 7: Super petlja i FIFO baferi.
Blok tema 8: Softverske mašine stanja.
Blok tema 9 i 10: Uvod u RTOS
Kooperativni operativni sistemi za rad u realnom vremenu.
Preemptive operativni sistemi za rad u realnom vremenu.
USB magistrala.
Optimizacija koda.

(delimičan) Spisak pitanja iz teorije.

Materijal za laboratorijske/računarske vežbe:
1 nedelja. Git - distribuirani sistem za kontrolu verzije (PDF) + Git cheat sheet (PDF) + Git instalacija (PDF) + Zadaci za vežbu (PDF)

2 nedelja. Eclipse razvojno okruženje + Zadaci za vežbu (PDF)

3 nedelja. Pravila kodovanja (PDF) + Alat za generisanje dokumentacije(Doxygen) + Zadaci za vežbu (PDF)

4 nedelja. Organizacija projekata sa više izvornih datoteka (PDF) + Zadaci za vežbu (PDF) + Izvorne datoteke

5 nedelja. Integer tipovi, Look-up tabele, statičke biblioteke i funkcije za upravljanje vremenom (PDF) + Zadaci za vežbu (PDF)

6 nedelja. Serijski port i funkcije za serijsku komunikaciju. (PDF) + biblioteka (ZIP) + terminal (ZIP) + Zadaci za vežbu (PDF)

Dodatne informacije

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.