r - ARM Cortex-M3 STM32F103(R6) mikrokontroler Flashcards
Kako se zove mikrokontroler koji učimo na kursu MIPS?
STM32F103 (R6)
Šta je ARM Cortex-M3?
Procesorsko jezgro za mikrokontrolere
ARM Cortex-M3 je deo koje arhitekture?
Armv7-M arhitekture
Koji su moduli Cortex M3 procesora?
Procesorsko jezgro,
Periferije jezgra,
Opcioni moduli
Koje su periferije Cortex-M3 procesorskog jezgra?
NVIC (Nested Vectored Interrupt Controller)
SCB (System Control Block)
System Timer
MPU (Memory Protection Unit)
Šta je NVIC periferija Cortex-M3 jezgra?
Nested Vectored Interrupt Controller
Šta je MPU periferija Cortex-M3 jezgra?
Memory Protection Unit
Šta je SCB periferija Cortex-M3 jezgra?
System Control Block
Koji su opcioni moduli Cortex-M3 procesora?
Debug
Data Watchpoint and Trace Unit
Instrumentation Trace Macrocell Unit
Embedded Trace Macrocell
Trace Port Interface Unit
Kakva je arhitektura Cortex-M3 jezgra?
32-bitna load/store (Harvard) arhitektura
Kakva je protočna obrada u Cortex-M3?
Trostepena protočna obrada
Koje veličine su podaci u Cortex-M3?
Reč (32 bita), a može da bude i polureč (16b) i bajt (8b)
Kakvu aritmetiku ima Cortex-M3?
Označenu i neoznačenu aritmetiku
Koji instrukcijski set ima Cortex-M3?
Thumb instrukcijski set
Koje su veličine instrukcija u Cortex-M3?
Instrukcije su veličine 16 bita i 32 bita
Koji režimi rada postoje u Cortex-M3?
1) Thread režim rada
2) Exception režim rada
Ko koristi exception režim rada u Cortex-M3?
Prekidne rutine i izuzeci
Tipovi izvršavanja instrukcija u thread režimu rada u Cortex-M3?
1) privilegovano izvršavanje
2) neprivilegovano izvršavanje
Ko koristi privilegovano izvršavanje u thread režimu rada u Cortex-M3?
Operativni sistem
Koji režim rada je podrazumevani za operativni sistem u Cortex-M3?
Privilegovani
Koji registar se koristi za upravljanje privilegijama i postavkama režima rada u Cortex-M3?
CONTROL registar
Ko koristi neprivilegovano izvršavanje u thread režimu rada u Cortex-M3?
Aplikativni softver
Kako aplikativni softver iz neprivilegovanog režima rada prelazi u privilegovani u Cortex-M3?
Koristeći SVC = Supervisor Call
Šta znači SVC?
Supervisor Call
Šta nije dozvoljeno u neprivilegovanom režimu rada kod Cortex-M3?
- ograničeno je korišćenje MSR i MRS instrukcija
- onemogućeno korišćenje CPS instrukcije
- nema pristupa sistemskom tajmeru, NVIC i SCB
- može biti ograničen pristup memoriji i periferijama
Šta znači MSR instrukcija?
Move to Special Register
Šta znači MRS instrukcija?
Move from Special Register
Šta znači CPS instrukcija?
Change Processor State
Koji su opštenamenski registri ARM Cortex-M3 procesora?
R0-R12
Koji registar je pokazivač na stek kod ARM Cortex-M3 procesora?
SP (R13)
Koje vrste steka postoje u ARM Cortex-M3 procesoru?
Main Stack (MSP)
Process Stack (PSP)
Kakav je stek kod ARM Cortex-M3 procesora?
Pun opadajući stek
Na koju vrednost se postavlja MSP prilikom reseta?
Na vrednost sa memorijske lokacije 0
// mem(0)
Na koju vrednost se postavlja PSP prilikom reseta?
Nepoznato je stanje PSP prilikom reseta.
Na koju vrednost se postavljaju opštenamenski registri prilikom reseta?
Nepoznato je stanje opštenamenskih registara prilikom reseta.
Šta znači LR?
Link Registar
Koji registar je Link Registar?
LR (R14)
Na koju vrednost se postavlja LR prilikom reseta?
Na 0xFFFFFFFF
Za šta služi LR?
Link Registar čuva adresu povratka iz potprograma
Koji registar je programski brojač?
PC (R15)
Na koju vrednost se postavlja registar PC prilikom reseta?
Na vrednost sa memorijske adrese 4
// mem(4)
Koja je vrednost bita 0 u PC registru?
Uvek 0, instrukcije moraju biti poravnate na pola reči
Koji bit uvek ima vrednost 0 u PC registru?
Bit 0, dohvatanje instrukcija mora biti poravnato na pola reci
Kako instrukcije moraju biti poravnate u Cortex-M3?
Na pola reči
Zašto je bit 0 PC registra uvek 0?
Zbog poravnanja instrukcija na pola reči (i da bi bit 0 odredišnih adresa mogao da se koristi za informaciju da li se radi o ARM (0) ili Thumb (1) instrukcijskom setu)
Kako se obezbeđuje poravnanje instrukcija na pola reči u Cortex-M3 procesoru?
Bit 0 registra PC je uvek 0.
Šta je PSR?
Program Status Register
Na koju vrednost se postavlja PSR prilikom restarta?
Na vrednost 0x01000000
Od kojih registara se sastoji PSR?
APSR (Application Program Status Register)
IPSR (Interrupt Program Status Register)
EPSR (Execution Program Status Register)
Šta znači APSR?
Application Program Status Register
Šta znači IPSR?
Interrupt Program Status Register
Šta znači EPSR?
Execution Program Status Register