Professional Documents
Culture Documents
0.2. IDE-Asennus by WinAVR Ja AVRStudio
0.2. IDE-Asennus by WinAVR Ja AVRStudio
Atmelin AVR-mikro-ohjaimille.
15.8.2008 pva
“Pienen maan armeija on samaa tarkoitusta varten kuin päivystävän upseerin pistooli.
Omia varten.”
- Arvo Salo
Sisältö
1. Yleistä
2. WinAVR asennus
3. AVRStudio asennus
4. Virtual COM asennus
5. Opiskeluympäristö
Yleistä
1
Sulautetun järjestelmän ohjelman tekeminen alkaa lähdekoodin kirjoittamisella. Puhtaan
konekoodin (se jota CPU ymmärtää) kirjoittaminen on kovin työlästä. Erilaisilla ’ihmisläheisillä’
ohjelmointikielillä se sujuu paljon helpommin. Ohjelmat kirjoitetaan tänäpäivänä pääasiassa C-
kielellä. Lähdekoodi tallennetaan ASCII-teksti-muotoisena tiedostoon. Tekstieditoriksi käy mikä
tahansa, me käytämme AVRStudion editoria.
Korkean tason kielet on muunnettava mikroprosessorin ymmärtämään muotoon, konekieleksi.
Siihen tarvitaan käänninohjelma. Sulautettujen laitteiden ohjelmia kehitetään muussa kuin
kohdeympäristössä (PC-koneessa jossa voi olla joko Windows- tai Linux-käyttöjärjestelmä), jolloin
tarvitaan ristikäännin. Ristikäännin toimii PC-tietokoneessa, mutta koodi käännetään
kohdeprosessorin (AVR) konekoodiksi.
Koodin testaaminen ja ajaminen ei käy PC-koneessa, koska niissä on eri prosessorit. Tarvitaan
käytettävän mikro-ohjaimen sisältämä testausympäristö, yleensä pieni kortti tai kitti.
Jos tuohon mikro-ohjain-opiskelukorttiin voi asentaa erilaisia I/O-kortteja, mieluusti myös
itsetehtyjä, oppiminen tehostuu olennaisesti. Ja se mahdollistaa myös ”hyötykäyttöön”
tarkoitettujen sovellusten tekemisen.
1. Projektinhallintatyökalu
Luo projektikansion, johon se tallettaa lähdekoodin ja käännöstulokset.
2. Tekstieditori
C-kielisen lähdekoodin (ASCII) kirjoittamiseen. Se tulee AVRStudion myötä.
3. C-käännin
C-koodi käännetään konekoodiksi avr-gcc-kääntimellä (se on WinAVR-paketissa).
2
IDE:n sisältämien ohjelmien asennus
Tarvittavat ohjelmat ja tiedostot
Tiedosto Koko Mistä (löytyy Microsalon USB-tikulta)
AvrStudio4Setup.exe 91’964 kB http://www.atmel.com/
WinAVR-20080610-install.exe 22’884 kB http://sourceforge.net/projects/winavr
doc2503.pdf Atmega32 datasheet 5,2 MB www.atmel.com
GNU Binutils
Binutils pakettilla rakennetaan lähdekoodista objektitiedostot. Binutils sisältää ohjelmia, joita
tarvitaan käännöstyössä, c-kääntimen lisäksi löytyy mm. linker ja assembler (assembly-koodin
käännin). Näistä ei koodarin tarvitse tietää kummennin, koska kaikki toimii automaattisesti.
avr-as, assembler-käännin
avr-ld, linkittäjä, linkitin, linker.
Linkittäjä-ohjelma yhdistää valmiiksi käännetyt ns. objektitiedostot ja ohjelmassa tarvittavat
kääntimen mukana tulleet kirjastotiedostot, yhdeksi, ajokelpoiseksi tiedostoksi. Toiminta on
automaattinen, koska se on integroitu GCC-kääntimeen.
avr-libc
Kääntimen työ on kääntää koodia. Tätä varten käännin tarvitsee tiedon ”miten tuo kaikki tehdään”.
avr-libc on kirjasto, jossa on kokoelma ohjelmoinnisssa tarpeellisia aliohjelmia, rutiineita. Sinne on
koottu myös iso joukko headereita, erilaisia määritystiedostoja. avr-libc:n on osa open source
projectia, jonka pohjana on C:n standardikirjasto. Yhdessä avr-binutils, avr-gcc ja avr-libc
tiedostopaketit muodostavat Opensource perustyökalut Atmelin AVR-mikro-ohjaimille.
Kirjasto on jaettu kahteen osaan:
libc.a, yleisfunktioita
limb.a, jossa on matemaattisia funktioita kuten sin, cos, sqrt, pow (<math.h>).
Käyttäjän manuaalista löytyy kaikki tarvittava tieto kirjaston käytöstä.
3
avrdude
(lataaja- eli ohjelmointiohjelma). Siinä on tuki hyvin monelle erilaiselle ohjelmointikaapelille.
Mfile
makefile editori, se on ohjelma makefilen tekoon.
Programmers Notepad
Tekstieditoir ja IDE AVR-ohjaimille
ja paljon muuta
HUOM!
Nyt on korkea aika laittaa Windows-asetukset niin, että tiedostotarkenteet näkyvät.
Jos et tiedä mikä on tiedostotarkennin, niin on viisainta lopettaa tähän.
Ja opiskella ensin PC:n käyttöä.
Ja sitten asennustöihin
4
Tiedosto on viisainta asentaa oletushakemistoon, eli C-aseman juureen, koska siten säästyt
hakupolkujen määrittelyltä.
Työkansio
Luo kansio: D:\Omat_koodit ja sinne jokaiselle C-ohjelma-aiheelle (ekat, keskeytys, timer, jne.)
oma alihakemisto. Koodin teko alkaa luomalla aiheeltaan oikeaan hakemistoon (esim. D:\Omat-
koodit\ekat) projektikansio. Sen tekee automaattisesti AVRStudio työn alussa.
5
Seuraavaksi asennetaan AVRStudio 4
AVR Studio on Atmelin vapaasti jakama ohjelma, joka on oikeastaan IDE, Integrated Development
Environment, integroitu AVR-ohjelmien kehitysympäristö, joka sisältää erilaisia työkaluja, mm:
Projektinhallintatyökalu
tekee projektikansion, johon talletetaan kirjoittamamme lähdekoodi ja ohjelma kokoaa (lähes)
automaattisesti kaikki muutkin työssä tarvittavat tiedostot.
Editori
(assembly- ja) c-kielisen lähdekoodin kirjoittamiseen.
Simulaattori
Ohjelman debuggaaminen PC-koneessa.
AVR Studiota voi käyttää ed. lisäksi mm ohjelman etenemisen seurantaan, (sekä assembly-, että C-
koodia) ja mikro-ohjaimen toiminnan opiskeluun. Ohjelmassa voi avata lukuisia eri ikkunoita,
joissa voi seurata ohjaimen yleis- ja I/O-rekisterien ja porttien tilaa, muistin käyttöä, muuttujien
arvoja, jne.
AVRStudion asentamiseen ei tarvita enempää ohjetta, vaan noudata ohjelman edetessä avautuvia
ohjeita tai paina vaan enter. Hakemistosuositus C:\WinAVR\Atmel\, mutta se toimii myös
asennettaessa oletushakemistoon (eli sinne minne se itse haluaa asentua).
Tee ohjelmalle pikakuvake.
6
Kytke PV-M322-kortti USB-kaapelilla PC-koneeseen. Windows ilmoittaa havainneensa uuden
USB-laitteen. Tarkista sarjaportin numero: Valitse My Computer hiiren oikealla napilla, Properties,
Hardware, Device Manager/Laitehallinta, Ports.
Asenna Virtual COM (Näkyy kuvassa kohdassa USB Serial Port (COM4)) seuraavan ohjeen
mukaan.
7
Tässä kerrotaan miten asennetaan ns. virtuaalinen COM-portti PC-koneeseen. Silloin kaikki
sarjaporttia käyttävät ohjelmat voidaan ohjata USB-porttiin tämän virtuaalisen portin kautta.
Ensimmäisellä kerralla Windows ilmoittaa löytäneensä uuden laitteen. Tämä asennus tehdään
luonnollisesti vain kerran.
8
Selaa/Browse oikea hakemisto, eli ilmoita missä ajurit ovat. Next.
9
Kun kaikki on valmista, ruutuun tulee ilmoitus:
10
Ja saimme aikaan tämän (eka.c:n kirjoittamisen jälkeen).
Korttina joko PV-M32 tai sen uudempi versio PV-M322 tai nettikortti PV-M644.
11
Tarkista, että asennus onnistui.
Vaihda nopeudeksi 115200 bps. Muut asetukset, 8 kpl databittejä, ei pariteettitarkistusta, 1 kpl stop-
bitti, ei vuonohjausta.
Vaihda COM-portiksi COM4. Valitse Advanced...
12
Kun painat OK, ohjelma saattaa herjata ettei käy, mutta älä välitä siitä.
Kun kaikki ok, Windowsin Device Manager näyttää uuden portin näin.
Jos ohjelma ei löydä korttia, irroita USB-kaapeli ja laita takaisin. Nyt löytää.
13
Make
Isot ohjelmat koostuvat useasta lähdekoodi- ja otsikkotiedostosta (samassa työssä voi olla monta
koodaajaa tai ohjelman koko edellyttää sitä). Kääntimen tarvitsemat ohjeet ovat ohjelmien
kasvaessa hyvin monimutkaisia, koska tarvittavien komentojen määrä kasvaa. Kaikkea ei ole
kuitenkaan tarpeen kääntää joka pikku muutoksella. Unix/Linux-maailmassa on apuvälineenä
käytössä make, make- tai gmake (Gnu make) -apuohjelma. Nyt se on sovitettu AVR:lle.
Make on softan tekemisessä laajalti käytetty ohjelma. Sillä käännösprosessi automatisoidaan ja siitä
poistetaan arkirutiinit. Makea varten tehdään ohjetiedosto makefile. Siitä make.exe lukee käännös-
parametrit, eli käännösohjeet. Ohjeitten on oltava samassa työhakemistossa, missä meillä on
käännettävä lähdekoodi. Make lukee tätä ohjetiedostoa, jossa kuvataan miten käännösprosessi
tehdään.
make.exe
on erillisen määrittelytiedoston (makefile) avulla gcc-käännöstä ohjaava ohjelma.
katso tarkemmin: C:\WinAVR\doc\ tai http://www.gnu.org/manual/make/index.html
makefile
Eli lyhyesti, makefile kertoo mitkä tiedostot pitää kääntää ja miten. Oikeastaan se on vain luettelo
erilaisia ohjeita ja sääntöjä.
makefile
sisältää kääntämisohjeet avr-gcc-kääntimelle
Makefile-tiedosto on ollut tähän asti alkavan avr-gcc-koodarin vaikein asia. Ei ole enää!
Siitä ei tässä vaiheessa tarvitse tietää tämän enempää. AVRStudio nimittäin osaa tehdä
kohtuullisen, alkuun ihan riittävän hyvän, makefileen, ihan itse.
14
Opiskeluympäristö
Toinen tärkeä ominaisuus on pieni koko (kevyt). Vielä jos tarvittavat pakolliset laitteet on
minimoitu (ohjelmointikaapeli, virtalähde), niin kortti kulkee myös koulusta kotiin ja mahdollistaa
tehokkaan oppimisen.
15