Tämä - Tekniikan yksikkö - Oamk
Tämä - Tekniikan yksikkö - Oamk
Tämä - Tekniikan yksikkö - Oamk
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Oulun seudun ammattikorkeakoulu / tekniikan yksikkö 1<br />
Pekka Rantala 4.10.2010<br />
SIMO Computer –ympäristön käyttö<br />
Harjoituksen tavoite<br />
Tavoitteena on palauttaa mieleen SIMO Computerin (= Simo) ja Keilin ohjelmankehitysympäristön<br />
käytön perusteet.<br />
Käsiteltävät asiat:<br />
- Simon ja PC:n välisen liitännän pystytys<br />
- Projektin perustaminen KEILin ohjelmankehitysympäristössä<br />
- Ohjelman kääntäminen KEILissä<br />
- Ohjelman lataus Simolle<br />
- Ohjelman suoritus Simossa<br />
- Simon LCD-näytön ominaisuuksiin tutustuminen<br />
Työn suoritus<br />
Tee oma hakemisto ”XXXX” paikallisen kiintolevyn TEMP-hakemistoon tai verkkoon omaan<br />
kotihakemistoosi. Kaikki harjoituksessa tehtävät ja syntyvät tiedostot sijoitetaan tähän hakemistoon.<br />
Opettajan webbi-sivulla (http://www.tekniikka.oamk.fi/~pekkar/tietokonelabrat/) on Simo Computeriin<br />
sopivia demo-ohjelmia 2 vaihtoehoa: ASM- ja C-ohjelma. Kopioi toinen niistä omaan hakemistoosi.<br />
Assembly-kielinen ohjelma ”Simodemo.a51”.<br />
C-kielinen ohjelma ”Simon_testi.C”.<br />
Simon ja PC:n välisen liitännän pystytys<br />
Liitä Simo-kortti PC-koneeseen USB-kaapelilla. Kytke Simo-kortille käyttöjännitteet. Käynnistä PC:n<br />
työpöydältä TeraTerm-pääteohjelma. Ota käyttöön COM3-portti.<br />
Kun kytkennät, käyttöjännitteet ja Teraterm on avattu, paina Simo-kortin RESET-painonappia, joka<br />
sijaitsee LCD-näytön vieressä. PC:n näytölle pitäisi tulostua "Simo Computer…" -teksti ja > prompti.<br />
Jos yhteys ei herää henkiin, kokeile kytkeä vähän eri järjestyksessä USB-kaapeli, power-johto ja<br />
Teraterm-ikkuna. Palaahan Simolla vihreä power-LED, että jännitteet on OK?<br />
Onnistuneen yhteyden jälkeen anna näppäimistöltä help-komento "h" + enter, jolloin näytölle tulostuu<br />
SimoComputerin monitoriohjelman ymmärtämät komennot ja niiden syntaksi.<br />
Kaikki Simon monitoriohjelman käyttämät lukuarvot ovat heksalukuja. Kun komennoissa<br />
annetaan lukuarvoja, niiden lopussa ei saa olla H-kirjainta.<br />
Projektin perustaminen<br />
Mikrovision2 = Vision2 = V2 = uv2 on Keilin ohjelmankehitysympäristön työpöytä ja käyttöliittymä,<br />
jonka avulla ohjelmaa kehitetään. Yleensä käytetään evaluaatioversiota. Käynnistä Vision2<br />
paikasta:<br />
apps-verkkolevy…Kotka…Keil2001…UV2…UV2.exe
Oulun seudun ammattikorkeakoulu / tekniikan yksikkö 2<br />
Pekka Rantala 4.10.2010<br />
Visionin Helpistä (about Vision) näkee, onko kyseessä lisenssiversio vai evaluaatioversio (Serial<br />
Number: eval). Version näkee kuitenkin vasta, kun jokin projekti on perustettu tai avattu.<br />
Sulje kaikki mikrovisionin työpöydällä olevat teksti-ikkunat, joissa näkyy ohjelmakoodia. Ota Viewvalikon<br />
kautta näkyviin Project Window.<br />
Keilin kehitysympäristössä yksi ohjelmistokokonaisuus on projekti, jolle pitää määritellä projektiin<br />
kuuluvia asioita, kuten lähdekieliset ohjelmat ja käytettävä CPU:n piirityyppi.<br />
1. Project New Project<br />
Perusta omaan hakemistoosi vaikkapa XYZ-niminen projekti (XYZ.uv2).<br />
Kun ohjelma kysyy käytettävää piirityyppiä, valitaan: Generic 8051.<br />
2. Avaa Projekti-ikkunassa Target1:n edessä oleva aktivoi Source Group 1 avaa hiiren<br />
oikealla painikkeella valikko Add Files to Group ”Source Group 1” lisää aiemmin<br />
hakemistoosi kopioimasi lähdekielinen tiedosto close<br />
Avaa Projekti-ikkunassa Source Group 1:n edessä oleva kaksoisnäpäytä Simon_testi.C (tai<br />
a51-ohjelmasi) työpöydälle pitäisi aueta ikkuna, jossa on lähdekielinen tiedosto.<br />
3. Aktivoi projekti-ikkunassa ”Target1” Project-valikko Options for Target ”Target1”<br />
Output-välilehti ruksaa kohta ”Create HEX-file OK.<br />
Tämä tehdään, jotta ohjelman käännöksen jälkeen syntyy automaattisesti HEX-tiedosto, joka<br />
sitten ladataan Simo Computerille.<br />
4. Aktivoi projekti-ikkunassa Target1 hiiren oikealla näppäimellä Options for target ´Target1´<br />
Target-välilehti Off-chip Code memory Sart–ruutuun 0x8000<br />
Tämä tehdään, jotta ohjelma sijoittuu oikeaan ohjelmamuistin muistiosoitteeseen.<br />
Projektin rakentaminen = tiedoston kääntäminen<br />
5. Tee pikanäppäimellä tai Project-valikon kautta ”Build target”. Tällöin lähdekielinen ohjelmasi<br />
käännetään, tarvittaessa linkitetään ja lokateerataan (locate = sijoitetaan oikeaan<br />
muistiosoitteeseen) ja lopuksi suoritettava koodi muutetaan HEX-koodiksi. Jos tulee<br />
virheilmoituksia, kaksoisnäpäytä virheilmoitusta status-ikkunassa.<br />
HEX-tiedoston editointia ( ei tarvi tehdä ASM-ohjelman tilanteessa)<br />
6. Avaa Notepadilla hakemistossasi oleva XYZ.hex –tiedosto. Etsi tiedostosta rivi, joka on<br />
muotoa:<br />
:0300000002XXXX....<br />
!!!! Ota muistiin 4-numeroinen luku XXXX!!!!<br />
Poista kyseinen rivi kokonaan tiedostosta, ja tallenna tiedosto uudelleen samalla nimellä.<br />
Ohjelman lataus ja käynnistys Simo Computer -kortilla
Oulun seudun ammattikorkeakoulu / tekniikan yksikkö 3<br />
Pekka Rantala 4.10.2010<br />
7. Lähetä editoitu XYZ.hex-tiedosto SC-kortille TeraTermilla<br />
File Send file hae hex-tiedosto omasta hakemistostasi<br />
Näytöllä näkyy konekielistä koodia. Odota, että ruudulle tulostuu jälleen > kehote.<br />
8. Anna Simo Computerille komento G XXXX, jolla käynnistät käskyjen suorituksen alkaen<br />
osoitteesta XXXX hexa. XXXX on kohdassa 6 muistiin ottamasi osoite. Ohjelmasi pitäisi tällöin<br />
lähteä toimimaan. Painele Simon painonappeja. Tuntuuko toiminta järkevältä? Ohjelma suoritus<br />
saadaan pysäytettyä RESET-napilla.<br />
Reset-napin painaminen ei poista viimeksi ladattua ohjelmaa Simon RAM-muistista. Sama<br />
ohjelma voidaan käynnistää uudelleen ilman latausta G XXXX-komennolla.<br />
Simon LCD-näytön ominaisuuksia<br />
Tutki mitä toimintoja LCD-näytöllä näkyy Simon_testi.C –ohjelman suorituksen aikana, kun painelet<br />
painonappeja 1, 2, 3 ja 4. Katso ohjelman koodista, millaisilla LCD-näytön komennoilla eri toiminnot<br />
on saatu aikaan.