MSP430 Mikrokontrollerin ohjelmointi C-kielellä
Tältä sivulta alkaa sarja kirjoituksia, jotka opastavat vasta-alkajia mikrokontrollerin ohjelmointiin C-kielellä. Kirjoitukset liittyvät MSP430-mikrokontrollereihin ja etenkin TI:n Launchpadiin. Asiat on kuitenkin pyritty kirjoittamaan siten, että ne pätevät vaikka mikrokontrollerina ei olisikaan MSP430. Ohjelmointialustana LaunchpadMSP430 Launchpad on Texas Instrumentsin kehittämä harrastelijoille suunnattu erittäin edullinen mikrokontrollerin kehitysalusta. Launchpad tukee TI:n value line -sarjan mikrokontrollereita, joita ovat kaikki G-sarjan mikrokontrollerit. Launchpadin saa tilattua TI:n e-store verkkokaupasta vaivaiseen 4,30 taalan hintaan, joka on 3,18 € (pvm 16.11.2011 klo 22:00 kurssilla). Launchpadeja on saatavilla mm. myös Mouser, Arrow, Digi-Key ja AvnetExpress toimittajilta, mutta TI:n e-store on minun mielestäni ihan hyvin toimiva verkkokauppa tänne Suomeenkin. Sieltä olen itsekin tilannut kyseisen levyn. Tässä oppaassa käydään läpi Launchpadille tehtäviä sovelluksia rinnakkain C-kielen opiskelun kanssa. Esimerkit mahtuvat mukana tulevaan MSP430G2231 mikrokontrollerin flash muistiin (2 kilotavua) ja kaikki koodit ovat vapaasti kopioitavissa. Suurin osa esimerkeistä on yksinkertaisia, sillä kyseessä on aloittelijoiden opas. Opas luonnollisesti päivittyy ajan kuluessa, kunhan kerkeän esimerkkejä tekemään. Sattuneet virheet korjataan lukijapalautteen mukaan tai jos itse huomaan niitä. TyökalutLaunchpadin ohjelmoimiseen tarvitaan IAR:n MSP430 kickstart tai TI:n CCS ohjelmointityökaluja. Tietysti voi käyttää open source -työkaluja, kuten esimerkiksi GCC, mutta tässä oppaassa keskitytään vain CCS:n esimerkkeihin. CCS on Texas Instrumentsin tarjoama sovelluskehitysympäristö, minkä avulla pystytään sovelluksia Launchpadille luomaan. Tottakai voit käyttää myös IAR:n kickstart sovellusta, mutta CCS on valittu sen takia, koska sen ilmaisversion koodiraja on suurempi kuin IAR:n vastaava. Ennen kuin aloitetaan, kannattaa asentaa CCS:n uusin versio tietokoneellesi. Latauslinkki löytyy TI:n wikisivulta: Download_CCS. Valitse sivuilta "Download latest production CCSv4 MSP430/C28x code size limited image" -tekstin alla oleva latauslinkki. Asennusohjeet puolestaan löytyvät TI:n User's Guidesta, mihin on linkki: http://www.ti.com/lit/ug/slau157s/slau157s.pdf. Tässä oppaassa ei käsitellä CCS:n asennusta, sillä asioita on muutenkin paljon selitettävänä. Kannattaa tutustua myös Launchpadin dokumentteihin Quick Start Guide ja User's Guideen. Nämä opastavat alkuun launchpadin asentamisessa ja tutustumisessa itse lautaan. Jos haluat päästä nopeasti käsiksi koodiesimerkkeihin, niin löydät niitä myös TI:n sivuilta. Tiedostossa SLAC463.zip on koottuna koodiesimerkit CCS ja IAR:n kääntäjälle assembly-kielellä sekä C-kielellä. Launchpad ohjelmointiopasAlle on lisätty linkit kaikkiin osiin jotka ovat julkaisukelpoisessa tilassa, osiin saattaa tulla muutoksia ja voi olla että asiavirheitä löytyy, joten mikään MSP430 tai C-kielen-raamattu tämä ei tietenkään ole. Olettaisin kuitenkin, että aloittelija hyötyy suomenkielisestä oppaasta, vaikka englanninkielisiä oppaita on netissä jo pilvin pimein. Parissa ensimmäisessä osassa perehdytään ohjelmoinnin perusasioihin, jotka voivat olla joillekin tuttua ennestään. Oppaassa edetään asteittain kohti monimutkaisempia mikrokontrollerisovelluksia, aloittaen kuitenkin ihan perusteista. Suosittelisin kuitenkin (jos opiskelet aihetta parhaillaan), että kun törmäät sinisellä väritettyyn otsikkoon nimeltä Esimerkki X, niin kirjoitat saman esimerkin omaan lähdekoodiisi ja tutkit koodin toimintaa oman kehitysympäristösi avulla. Opas päivittyy ajan kanssa ja lisää osia tulee enemmän tai vähemmän säännöllisin väliajoin. Myös mahdolliset (ja todennäköiset) virheet korjataan heti kun niitä huomataan ja toki voit laittaa palautetta jos itse huomasit jotain epäselvää. Muista lisätä sivu kirjanmerkkeihin niin voit välillä käydä vilkaisemassa onko mitään uutta julkaistu. Kuten elektroniikka-sivullakin, niin harmaalla olevat osat ovat työn alla. Ensimmäiset 10 osaa keskittyy enemmän c-kielen perusteiden esille tuomiseen ja siitä eteenpäin tutustutaan enemmänkin Launchpadin mikrokontrollerin ominaisuuksiin ja asioihin mitä sillä voi tehdä. Johdantoa C-kieleen ja LaunchpadiinOsa 0: Lähtölaukaus - Projektin ja
ohjelmarungon luominen (kuvallinen ohje) Launchpadin käyttöä varsinaisissa sovelluksissaOsa 11: Back to basics - kohti rekistereitä (Porttipinnien rekisterit) Vaativampaa materiaaliaOsa xx: Osoittimet (pointterit)
| ||