Top Banner

of 103

ARM7 Procesor

Jul 14, 2015

ReportDownload

Documents

ELEKTRONSKI FAKULTET U NIU

SEMINARSKI RAD

ARM7 PROCESORPredmet: Mikroprocesorska sistemi

Profesor:

Studenti:

Prof.dr. Mile Stojev

Aleksandar Mladenovi 10017 Davor Dejkovi 9885 Bojan Pavlovi 10035 Milo Milenkovi 9989

Ni, oktobar 2006.

Mikroprocesorski sistemi

ARM7 procesor

SADRAJ

Uvod..........................................................................................................................41. Arhitektura ARM procesora .............................................................................5 1.1 Arhitekturalno naslee .....................................................................................5 1.2 Pogled programera na ARM model .................................................................5 1.3 Razvojni alati ARM .........................................................................................7 2. Organizacija i implementacija ARM ....................................................................9 2.1 Trostepeni komunikacioni kanal (pipeline) ...................................................10 2.2 Peto-stepeni ARM processor .......................................................................12 3. ARM jezgra procesora ......................................................................................14 3.1 ARM7TDMI .................................................................................................14 3.1.1 Hardverski interfejs ...................................................................................15 3.1.2 Kontrola takta ............................................................................................15 3.1.3 Memorijski interfejs ..................................................................................15 3.1.4 MMU interfejs ...........................................................................................17 3.1.5 Stanje .........................................................................................................17 3.1.6 Konfiguracija .............................................................................................17 3.1.7 Prekidi .......................................................................................................18 3.1.8 Inicijalizacija .............................................................................................18 3.1.9 Podrka za debug-ovanje ...........................................................................18 3.1.10 Interfejs za debug-ovanje ........................................................................19 3.1.11 Interfejs koprocesora ...............................................................................19 3.1.12 JTAG interfejs .........................................................................................19 3.1.13 TAP informacije ......................................................................................19 3.1.14 Boundary scan .........................................................................................19 3.1.15 ARM7TDMI u sintezi .............................................................................20 3.2 ARM8TDMI .................................................................................................21 3.3 ARM9TDMI .................................................................................................22 4. Skup instrukcija ARM .........................................................................................23 4.1 Tipovi podataka sa kojima ARM manipulie ...............................................23 5. Tipovi instrukcija procesora ARM ....................................................................23 5.1 Instrukcije za pribavljnje podataka i memorisanje ....................................23 5.1.1 Instrukcije za prenos podataka tipa jedna re ili neoznaeni bajt ..............23 5.1.2 Instrukcije za prenos podataka tipa polurei i oznaenih bajtova ..............26 5.1.3 Viestruke instrukcije za uitavanje i smetanje ........................................28 1

Mikroprocesorski sistemi

ARM7 procesor

5.2 Instrukcije za razmene sadraja memorije i registra .................................29 5.3 Instrukcije pristupa status registara ............................................................30 5.3.1 Instrukcije za prenos stanja statusnog registara u registre opte namene ..30 5.3.2 Instrukcije za prenosa registara opte namene u statusni registar ..............31 5.4 Instrukcije za obradu podataka ....................................................................33 5.4.1 Aritmetike operacije .................................................................................36 5.4.2 Logike operacije .......................................................................................37 5.4.3 Operacije premetanja sadraja registara ...................................................37 5.4.4 Operacije poreenja ....................................................................................37 5.4.5 Neposredni operandi ...................................................................................38 5.4.6 Pomereni registarski operandi ....................................................................38 5.5 Razliite aritmetike instrukcije ...................................................................39 5.5.1 Prebrojavanje poetnih nula (CLZ(Count Leading Zeros) ........................39 5.6 Instrukcije mnoenja .....................................................................................40 5.7 Instrukcije grananja .......................................................................................42 5.7.1 Grananje sa linkom (B, BL) .......................................................................42 5.7.2 Grananje sa linkom i razmenom (BX, BLX) ...............................................43 5.8 Instrukcije za generisanje softverkoih prekida.............................................45 5.8.1 Softverski prekid (SWI) .............................................................................45 5.8.2 Instrukcija prekidna taka (BKPT samo za v5T arhitekturu) ..................47 5.9 Instrukcije koprocesora .................................................................................47 5.9.1 Operacije podataka koprocesora .................................................................47 5.9.2 Prenos podataka koprocesoru .....................................................................48 5.9.3 Prenos registara koprocesora ......................................................................50 6. Hardver i Softver Proces kreiranja ...................................................................52 6.1 Verifikaciona Platforma ....................................................................................52 6.2 Programerski pogled na svet...........................................................................57 6.3 Hardverski pogled na svet ..............................................................................59 6.4 Softverski razvojni alati ..................................................................................59 6.4.1 Editor ...........................................................................................................59 6.4.2 Revizija izvornog koda ................................................................................59 6.4.3 Kompajler ....................................................................................................60 6.4.4 Debager ........................................................................................................60 6.4.5 Simulator .....................................................................................................60 6.4.6 Razvojna ploa ............................................................................................61 6.4.7 Integrisana razvojan sredina (IDE) ..............................................................61 6.5 Povezivanje softvera za debagiranje ..............................................................61 6.5.1 JTAG ...........................................................................................................62 6.5.2 STUB ...........................................................................................................62 6.5.3 Direktna konekcija .......................................................................................62 6.6 Tipovi softvera .................................................................................................63 6.6.1 Inicijalizacija sistema i HAL ......................................................................63 6.6.2 Dijagnostiki test program ..........................................................................63 6.6.3 Operativni sistem za rad u realnom vremenu (RTOS) ................................64 6.6.4 Pokretacki programi i aplikacioni softver ..................................................64 6.7 Proces razvoja softvera ...................................................................................64 6.8 Hardverska razvojna sredstva .......................................................................64 6.8.1 Editor ...........................................................................................................65 2

Mikroprocesorski sistemi

ARM7 procesor

6.8.2 Kontrola revizije izvornog koda ..................................................................65 6.8.3 Alati .............................................65 6.8.4 Pokrivenost koda .............................................66 6.8.5 Alati za debag-ovanje ..................................................66 6.8.6 Programski jezici za verifikaciju .........................67 6.8.7 Tvrdjenja ..............................67 6.8.8 Definisanje debag-ovanja ...............................................................67 6.8.9 Memorijski modeli ....................................................