slide1
Download
Skip this Video
Download Presentation
I RS

Loading in 2 Seconds...

play fullscreen
1 / 45

I RS - PowerPoint PPT Presentation


  • 134 Views
  • Uploaded on

I RS. INTEGRISANI RAČUNARSKI SISTEMI PART 1. Nenad Jovičić [email protected] Sadržaj vežbi. Računske vežbe: kroz nekoliko konkretnih projektnih zadataka biće: opisane najčešće korišćene periferije objašnjeno podešavanja tih periferija napisani programi koji obavljaju tražene funkcije

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' I RS' - gabby


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

IRS

INTEGRISANI RAČUNARSKI SISTEMI

PART 1

NenadJovičić

[email protected]

sadr aj ve bi
Sadržaj vežbi
  • Računske vežbe:
    • kroz nekoliko konkretnih projektnih zadataka biće:
      • opisane najčešće korišćene periferije
      • objašnjeno podešavanja tih periferija
      • napisani programi koji obavljaju tražene funkcije
      • prikazane osnovne tehnike rada sa razvojnim okruženjem.
  • Laboratorijske vežbe:
    • 3 laboratorijske vežbe, svaka sa trajanjem do 4 sata,
    • Izvode se u laboratoriji 18 na realnom hardveru, povezanom sa PC-jem i razvojnim okruženjem preko FET debugger-a.
razvojno okru enje za pisanje softvera
Razvojno okruženje za pisanje softvera
  • Za potrebe razvoja softvera koristi se razvojno okruženje IAR Embedded Workbench. Kickstart verzija koja podržava pisanje svih aplikacija koje će biti razvijane u okviru kursa se može download-ovati sa sajta www.iar.com.
  • U okviru paketa integrisani su editor, asembler, C kompajler, softverski simulator, kao i podvarijanta simulatora koja zajedno sa FET debugger-om čini emulator.
projektni zadatak 1
Projektni zadatak 1
  • Napisati asemblerski projekat za razvojni sistem RS-MSP430F449 koji na komandu pritiska tastera BCD sadržaj registra R12 ispisuje na jedan sedmosegmentni displej. Istovremeno, dok je taster pritisnut jedna LE dioda treba da svetli i obrnuto.
  • Projekat treba da se sastoji iz jednog fajla asm.s43 u kome se nalazi glavni program koji testira pritisak tastera i fajla function.s43 u kome se nalazi funkcija za ispis sadržaja registra na displej WriteLed
opis hardvera
Opis hardvera
  • Razvojni sistem RS-MSP430 poseduje više funkcionalnih celina od kojih su one interesantne za ovaj projekat prikazane na slici
organizacija softvera
Organizacija softvera
  • Pisanje dobrog softvera podrazumeva njegovu podelu na logičke celine, zgodne za samostalnu implementaciju.
  • Ovaj projektni zadatak se može podeliti na nekoliko programskih celina:
    • Inicijalizacija resursa mikrokontrolera
    • Deo glavnog programa koji vrši očitavanje tastera
    • Funkcija koja vrši uključivanje diode
    • Funkcija koja vrši ispis sadržaja registra R12 na sedmosegmentni displej
kreiranje projekta
Kreiranje projekta
  • S obzirom da je tražena asemblerska implementacija u dijalogu kreiranja projekta se izabira čist asemblerski projekat
osnovni fajl
Osnovni fajl
  • Predefinisani Template za asemblerski projekat je prikazan na slici
hardverske specifi nosti
Hardverske specifičnosti
  • Msp430.h je opšti “include” fajl za celu MSP430
hardverske specifi nosti1
Hardverske specifičnosti
  • Unutar fajla Msp430.h se vrši dalja redirekcija na posebno izabran mikrokontroler
include fajl
Include fajl
  • Korišćenje pojmova definisanih u “include” fajlu olakšava kodiranje ali i kasniji prelaz sa jednog na drugi mikrokontroler
program niz asemblerskih instrukcija
Program – niz asemblerskih instrukcija
  • U ovom projektu biće korišćene instrukcije za:
    • pristup portovima,
    • ispitivanje uslova,
    • instrukcije uslovnih skokova
    • i instrukcije za poziv i vraćanje iz potprograma.
glavni program
Glavni program
  • S obzirom na tražene zahteve po pitanju funkcionalnosti, dijagram toka programa bi trebalo da izgleda ovako
glavni program detekcija pritiska tastera
Glavni program – detekcija pritiska tastera
  • Algoritam detekcije pritiska tastera se zasniva na detekciji opadajuće ivice na ulaznom pin-u
  • Glavni program mikrokontrolera treba ciklično (periodično) da očitava stanje ulaznog pin-a,poredi ga sa vrednošću iz prethodnog očitavanja i u slučaju detekcije prelaska sa 1 na 0 izvršava zahtevanu radnju. U ovom projektu zahteva se ispis sadržaja registra R10 da sedmosegmentni displej.
digitalni portovi
Digitalni portovi
  • Svaki port se kontroliše sa četiri registra
  • PxIN – ulazni registar (x=1-6)
    • Očitani bit =0 – na ulazu je nizak logički nivo
    • Očitani bit =1 – na ulazu je visok logički nivo
  • PxOUT – izlazni registar (x=1-6)
    • upisani bit =0 – na izlazu je nizak logički nivo
    • upisani bit =1 – na izlazu je visok logički nivo
  • PxDIR – registar selekcije ulaza ili izlaza (x=1-6)
    • upisani bit =0 – pin je ulazni
    • upisani bit =1 – pin je izlazni
  • PxSEL – registar selekcije alternativnih funkcija (x=1-6)
    • upisani bit =0 – ulazno/izlazna funkcija pina
    • upisani bit =1 – alternativna funkcija dodeljena nekoj periferiji
glavni program kod
Glavni program - kod
  • Glavni

program

bit instrukcija
BIT instrukcija
  • BIT instrukcija se koristi za testiranje stanja bita u registru.
bis i bic instrukcije
BIS i BIC instrukcije
  • Koriste se za Set-ovanje/Clear-ovanje pojedinačnog bita u registru.
xor instrukcija
XOR instrukcija
  • Logička instrukcija koja xor-uje podatak sa konstantom.
and instrukcija
AND instrukcija
  • Instrukcija koja vrši logičko I dva podatka.
instrukcije uslovnih skokova jz i jnz
Instrukcije uslovnih skokova JZ i JNZ
  • Ove instrukcije izvršavaju ili ne skok u zavisnosti od stanja flag-a u SR.
bezuslovni skok jmp
Bezuslovni skok JMP
  • Bezuslovni skok na adresu.
direktive asemblera
Direktive asemblera
  • Program predstavlja niz asemblerskih instrukcija i podataka smeštenih negde u memoriji. Da bi se asembleru reklo gde se i na koji način smeštaju ti blokovi instrukcija ili podataka koriste se direktive asemblera
  • Direktive asemblera su instrukcije kojima programer vodi asembler u cilju prevođenja asemblerskog koda na odgovarajući željeni način
asembliranje
Asembliranje
  • Asembliranje je proces prevodjenja asemblerskog (simboličkog) u mašinski kod. Alatka koja to radi se zove asembler.
  • Da bi proces bio izveden na odgovarajući način potrebno je podesiti odgovarajuće opcije.
proces asembliranja
Proces asembliranja
  • Izveštaj o procesu asembliranja nalazi se u tzv. list fajlu.
linkovanje
Linkovanje
  • Linkovanje je proces u kome se mašinski kod iz različitih asemblerskih fajlova prevodi u jedan jedinstvenfajl koji se može spustiti u memoriju mikrokontrolera.
  • Sama reč “link” ukazuje da se radi o povezivanju odvojenih delova, u našem slučaju glavnog programa i potrporgrama u jedinstvenu celinu.
linkovanje1
Linkovanje
  • Najvažnija uputstva za linker se nalaze u

“linker command file”-u

linkovanje2
Linkovanje
  • Izveštaj o radu linkera se nalazi u tzv. map fajlu. U njemu je mapiran položaj blokova podataka ili koda u memoriji.
linkovanje3
Linkovanje
  • U linker fajlu se daje i pregled zauzetosti memorije.
kompajliranje
Kompajliranje
  • Komanda MAKE vrši kompajliranje i linkovanje projekta.
debagovanje
Debagovanje
  • Debagovanje je proces u kome se uz pomoć softverskog simulatora, ili harverskog debagera vrši testiranje aplikacije.
debug ovanje
Debug-ovanje
  • Debagovanje u simulatoru podrazumeva simulaciju spoljašnjih događaja relevenatnih za projekat.
  • Dobra simulacija je ona koja najvernije simulira spoljašnje događaje.
  • U našem slučaju radi se o simulaciji pritiska na taster S4, koji se očitava preko bita 2 porta P1.
  • Najjednostavniji i najpregledniji vid simulacije je single steping. Problem je što to može dugo da potraje i zamorno je.
  • Mnogo efikasniji vid debagovanja je postavljanjem Brekapoint-a na “dobra” mesta.
  • Generalno Breakpoint se postavlja tamo gde treba simulirati spoljnji događaj preko registra (u našen slučaju pritisak tastera), i tamo gde se očekuje reakcija na taj događaj.
druga iji pristup prekidi
Drugačiji pristup - prekidi
  • Prekidi koji se generišu promenom stanja ulaznih pinova portova P1 i P2 se kontrolišu preko tri registra
  • PxIFG – registar flegova (x=1,2)
    • Očitani bit =0 – na tom pinu se nije dogodila promena koji izaziva prekid
    • Očitani bit =1 – na tom pinu se dogodila promena koji izaziva prekid
  • PxES – registar selekcije ivice (x=1,2)
    • upisani bit =0 – prekid se događa na rastuću ivicu signala na tom pinu
    • upisani bit =1 – prekid se događa na opadajuću ivicu signala na tom pinu
  • PxIE – registar dozvole prekida (x=1,2)
    • upisani bit =0 – prekid nije dozvoljen za promenu stanja na tom pinu
    • upisani bit =1 – prekid je dozvoljen za promenu stanja na tom pinu
simulacija prekida 2
Simulacija prekida 2
  • U modu rada sa simulatorom svi prekidi se iniciraju isključivo preko opcija “Forced interrupts”.
  • I pod uslovom da je inicijalizacija svih registara korektno izvedena, naizmenično menjanje stanja u ulaznom registru P1IN neće izazvati prekid.
ad