Mikroprocesorski sistemi/Probni test 2022
Probni test 2022. godine dat je na početku semestra na Moodle kursu predmeta i na njemu je dato gradivo celog predmeta, kao priprema za teoriju na ispitu.
- Za pitanja sa više odgovora, tačni odgovori su podebljani i uokvireni
- Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni, tako da se prikažu kada izaberete taj tekst (primer: ovako)
- Pritisnite levo dugme ispod za sakrivanje i otkrivanje svih odgovora, ili desno dugme za uključivanje i isključivanje interaktivnog režima:
Zadatak 1
Koja vrednost se nalazi u registru R1 nakon izvršavanja date sekvence asemblerskih instrukcija? Odgovor uneti prema formatu neoznačenih heksadecimalnih literala u C programskom jeziku širine 32 bita.
mov r0, 4
mov r1, 7
cmp r1, r0
iteet eq
subeq r1, r1, r1
subsne r1, r0, r0
addsne r1, r1, r1
addeq r1, r0, r0
Prikaz očekivanog formata odgovora za proizvoljno odabranu vrednost 1 jeste:
0x00000001
Odgovor: 0x00000008
Objašnjenje: Na početku programa registru R0 dodeljuje se vrednost 4, a registru R1 vrednost 7. Zatim se ta dva registra upoređuju, pa se prelazi na izvršavanje instrukcija koje zavise od jednakosti (bit Z u programskom statusnom registru je 1 kada su dva registra jednaka). Prva instrukcija u nizu, subeq
, ne izvršava se jer prethodno upoređeni registri nisu bili jednaki. Instrukcija subsne
se, iz istog tog razloga, izvršava, pa se u registar R1 upisuje razlika registara R0 i R0, odnosno nula. Kako ova instrukcija ima sufiks s
, znači da se u programskoj statusnoj reči bit Z sada postavio na 1, pa se instrukcija addsne
neće izvršiti, dok instrukcija addeq
hoće, upisujući zbir R0 i R0 u registar R1, odnosno vrednost 8. Relevantna stranica u Cortex-M3 Programming Manual je 56 (3.3.7 Conditional execution).
Zadatak 2
Koja je bit band alias adresa bita 3 (bit najmanje težine je bit 0) unutar bajta koji se nalazi na adresi 0x20000001 SRAM-a?
Odgovor uneti prema formatu neoznačenih heksadecimalnih literala u C programskom jeziku širine 32 bita.
Prikaz očekivanog formata odgovora za proizvoljno odabranu vrednost 1 jeste:
0x00000001
Odgovor: 0x2200002C
Objašnjenje: Početna adresa SRAM je 0x20000000, tako da je 0x20000001 bajt broj 1 u tom regionu. Prema formuli sa stranice 28. u Cortex-M3 Programming Manual, bit band alias adresa računa se kao , tako da u ovom slučaju dobijamo .
Zadatak 3
Koji pinovi mikrokontrolera STM32F103R6 mogu da se koriste kao pinovi čija odgovarajuća promena okida odnosno startuje brojanje na tajmeru 2 (TIM2)?
- PA1
- PA15
- PA3
- PA0
- PA14
Objašnjenje: Na strani 179 od STM32F103 Reference Manual možemo videti sve moguće pinove za kanale TIM2 kao i pinove za spoljašnje okidače. Na dijagramu na strani 367. može se videti da u signalu TRGI mogu da učestvuju signali sa TIMx_ETR
, kao i TIMx_CH1
i TIMx_CH2
(preko TI1FP1 i TI1FP2). Iz ovog razloga, biramo kao odgovor sve ponuđene pinove u tabeli sa strane 179 a koji se nalaze u redu TIM2_CH1_ETR
ili TIM2_CH2
.
Zadatak 4
Kolika je maksimalna radna frekvencija (HCLK) mikrokontrolera STM32F103R6 ukoliko se koristi HSI oscilator? Odgovor uneti izražen u megahercima bez navođenja oznake jedinice.
Odgovor: 64
Objašnjenje:
Odgovor se može naći ispod slike na strani 93 od STM32F103 Reference Manual:When the HSI is used as a PLL clock input, the maximum system clock frequency that can be achieved is 64 MHz.