32-bitni mikrokontroleri i primena - MS1BMP

Slides:



Advertisements
Similar presentations
Ma.
Advertisements

Click on each of us to hear our sounds.
HIRAGANA by number of strokes Images from:
Prof: doc.dr. Samir Lemeš student: Samir Hrnjić. System restore je komponenta Microsoftovih operativnih sistema Windows Serveri ne podržavaju opciju System.
32-bitni mikrokontroleri i primena - MS1BMP 3. deo
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
Predavanje br. 7 Formiranje GIS-a II Relacione klase.
Programiranje kroz aplikacije
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
Programi zasnovani na prozorima
Uvod u programiranje - matematika – VI predavanje
predavanja v.as.mr. Samir Lemeš
Operativni sistemi.
PONAVLJANJE CheckBox Koristi se za rešavanje zadataka gde je potrebno omogućiti uključivanje ili isključivanje jedne ili više opcija. Važna svojstva: –Checked.
Algoritmi raspoređivanja
Struktura i princip rada računara
32-bitni mikrokontroleri i primena - MS1BMP 2. deo
32-bitni mikrokontroleri i primena - MS1BMP 6. deo
32-bitni mikrokontroleri i primena - MS1BMP
CheckBox RadioButton RadioGroup
Upitni jezik SQL.
Microsoft Office 2007 MS Office je programski paket koji sadrži više programa: MS Word – program za obradu teksta MS Excel – program za izradu tabela sa.
Multimedijalna e-Learning platforma
Petlje FOR - NEXT.
REPEAT…UNTIL Naredbe ciklusa.
Programi,Podaci,Varijable,Računanje - 2
PROGRAMSKE PETLJE Milenković Gabrijela.
HT usluge u Oblaku Ivan Cicvara
Komponente izbora i kontejnerske komponente
Klauzule GROUP BY i HAVING
KREIRANJE OBJEKATA.
32-bitni mikrokontroleri i primena - MS1BMP
Java Script.
Razvoj Web aplikacija Ajax.
Elektrotehnički fakultet – Podgorica Operativni sistemi
14 UNUTRAŠNJE I ANONIMNE KLASE
Изведене класе Вишеструко извођење Полиморфизам
LAPLACEOVA TRANSFORMACIJA
Vežba 1. Formatiranje teksta korišćenjem stilskih šablona
Organizacija sistema zasnovana na
32-bitni mikrokontroleri i primena
M-datoteke.
Element form Milena Kostadinović.
MessageBox.
KORELACIJSKA I REGRESIJSKA ANALIZA
predavanja v.as.mr. Samir Lemeš
FP7 - People.
Pojmovi digitalnog zapisa
PROGRAMSKI JEZIK PASCAL
PRAĆENJE STATISTIKE POSEĆENOSTI WEB-PREZENTACIJE
AMM SISTEM Opseg PLC komunikacije 72kHz±1.2kHz
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
ELEKTRONIČKA POŠTA ( ) OTVARANJE RAČUNA.
Lazarus okruženje TIPOVI UNIT-a
Osnovni simboli jezika Pascal
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
Skup instrukcija procesora
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
Kratkotrajne veze žena i muškaraca
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
7. Baze podataka Postavke MS Accessa.
Ponavljanje Pisana provjera
Programiranje - Naredbe za kontrolu toka programa – 1. dio
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Kako zaštititi privatnost na facebooku
Presentation transcript:

32-bitni mikrokontroleri i primena - MS1BMP 2017/2018 Nenad Jovičić

Režimi rada procesora Nakon reseta nema razlike između Thread i handler režima. Moguće je slobodno pristupati svim resursima procesora i celog sistema.

Ulazak u neprivilegovani Thread režim Preko kontrolnog registra je moguće ograničiti mogućnosti softvera koji se izvršava u Thread režimu. To se vrši preko kontrolnog registra. Control registar poseduje samo dva bita (3 ako postoji FPU). Njime se kontroliše korišćenje steka i nivo privilegije softvera. Control registar može da se menja samo iz privilegovanog softvera. Bit 2 (FPCA) govori da li se FPU koristi ili ne.

Neprivilegovani režim Nije dozvoljeno raditi sledeće stvari: Pristupati kontrolnom registru Od specijalnih registara moguće je pristupati samo APSR registru. Nije moguće uticati ni na maske za prekide u IPSR registru. Nije dozvoljeno pristupati NVIC-u, Systick-u, ni System Control Block-u. Drugim rečima moguće je samo izvršavati korisnički kod bilo da je u glavnom programu ili prekidnim rutinama.

Korišćenje steka Privilegovani Thread koristi MSP. Neprivilegovani Thread koristi PSP. Potencijalni problem: PSP nije inicijalizovan i korisnik mora da ga inicijalizuje na pogodnu vrednost. Šta je pogodno?

Pristup registrima Postoje posebne intrinsic funkcije kojima je moguce pristupati registrima procesora.

Privilegovani/neprivilegovani rad Promena nivoa privilegije je moguća samo u privilegovanom modu rada. U prekidu je moguće uticati na nivo privilegije prilikom povratka u thread režim procesora. OS aplikacije Jednostavne aplikacije

Jednostavne OS aplikacije Softver je praktično uvek privilegovan, ali se deo softvera koji je Kernel OS-a izvršava na MSP steku, a deo softvera koji je korisnički na PSP steku.

Vežba 5.1 Operating Modes MSP se inicijalizuje korišćenjem prva 4 bajta IVT tabele Prelazak u neprivilegovani režim

Korišćenje PSP

Modifikacija? Pokušati upis u CONTROL registar nakon prebacivanja u neprivielgovani režim. Šta se dešava?

Šta se dešava u prekidu? U prekidu se uvek koristi MSP

SVC – Supervisor Call Koristi se kada korisnički neprivilegovani softver ipak ima potrebu da izvrši određene operacije koje zahtevaju sve privilegije. SVC je nešto kao softverski prekid koji poziva određenu funkciju.

Vežba 5.2 Supervisor Call

Poziv funkcije kroz prekid

Poziv funkcije kroz prekid Ako je potrebno da korisnički neprivilegovan softver implementira neku funkcionalnost koja traži privilegije, SVC-om se efektivno generiše prekid unutar koga se poziva određena funkcija.

Cortex-M4/M7 FPU IEEE 754 standard Broj ciklusa potrebnih za izvršavanje osnovnih aritmetičkih operacija. tzv. Skalarani registri: 32 single precision ili 16 double precision registra. Svi registri su memorijski mapirani. Ali u njima je moguce cuvati i integere. Konverzija integer/float i obrnuto se vrši za samo jedan ciklus...!

FPU FPU je sastavni deo procesora i praktično se izvršavanje FPU instrukcija odvija paralelno izvršavanju klasičnih instrukcija. Po default-u FPU je disable-ovan. Enable-uje se setovanjem odgovarajućih bita u Co processor Access Control Register (CPARC) registru. It is necessary to use the data barrier instruction to ensure that the write is made before the code continues. The instruction barrier command is also used to ensure that the pipeline is flushed before the code continues.

FPU i prekidi Sa aktiviranim FPU kontekst koji se automatski čuva na steku se povećava sa 32 na 100 bajtova. Da ovo ne bi povećalo latency uvodi se tzv lazy stacking procedura. http://infocenter.arm.com/help/topic/com.arm.doc.dai0298a/DAI0298A_cortex_m4f_lazy_stacking_and_context_switching.pdf

Vežba EX 8.1 Floating Point Unit Proveriti u opcijama projekta da li je uključeno korišćenje FPU.

Opcije projekta

Testiranje sa i bez FPU

Testiranje sa i bez FPU C nema operator za koren pa se forsiranje hardversko korenovanja vrši pozivom intrinsic funkcije __sqrtf(e) sqrt(e) je standardna math.h funkcija za korenovanje koja se implementira preko ostalih operacija

SIMD instrukcije Aritmetičke SIMD instrukcije sa modifikatorima

SIMD Sabiranje i oduzimanje sa “polovljenjem” rezultata Množenje sa sabiranjem i oduzimanjem

SIMD - instrukcije za podršku

Vežba EX 8.2 SIMD Uporediti vreme izvršavanja za operaciju nad nizovima sa i bez SIMD instrukcije

DSP algoritmi na Cortex M4 Tipičan FIR filter

Vežba 8.5 CMSIS-DSP FIR Uključivanje CMSIS DSP biblioteke

Logic Analyzer BLOCK_SIZE postavimo na 1. Uvodimo globalne promenljive koje mogu da se prikazuju u Logic Analyzer-u

Logic Analyzer