95
Integrisani raˇ cunarski sistemi Uvod Odsek za elektroniku Univerzitet u Beogradu - Elektrotehniˇ cki fakultet poslednja izmena 14. mart 2020 Odsek za elektroniku 13E044IRS ETF Beograd 1 / 91

Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Integrisani racunarski sistemiUvod

Odsek za elektroniku

Univerzitet u Beogradu - Elektrotehnicki fakultet

poslednja izmena 14. mart 2020

Odsek za elektroniku 13E044IRS ETF Beograd 1 / 91

Page 2: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 2 / 91

Page 3: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 3 / 91

Page 4: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 4 / 91

Page 5: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Plan vezbi

Racunske vezbeKroz nekoliko konkretnih projektnih zadataka bice

opisane najcesce koriscene periferijeobjasnjeno podesavanje tih periferijanapisani programi koji obavljaju trazene funkcijeprikazane osnovne tehnike razvoja koda za embedded sisteme

Laboratorijske vezbe3 laboratorijske vezbe, svaka sa trajanjem do 3 sataizvode se u laboratoriji 18 na razvojnom sistemu povezanom saPC-jem i razvojnim okruzenjem preko FET debugger-a

Odsek za elektroniku 13E044IRS ETF Beograd 5 / 91

Page 6: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Dodatni plan

Coding styleKod pored funkcionalnosti treba da bude i „lepo“ napisan

identacijabez „magicnih“ brojevakomentari komentari komentari. . .

DokumentovanjeKoriscenjem Doxygen (http://www.doxygen.org) alata moguce jeautomatsko generisanje dokumentacije u HTML-u i/ili LATEX-u/PDF-u(ako se komentari u kodu pisu na odgovarajuci nacin, sto nije tesko)

Odsek za elektroniku 13E044IRS ETF Beograd 6 / 91

Page 7: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Razvojno okruzenje

Za potrebe razvoja softvera koristi se razvojno okruzenje CodeComposer Studio v8. Free verzija koja podrzava pisanje svih aplikacijakoje ce biti razvijane u okviru kursa se moze dohvatiti sa linkahttp://www.ti.com/tool/ccstudio

U okviru paketa integrisano je sve sto je potrebno za razvoj koda(editor, asembler, C kompajler) i debagovanje (FET emulator) kao ialati (terminal)

Zasnovan je na Eclipse-u, tako da je moguce prosiriti funkcionalnostraznim plugin-ovima

Odsek za elektroniku 13E044IRS ETF Beograd 7 / 91

Page 8: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Razvojni sistem

Detaljna sema sistema dostupna je na:http://tnt.etf.rs/~oe4irs/RS_MSP430F5438A_sch.pdf

Odsek za elektroniku 13E044IRS ETF Beograd 8 / 91

Page 9: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Plan 2019/20

AZURIRANO 14.03.nedelja pon uto sre cet pet09-13.03. v1:12-15h@313 v2:[email protected].

23-27.03. l1.t1:09-12h l1.t2:09-12hv3:12-15h@313 l1.t3:12-15h

30.03.-03.04. l2.t1:09-12h l2.t2:09-12hv4:12-15h@313 l2.t3:12-15h

06-10.04. l3.t1:09-12h l3.t1:09-12hl3.t2:12-15h

Odsek za elektroniku 13E044IRS ETF Beograd 9 / 91

Page 10: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 10 / 91

Page 11: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Osobine MSP430 familije

Familija mikrokontrolera optimizovana za aplikacije sa baterijskimnapajanjem

Veliki broj integrisanih periferija (tajmeri, komparatori, AD i DAkonvertori, UART. . . )

16-/20-bitno procesorsko jezgro sa RISC arhitekturom

Podrska za JTAG

Odsek za elektroniku 13E044IRS ETF Beograd 11 / 91

Page 12: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

MSP430x

Familija MSP430 se deli na nekoliko podfamilija: MSP430x5xx,MSP430x6xx. . .Mi radimo sa mikrokontrolerom MSP430F5438A, kojispada u podfamiliju MSP430x5xx

MSP430F5438A ima256kB flash-a16kB SRAM-a3 16-bitna tajmera12-bitni A/D konvertor sa 16 ulaza4 USCI (Universal Serial Communication Interface)87 GPIO pinova. . .

Odsek za elektroniku 13E044IRS ETF Beograd 12 / 91

Page 13: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Detaljne informacije 1/2

DatasheetDetaljne informacije o mikrokontroleru MSP430F5438Ahttp://www.ti.com/lit/gpn/msp430f5438a

User’s guideDetaljne informacije o familiji MSP430x5xxhttp://www.ti.com/lit/pdf/slau208

ErratasheetLista poznatih problema i gresaka sa mikrokontroleromMSP430F5438A http://www.ti.com/lit/pdf/slaz290

Odsek za elektroniku 13E044IRS ETF Beograd 13 / 91

Page 14: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Detaljne informacije 2/2

Website, uvek azuran: http://www.ti.com/product/msp430f5438a

Odsek za elektroniku 13E044IRS ETF Beograd 14 / 91

Page 15: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Detaljne informacije 2/2

Website, uvek azuran: http://www.ti.com/product/msp430f5438a

Odsek za elektroniku 13E044IRS ETF Beograd 14 / 91

Page 16: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Datasheet

Odsek za elektroniku 13E044IRS ETF Beograd 15 / 91

Page 17: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

User’s guide

Odsek za elektroniku 13E044IRS ETF Beograd 16 / 91

Page 18: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Adresni prostor MSP430F5438A

Odsek za elektroniku 13E044IRS ETF Beograd 17 / 91

Page 19: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Memorijska mapa periferija

Odsek za elektroniku 13E044IRS ETF Beograd 18 / 91

Page 20: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 19 / 91

Page 21: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Hello, world!

”Hello, world!“ programJednostavna aplikacija koja sluzi da se potvrdi funkcionalnost

Sta je ”Hello, world!“ program za mikrokontroler?nemamo stdout, pa samim tim ni printfimamo LCD displej, ali ispis na njega zahteva neki trud, sto nijepoenta ”Hello, world!“ programa

Jednostavan nacin za signalizaciju jeste da koristimo dostupne LEDdiode

Odsek za elektroniku 13E044IRS ETF Beograd 20 / 91

Page 22: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 200ms.

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portova

Odsek za elektroniku 13E044IRS ETF Beograd 21 / 91

Page 23: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 22 / 91

Page 24: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Digitalni portovi

Svaki port se kontrolise sa cetiri registrapostoji 8 pinova po portusvakom pinu odgovara jedan bit u registrima

PxOUT.n

PxDIR.n

PxIN.n

Digitalni I/0

Odsek za elektroniku 13E044IRS ETF Beograd 23 / 91

Page 25: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxIN

ocitani bit = 0 - na ulazu je nizak logicki nivoocitani bit = 1 - na ulazu je visok logicki nivo

Odsek za elektroniku 13E044IRS ETF Beograd 24 / 91

Page 26: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxOUT

Odsek za elektroniku 13E044IRS ETF Beograd 25 / 91

Page 27: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxDIR

Odsek za elektroniku 13E044IRS ETF Beograd 26 / 91

Page 28: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxSEL

U datasheet-u je za svaki pin navedeno kako treba da se podesi PxSEL (ieventualno PxDIR ili neki drugi registri) da bi se ostvarila odgovarajucafunkcionalnost na tom pinu

Odsek za elektroniku 13E044IRS ETF Beograd 27 / 91

Page 29: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Datasheet primer za odabir funkcije pina

Odsek za elektroniku 13E044IRS ETF Beograd 28 / 91

Page 30: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Prekidi na portovima P1 i P2

Na portovima P1 i P2 moguce je generisati prekid pri promeni stanjapina

Prilikom inicijalizacije potrebno je konfigurati ivicu ulaznog signala nakoju se generise prekid i dozvoliti generisanje prekida putemodgovarajucih registara

Odsek za elektroniku 13E044IRS ETF Beograd 29 / 91

Page 31: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxIFG

Odsek za elektroniku 13E044IRS ETF Beograd 30 / 91

Page 32: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxIES

Odsek za elektroniku 13E044IRS ETF Beograd 31 / 91

Page 33: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Registar PxIE

Odsek za elektroniku 13E044IRS ETF Beograd 32 / 91

Page 34: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 33 / 91

Page 35: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 33 / 91

Page 36: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 200ms.

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portovaPotrebno je koristiti razvojno okruzenje

Odsek za elektroniku 13E044IRS ETF Beograd 34 / 91

Page 37: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 35 / 91

Page 38: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Razvojna okruzenja

Razvoj softvera za namenske sisteme moguc u razlicitim razvojnimokruzenjima

Primeri1 Eclipse - univerzalno, ne samo za mikrokontrolere2 IAR EW - razliciti mikrokontroleri podrzani (ARM, MSP430. . . )3 Code Composer Studio - razliciti mikrokontroleri koje proizvodi TI

podrzani (ARM, MSP430, DSP)4 Keil - samo za odredeni mikrokontroler (ARM)

Odsek za elektroniku 13E044IRS ETF Beograd 36 / 91

Page 39: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Osnovni elementi razvojnog okruzenja

Editorsyntax highlightingcode completion

AsemblerC/C++ kompajlerDebugger

U sustini, nema velikih razlika i lako je preci sa jednog na drugo

Odsek za elektroniku 13E044IRS ETF Beograd 37 / 91

Page 40: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Code Composer Studio

Free verzija koja podrzava pisanje svih aplikacija koje ce biti razvijaneu okviru kursa se moze dohvatiti sa linkahttp://www.ti.com/tool/ccstudio

Dokumentacija je dostupna nahttp://processors.wiki.ti.com/index.php/Category:Code_Composer_Studio_v8

Kompajler koji koristimo je TI kompajler. Moguce je koriscenje i GCCkompajlera ali to (za sada) nije pokriveno ovim uputstvom

Odsek za elektroniku 13E044IRS ETF Beograd 38 / 91

Page 41: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 200ms.

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portovaPotrebno je koristiti razvojno okruzenje za

kreiranje projekta

Odsek za elektroniku 13E044IRS ETF Beograd 39 / 91

Page 42: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 40 / 91

Page 43: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Asemblerski projekat

Projekat u kojem se program pise samo u asembleru

Neophodno da programer vodi racuna opostavljanju RESET vektorainicijalizaciji stek pointerasekcijama u koje se smestaju kod i promenljive. . .

With great power comes great responsibility

Odsek za elektroniku 13E044IRS ETF Beograd 41 / 91

Page 44: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Kreiranje projekta

Odsek za elektroniku 13E044IRS ETF Beograd 42 / 91

Page 45: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Potrebno podesitiMSP430F5438A

cisto asemblerskiprojekat

Odsek za elektroniku 13E044IRS ETF Beograd 43 / 91

Page 46: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Osnovni fajl

Fajl sa opisomhardverskih specificnostiizabranog mikrokontrolera

Postavljanje reset vektora

Asemblerska direktivakoja ukazuje da je nizinstrukcija koji sledepotrebno postaviti uprogramsku memoriju

Inicijalizacija Stackpointer-a (SP)

Iskljucivanje Watchdogtajmera

Prostor za pisanjekorisnickog programa

Strukturaprojekta

Odsek za elektroniku 13E044IRS ETF Beograd 44 / 91

Page 47: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Hardverske specificnosti 1/2

msp430.h je opsti include fajl za celu MSP430 familiju

Klikom na Includesmoze da se dode dodostupnih header fajlova

Odsek za elektroniku 13E044IRS ETF Beograd 45 / 91

Page 48: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Hardverske specificnosti 2/2

Unutar fajla msp430.h definisanim makroima se ukljucuje fajl zaizabrani mikrokontroler

Fajl sa opisomhardverskihspecificnosti izabranogmikrokontrolera

Odsek za elektroniku 13E044IRS ETF Beograd 46 / 91

Page 49: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Include fajl

Koriscenje pojmova definisanih u include fajlu olaksava kodiranje ali ikasniji prelaz sa jednog na drugi mikrokontroler

Cesto koriscenimkonstantama zadaju sesimbolicka imena

Makroima se simbolickaimena registara povezujusa fizickim adresama namagistrali

Cesto koriscenimkonstantama zadaju sesimbolicka imena

Makroima se simbolickaimena registara povezujusa fizickim adresama namagistrali

Cesto koriscenimkonstantama zadaju sesimbolicka imena

Makroima se simbolickaimena registara povezujusa fizickim adresama namagistrali

Odsek za elektroniku 13E044IRS ETF Beograd 47 / 91

Page 50: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Direktive asemblera

Program predstavlja niz asemblerskih instrukcija i podataka smestenihnegde u memoriji. Da bi se asembleru reklo gde se i na koji nacinsmestaju ti blokovi instrukcija ili podataka koriste se direktiveasemblera

Direktive asemblera su instrukcije kojima programer vodi asembler ucilju prevodenja asemblerskog koda na odgovarajuci zeljeni nacin

Odsek za elektroniku 13E044IRS ETF Beograd 48 / 91

Page 51: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Ovom direktivom senavedeni simbol cinividljivim iz ostalihmodula

WriteLed definisanu nekom drugommodulu

Simbol WriteLed secini vidljivim izvanovog modula

Direktiva kojaukazuje da nizpodataka iliinstrukcija koje sleditreba da se smestinegde u programskojmemoriji

Direktiva kojaukazuje da nizpodataka koji sleditreba da se smestiu segment konstanti(flash memorija)

Direktivom .byte sedeklarise osmobitnakonstanta

Odsek za elektroniku 13E044IRS ETF Beograd 49 / 91

Page 52: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 50 / 91

Page 53: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

C-ovski projekat

Projekat u kojem se program pise u C/C++, moze i asembler

Kompajler vodi racuna o svemu (sem o delu koji je pisan u asembleru)

Potrebno biti pazljiv prilikom kombinovanja C-a i asemblera

Odsek za elektroniku 13E044IRS ETF Beograd 51 / 91

Page 54: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Kreiranje projekta

S obzirom da je trazenaimplementacija u C-u, udijalogu kreiranjaprojekta bira se C-ovskitemplate

Odsek za elektroniku 13E044IRS ETF Beograd 52 / 91

Page 55: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Osnovni fajl

Predefinisani template za C-ovski projekat prikazan je na slici

Fajl sa opisomhardverskih specificnostiizabranog mikrokontrolera

Osnovnamain funkcijaprograma

Strukturaprojekta

IskljucivanjeWatchdog tajmera

Vrednost kojufunkcija vraca

Za razliku od asemblera u C-u se sva inicijalizacija obavljaautomatski - od strane prevoidoca.To podrazumeva izmedu ostalog daprevodilac brine o postavljanjukoda u memoriju, postavljanjureset prekida, kao i inicijalizacijiSP-a

Odsek za elektroniku 13E044IRS ETF Beograd 53 / 91

Page 56: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 1Hz .

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portovaPotrebno je koristiti razvojno okruzenje za

kreiranje projektarazvoj koda

Odsek za elektroniku 13E044IRS ETF Beograd 54 / 91

Page 57: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Razvoj koda

mikrokontrolerska aplikacijasastoji se iz dva dela

inicijalizacijabeskonacna petlja

nema krajza razliku od aplikacije koja seizvrsava u okviru OS, baremetalaplikacija se jedina izvrsava namikrokontroleru

INICIJALIZACIJA

FUNKCIONALNOST

RESET

Odsek za elektroniku 13E044IRS ETF Beograd 55 / 91

Page 58: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Asemblerska realizacija

.cdecls C,LIST,"msp430.h" ; Include device header file;-------------------------------------------------------------------------------

.def RESET ; Export program entry-point to; make it known to linker.

;-------------------------------------------------------------------------------.text ; Assemble into program memory.

RESET mov.w #__STACK_END,SP ; Initialize stackpointerStopWDT mov.w #WDTPW|WDTHOLD,&WDTCTL ; Stop watchdog timer

bis.b #BIT3,&P4DIR ; Configure P4.3 as out;-------------------------------------------------------------------------------; Main loop here;-------------------------------------------------------------------------------loop: mov.w #0x8888,R9 ; use R9 as counterwait: dec R9 ; decrement counter

jnz wait ; jump to wait if R9 > 0xor.b #BIT3,&P4OUT ; toggle P4.3jmp loopnop ; this removes warning

;-------------------------------------------------------------------------------; Stack Pointer definition;-------------------------------------------------------------------------------

.global __STACK_END

.sect .stack;-------------------------------------------------------------------------------; Interrupt Vectors;-------------------------------------------------------------------------------

.sect ".reset" ; MSP430 RESET Vector

.short RESET

Inicijalizacija

Funkcionalnost

Odsek za elektroniku 13E044IRS ETF Beograd 56 / 91

Page 59: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

C-ovska realizacija

int main(void){

WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer

P4DIR |= BIT3; // Configure P4.3 as out

while (1){

// wait and toggle__delay_cycles(104857);P4OUT ^= BIT3; // Toggle P4.3

}}

Inicijalizacija

Funkcionalnost

Odsek za elektroniku 13E044IRS ETF Beograd 57 / 91

Page 60: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 200ms.

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portovaPotrebno je koristiti razvojno okruzenje za

kreiranje projektarazvoj kodaasembliranje/kompajliranje

Odsek za elektroniku 13E044IRS ETF Beograd 58 / 91

Page 61: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 59 / 91

Page 62: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Asembliranje

Asembliranje je proces prevodenja asemblerskog (simbolickog) umasinski kod. Alat koja to radi zove se asembler

Odsek za elektroniku 13E044IRS ETF Beograd 60 / 91

Page 63: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Proces asembliranja

Izvestaj o procesu asembliranja nalazi se u list fajlu

Svaka instrukcija se prevodi umasinski kod

Sadrzaj memorije, tj. masinskikod ove instrukcije

Svaka linija asm fajla dobija redni broj nakon asembliranja,nakon cega sledi adresa u fizickoj memoriji na koju ce bitismesten sadrzaj koji sledi

Svaka instrukcija se prevodi umasinski kod

Sadrzaj memorije, tj. masinskikod ove instrukcije

Svaka linija asm fajla dobija redni broj nakon asembliranja,nakon cega sledi adresa u fizickoj memoriji na koju ce bitismesten sadrzaj koji sledi

Svaka instrukcija se prevodi umasinski kod

Sadrzaj memorije, tj. masinskikod ove instrukcije

Svaka linija asm fajla dobija redni broj nakon asembliranja,nakon cega sledi adresa u fizickoj memoriji na koju ce bitismesten sadrzaj koji sledi

Odsek za elektroniku 13E044IRS ETF Beograd 61 / 91

Page 64: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Linkovanje

Linkovanje je proces u kome se masinski kod iz razlicitih objektnihfajlova prevodi u jedan jedinstven fajl koji se moze spustiti u memorijumikrokontrolera.

Odsek za elektroniku 13E044IRS ETF Beograd 62 / 91

Page 65: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Najvaznije uputstva za linker se nalaze u linker command file-u

Segmenti mogu da se preklapaju

.data je tip segmenta u koji sesmestaju inicijalizovani podaci(RAM memorija)

.bss je tip segmenta u koji sesmestaju neinicijalizovani podaci(RAM memorija)

.const je tip segmenta u kojise smestaju konstantni podaci(FLASH memorija)

.text je tip segmenta u koji sesmestaju instrukcije (FLASHmemorija)

Odsek za elektroniku 13E044IRS ETF Beograd 63 / 91

Page 66: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Kompajliranje

Komanda BUILD vrsi kompajliranje i linkovanje projekta

Nakon uspesnogkompajliranja klikom naovu ikonu ulazi se u modza debagovanje

Klik na ovu ikonu vrsikompajliranje i linkovanjecelog projekta

Nakonkompajliranja/linkovanjapojavljuju se pokazivacina evenutalne greske iupozorenja

Poruke kojeukazuju na statuskompajliranja/linkovanja

Odsek za elektroniku 13E044IRS ETF Beograd 64 / 91

Page 67: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – treperenje diode

ZadatakNapisati program za razvojni sistem kojim se implementira treperenjeLED diode sa periodom od ∼ 200ms.

NapomeneLED diode su vezane na GPIO pinove, kojima se upravlja prekoDigitalnih portovaPotrebno je koristiti razvojno okruzenje za

kreiranje projektarazvoj kodaasembliranje/kompajliranjespustanje programa u memoriju mikrokontrolerakao i u debagovanje u slucaju greske

Resenje{asm|c}-led-toggle

Odsek za elektroniku 13E044IRS ETF Beograd 65 / 91

Page 68: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 66 / 91

Page 69: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Debagovanje

Debagovanje je proces u kome se uz pomoc hardverskog debagera vrsitestiranje aplikacije

Odsek za elektroniku 13E044IRS ETF Beograd 67 / 91

Page 70: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Klikom na ovodugme prekida sedebagovanje

Run - klik na ovodugme izvrsavaprogram Step Into - klik na

ovo dugme izvrsavainstrukciju koja jemarkirana zelenom

Dugme zareset

Disassembly prozorprikazuje programonako kako je smesten umemoriju

Zeleni marker ukazuje nasledecu instrukciju kojatreba da se izvrsi

Svakoj liniji originalnogkoda koja je prevedenau procesu kompajliranjaodgovara jedna linija uDisassembly prozoru

Odsek za elektroniku 13E044IRS ETF Beograd 68 / 91

Page 71: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Prozor sa registrima

Dugme za postavljanjeBreakpoint-a

U View meniju sevrsi izbor prikazarazlicitih resursapromenljivih/parametara

Plavi marker ukazuje nabreakpoint

Odsek za elektroniku 13E044IRS ETF Beograd 69 / 91

Page 72: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Debagovanje

Najjednostavniji i najpregledniji vid debagovanja je single steppingProblem je sto to moze dugo da potraje i zamorno je

Mnogo efikasniji vid debagovanja je postavljanjem Breakpoint-a nadobra mesta

Generalno, Breakpoint se postavlja tamo gde treba detektovati spoljnidogadaj preko registra (u nasem slucaju pritisak tastera) i tamo gde seocekuje reakcija na taj dogadaj

Odsek za elektroniku 13E044IRS ETF Beograd 70 / 91

Page 73: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Uz dobro osmisljenpolozaj Breakpoint-atestiranje se svodi nanekoliko uzastopnihpritisaka na ”Run” ikonicu

Glavni Breakpoint jenajlogicnije stavljen nainstrukciju koja ocitavastanje tastera

Kad god se izvrsavanjeprograma zaustavimoguce je menjati sadrzajregistra

S obzirom da se testirada li program detektujepritisak tastera ovo jedobar polozaj drugogbreakpoint-a

Odsek za elektroniku 13E044IRS ETF Beograd 71 / 91

Page 74: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Expressions prozor sluzi zaprikazivanje raznorodnih podataka,kao sto su promenljive, konstante,sadrzaj registara itd. Dodavanjenove promenljive je omoguceno upadajucem meniju nakon selekcije

Odsek za elektroniku 13E044IRS ETF Beograd 72 / 91

Page 75: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 73 / 91

Page 76: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija stanja tastera

ZadatakNapisati program za razvojni sistem koji dok je pritisnut jedan tasterdrzi ukljucenu jednu LED diodu

NapomeneOcitavanjem PxIN registra za odgovarajuci pin moguce je detektovatida li je taster pritisnut ili ne

Odsek za elektroniku 13E044IRS ETF Beograd 74 / 91

Page 77: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 75 / 91

Page 78: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 75 / 91

Page 79: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija stanja tastera

ZadatakNapisati program za razvojni sistem koji dok je pritisnut jedan tasterdrzi ukljucenu jednu LED diodu

NapomeneOcitavanjem PxIN registra za odgovarajuci pin moguce je detektovatida li je taster pritisnut ili ne

Resenje{asm|c}-button-glow

Odsek za elektroniku 13E044IRS ETF Beograd 76 / 91

Page 80: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 77 / 91

Page 81: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 78 / 91

Page 82: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija pritiska tastera

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti poliranjem.

Odsek za elektroniku 13E044IRS ETF Beograd 79 / 91

Page 83: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Detekcija pritiska tastera

Algoritam detekcije pritiska tastera se zasniva na detekciji opadajuceivice na ulaznom pinu

Glavni program mikrokontrolera treba periodicno da ocitava stanjeulaznog pina, poredi ga sa vrednosti iz prethodnog ocitavanja i uslucaju detekcije prelaska sa 1 na 0 izvrsi zahtevanu radnju.

Vdd

S4

P2.7

0 0 0 0 01 1 1 1 1 1

t

Pritisak na taster odgovarasituaciji kada je novo ocitano stanje 0 a

prethodno je bilo 1 Trenuci kada se vrsiocitavanje porta

Odsek za elektroniku 13E044IRS ETF Beograd 80 / 91

Page 84: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija pritiska tastera

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti poliranjem.

Resenje{asm|c}-button-toggle

Odsek za elektroniku 13E044IRS ETF Beograd 81 / 91

Page 85: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 82 / 91

Page 86: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija pritiska tastera

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti putem prekidne rutine porta.

Odsek za elektroniku 13E044IRS ETF Beograd 83 / 91

Page 87: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Drugaciji pristup - prekidi

Prekidi koji se generisu promenom stanja ulaznih pinova portova P1 i P2

Vdd

Prekid generisan hardverski

S4

P2.7

0 0 0 0 01 1 1 1 1 1

t

Odsek za elektroniku 13E044IRS ETF Beograd 84 / 91

Page 88: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Detekcija pritiska tastera

ZadatakNapisati program za razvojni sistem koji na svaki pritisak jednogtastera menja stanje ukljucenosti LED diode

NapomeneIspitivanje da li je taster pritisnut vrsiti putem prekidne rutine porta.

Resenje{asm|c}-button-toggle-isr

Odsek za elektroniku 13E044IRS ETF Beograd 85 / 91

Page 89: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Pregled

1 UvodPlan radaMSP430

2 Hello, world!Digitalni portoviRazvojno okruzenje

Asemblerski projekatC-ovski projekatKompajliranjeDebagovanje

3 Detekcija stanja tastera

4 Detekcija pritiska tasteraPoliranjePrekid

5 Sedmosegmentni displej

Odsek za elektroniku 13E044IRS ETF Beograd 86 / 91

Page 90: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Sedmosegmentni displej

ZadatakNapisati program za razvojni sistem koji na pritisak jednog tasteravrednost zapisanu u registru R12 prikazuje na sedmosegmentnom LEDdispleju.

Napomeneispitivanje da li je taster pritisnut vrsiti putem prekidne rutineporta.ispisivanje na sedmosegmentni LED displej implementirati u vidufunkcije WriteLed u posebnom asm fajlu.

Odsek za elektroniku 13E044IRS ETF Beograd 87 / 91

Page 91: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 88 / 91

Page 92: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Opis hardvera

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

Vdd

a gfedbc

SEL1

ga fedbc

SEL2

ga fedbc

SEL3

ga fedbc

SEL4

S1

S2

S3

S4

SEL1

SEL2

SEL3

SEL4

g

f

e

d

c

b

a

LD1

LD2

LD3

LD4

MSP430F5438A

P2.4

P2.5

P2.6

P2.7

P11.1

P11.0

P10.7

P10.6

P4.3

P4.4

P4.5

P4.6

P6.0

P6.1

P6.2

P6.3

P6.4

P6.5

P6.6ULN2003A

Odsek za elektroniku 13E044IRS ETF Beograd 88 / 91

Page 93: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Sedmosegmentni displej

Sedmostegmentni displej koji je prisutan na ploci je sa zajednickomanodom

displej se ukljucuje pomocu SELi signalapojedinacni segmenti se kontrolisu pomocu a..g signala

Da bi se ustedeo broj fizickih linija potrebnih za upravljanje sa 4 LEDdispleja koji su prisutni na ploci, signali a..g su multipleksirani

Najjednostavniji nacin za ispisivanje cifara na displej je da se napravitabela gde sadrzaj svakog reda predstavljaju vrednosti signala a..g zakoje se na LED displeju prikazuje indeks tog reda

Odsek za elektroniku 13E044IRS ETF Beograd 89 / 91

Page 94: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Sedmosegmentni displej

a

g

f

e

d

b

c

a

b

c

d

e

f

g

P6.6

P6.5

P6.4

P6.3

P6.2

P6.1

P6.0

ULN2003Asegtabsegtab+ 4segtab+ 9

9 8 7 6 5 4 3 2 1 0

0

1

X

1

0

0

0

0

X

1

0

0

1

0

1

1

Odsek za elektroniku 13E044IRS ETF Beograd 90 / 91

Page 95: Integrisani racunarski sistemi Uvodtnt.etf.rs/~oe4irs/pdf/vezbe/irs1.pdf · Pregled 1 Uvod Planrada MSP430 2 Hello,world! Digitalniportovi Razvojnookruˇzenje Asemblerski projekat

Zadatak – Sedmosegmentni displej

ZadatakNapisati program za razvojni sistem koji na pritisak jednog tasteravrednost zapisanu u registru R12 prikazuje na sedmosegmentnom LEDdispleju.

Napomeneispitivanje da li je taster pritisnut vrsiti putem prekidne rutineporta.ispisivanje na sedmosegmentni LED displej implementirati u vidufunkcije WriteLed u posebnom asm fajlu.

Resenje{asm|c}-button-7seg

Odsek za elektroniku 13E044IRS ETF Beograd 91 / 91