Mikroprocesorski sistemi/Probni test 2022

Izvor: SI Wiki
< Микропроцесорски системи
Datum izmene: 26. januar 2023. u 13:23; autor: KockaAdmiralac (razgovor | doprinosi) (Probni test od ove godine)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu

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 0 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 0, 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)?

  1. PA1
  2. PA15
  3. PA3
  4. PA0
  5. 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.