Predstavitev se nalaga. Prosimo počakajte.

Predstavitev se nalaga. Prosimo počakajte.

Mikrokrmilnik in programiranje

Podobne predstavitve


Predstavitev na temo: "Mikrokrmilnik in programiranje"— Zapis predstavitve:

1

2 Mikrokrmilnik in programiranje
Programsko opremo mikrokrmilnikov razvijamo večinoma v programskem jeziku C. Včasih se pokaže potreba po programiranju tudi v zbirnem jeziku. Programiranje v zbirnem jeziku zahteva temeljito poznavanje arhitekture mikrokrmilnika. Tudi programiranje v programskem jeziku C za mikrkormilnike zahteva kar dobro poznavanje aritekture. To je pomembna značilnost razvoja programske opreme (tudi v C-ju) za mikrokrmilnike v primerjavi s programiranjem za računalniške sisteme za splošne namene, ki delujejo pod nadzorom operacijskega sistema in z izdatno sistemsko podporo.

3 Mikrokrmilnik in programiranje
Programiranje v višjih programskih jezikih je bolj ekonomično kot v zbirnem jeziku. Današnji prevajalniki praviloma naredijo boljšo strojno kodo, kot bi jo mi sami (oz. povprečen programer). S tega stališča se pomen programiranja v zbirnem jeziku manjša (izginja?). Vendarle, tipičen programski projekt, čeprav v veliki večini v višjem programskem jeziku, običajno vključuje tudi vsaj nekaj zbirniških vrstic. Vendarle, programiranje v zbirnem jeziku neizprosno zahteva več znanja in s tega stališča posredno vpliva na bolj kakovosten razvoj programske opreme tudi v višjih programskih jezikih. Kakorkoli, sposobnost napisati nekaj zbirniških vrstic, spada v splošno izobrazbo elektroinžinirja.

4 Mikrokrmilnik in programiranje
Tipičen programski projekt vsebuje: Pridružene datoteke Splošne definicije Definicije (npr. konfiguracijskih) konstant Definicije naslovov V/I registrov, prekinitvenih vektorjev, pomnilnika RAM, Flash, ... .... Začetni del (zagonski del) programa Priprava sklada Priprava prekinitvenih vektorjev Definicije globalnih spremenljivk

5 Mikrokrmilnik in programiranje
Tipičen programski projekt vsebuje (nadaljevanje): Glavni (del) programa (datoteko) Poljubno število podprogramov (datotek) Nekatere podprograme v zbirnem jeziku (datoteke) Nekatere programe (datoteke) objektne narave Po potrebi programske knjižnice (datoteke) Konfiguracijske datoteke Najenostavnejši projekt bo vseboval eno datoteko s programskim besedilom (izvornim programom). Izvorni program je v programskem jeziku, ki ga uporablja programer, na primer zbirniški.

6 Mikrokrmilnik in programiranje
Razvojni cikel: Pisanje programskega besedila (urejevalnik) Prevajanje, popravljanje sintaktičnih napak (prevajalnik) Povezovanje, popravljanje povezovalnih napak (povezovalnik) Nalaganje (v pomnilnik, ali simulator) (nalagalnik) Preizkušanje, razhroščevanje, popravljanje logičnih napak. (razhroščevalnik)

7 Mikrokrmilnik in zbirnik
Zbirni jezik sestavljajo: Sintaktična pravila (določajo kako pisati) Začetek/konec, komentar, ... Mnemoniki ukazov (procesorja) Najdemo jih v programerskem priročniku Zbirniški ukazi (navodila za prevajanje) Začetni naslov programa, podatkov Definicije konstant, spremenljivk, ... Znaki s posebnim pomenom Na primer $, #, ....

8 Mikrokrmilnik in zbirnik
Zbirni jezik je “vrstične” narave Vrstica vsebuje ukaz procesorja ali ukaz zbirnika Splošna oblika vrstice: Oznaka Mnemonik Operand ;Pojasnilo (Operator) Oznako zaključi dvopičje Pojasnilo začne s podpičjem Na primer: LDAA #$10 Zanka: DECA BNE Zanka ; komentar

9 Mikrokrmilnik in zbirnik
Zbriniški program je lahko: Absoluten Relativen (tudi premakljiv). Absoluten program s programskim besedilom določi namestitev v pomnilniku. Premakljiv prepusti to nalogu povezovalniku. Nalagalnik preprosto naloži program v pomnilnik na predvidene naslove (prenese v pomnilnik).

10 HCS12 absolutni program Poznati moramo razporeditev v naslovnem področju: Kje je pomnilnik RAM Kje je pomnilnik EEPROM Kje je Flash Kje so registri V/ enot Kje so prekinitveni vektorji

11 HCS12 absolutni program – primer
; ; --- primer (izvornega) programskega besedila ; --- najprej splošne definicije konstant, itd. RAM EQU $1000 ;tu začenja pomnilnik RAM PROGRAM EQU $1400 SKLAD EQU RAM+$100 ;tu začenja sklad NPOD EQU 10 ;število podatkov ; --- nato “koda” ORG PROGRAM MAIN: LDX #RAM CLRA ZANKA: ADDA 0,X ;v zanki seštejemo NPOD podatkov INX CPX #RAM+NPOD BNE ZANKA BRA * ;neskončna zanka

12 HCS12 – primer, razčlenitev
Polje oznake je povečini prazno. Oznake uporabljamo običajno pri: Skokih, vejitvah, zankah. Označevanju prvega naslova programa, subrutine, ki je hkrati (oz. s tem postane) njeno ime (“vstopna točka”). Označevanju “pomembnih” naslovov spremenljivk, npr. začetni naslov polja podatkov, sklada, vektorja, ... Oznaka je v bistvu simbolično zapisan naslov (ukaza, podatka), ki se v času prevajanja (povezovanja) nadomesti z dejansko vrednostjo, kot to zahteva programsko besedilo. Ukazi (mnemoniki, operacijske kode) se prevedejo v strojno obliko. Zbirniški ukazi se ne prevedejo v strojno obliko, ampak vplivajo na način prevajanja – izgled prevedenega programa. Primeri: EQU – priredi simbolu vrednost ORG – določi začetni naslov (programa, podatkov), v času prevajanja vpliva na naslovni števec zbirnika. DS.B, DS.W – definira spremenljivko (bajt, beseda). DC.B, DC.W – definira konstanto (bajt, beseda).

13 HCS12 Primer - razčlenitev
Simbolična imena (na splošno) Prvo pravilo dobrega programiranja je: Uporabljaj čimveč simboličnih imen naslovov, vrednosti, konstant. (Skoraj) nikoli ne uporabljaj (izogibaj se uporabi) dejanskih (“trdo kodiranih”) vrednosti. Primer: NPOD EQU ;potem pa povsod samo še NPOD ORG RAM ;bolje kot ORG $1000 Itd. Opomba: Nekatri zbirniški ukazi so t.i. Motorolini: Npr.: FCB, FDB, FCC  DC Npr.: RMB  DS Oboji so v veljavi, a je to vprašanje (dotičnega) zbirnika.

14 HCS12 – primer še enkrat ; ; --- najprej splošne definicije konstant, itd. RAM EQU $1000 PROGRAM EQU $1400 NPOD EQU 10 ;število podatkov ; --- pomnilnik za podatke ORG RAM DS.B NPOD ;rezerviran pom, nedef. vsebina ; DC.B 1,2,3,4,5,6,7, ;def. tudi vsebina ; --- program ORG PROGRAM MAIN: LDX #RAM CLRA ZANKA: ADDA 0,X INX CPX #RAM+NPOD BNE ZANKA BRA *


Prenesi ppt "Mikrokrmilnik in programiranje"

Podobne predstavitve


Oglasi od Google