Mikrokrmilnik in programiranje

Slides:



Advertisements
Podobne predstavitve
Specialne knjižnice Specialni knjižničarji = informacijski strokovnjaki Predavanje 2 Izr. prof. Primož Južnič
Advertisements

Številski sistemi Desetiški (okoli 3000 p.n.š. – Egipt)
Sindikat in svet delavcev z roko v roki
Integracija tehnologij XML v projekte, ki temeljijo na objektni tehnologiji Uroš Novak, Zlatko Čajić, Borut Gorenjak, Milan Ojsteršek Laboratorij za.
Tekmovanje elektro in računalniških šol 2019 Kategorija: računalnikar
Kurikulum v Veliki Britaniji
Prekinitve CPE Zahteva za prekinitev Takih (prekinitvenih)
IZRAELSKI KURIKULUM Adriana Jordan.
Podatkovne baze 1 in Osnove podatkovnih baz: priprave za izpit
Najboljše iz obeh svetov: uporaba javanskih knjižnic v .NET
Številski sistemi Desetiški (okoli 3000 p.n.š. – Egipt)
Sosvet za statistiko prebivalstva
Naslov dogodka Datum dogodka Čas dogodka
V/I prenosi Dve napravi, na primer:
MLADI RAZISKOVCI dr. Mitja SLAVINEC
Vektorji.
MINIMAKS IN NAPAKA PRI OCENJEVANJU POLOŽAJEV
Postavitev naslova Podnaslov.
NEMŠKI KURIKULUM IN PRIMERJAVA S SLOVENSKIM
KURIKULUM Slovenija - Finska Pripravila: Anja ŠTRUMBELJ.
Družinska pismenost nekoč in danes
POZORNOST IN KONCENTRACIJA, UČNI STILI
HCS12 – uporaba SCI Priprava vmesnika: Pošiljanje/sprejemanje
Sklad - splošno Kaj je sklad?
DATOTEKE - povzetek open(ime,'w') datPisi = open(ime,'w')
A REPORT.
PROCESORJI Učitelj: Avtor:.
Uporaba LOGGER PROja Aktiv fizikov SEŠTG
Operacijski sistemi.
Andrej Kuzman, Matjaž Podpečan
LIMITA ZAPOREDJA LIMITA FUNKCIJE
DK – Zasnova programirljivih krmilnikov
Patologija pri enoagentnem preiskovanju
Procesorji Intel Itanium
PROGRAMSKI JEZIKI.
Vnos podatkov s tipkovnico
MEDPREDMETNA POVEZAVA geografija - angleščina
Strojna oprema računalnika
Iz vsebine Okvirjenje ABP, GBN, SRP Vrednotenje Odkrivanje napak, CRC.
Programska oprema računalnika
Grafične enote.
Linus Benedict Torvalds.
Spremenljivke, prireditveni stavek
predmet: uporaba IKT pri poslovanju
Če želite vstaviti ta diapozitiv v predstavitev
Kaj je Oddaljeno namizje (ON)?
Operacijski sistemi in virtualizacija
DK – STEP 7 – Podatkovni bloki
Anika Zupančič RAČUNALNIŠKI VIRUSI.
Prezentacija April 2002 šolska leta
Uporaba mikropodatkov Ankete o delovni sili v študijske namene
Objekti, razredi, ... Od kje in zakaj.
IZBIRNI PREDMET V 7.,8. in 9. RAZREDU DEVETLETKE
6. poglavje: Računalniška vezja
Priprava na pisno preverjanje znanja iz informatike
Naprave za masovno shranjevanje podatkov
Najkrajše poti in Bellman-Fordov algoritem
Pogostost Danj je seznam klicanih številk
Kartografska pismenost
Fire Wall ( Požarni zid )
Interna struktura NTFS
Objektno programiranje
Pripravil: Šolsko leto:
Programiranje za učitelje - neprogramerje
 LOGOTIP.
Trdi diski.
DRŽAVLJANSKA VZGOJA: CILJI, VSEBINA IN DIDAKTIČNI PRISTOPI
Polno znanja!.
izkoristek Outlookovih funkcij
Delavnica Projekta Asistent Virtualni asistent za občine in društva
Zapis predstavitve:

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.

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.

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

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.

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)

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 $, #, ....

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

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).

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

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

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).

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 10 ;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.

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,8 ;def. tudi vsebina ; --- program ORG PROGRAM MAIN: LDX #RAM CLRA ZANKA: ADDA 0,X INX CPX #RAM+NPOD BNE ZANKA BRA *