Laiteohjelmiston sovitus uuteen µC-arkkitehtuuriin
Hatunen, Antti (2014)
Hatunen, Antti
Tampereen ammattikorkeakoulu
2014

Creative Commons Attribution-NonCommercial-ShareAlike 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014120318097
https://urn.fi/URN:NBN:fi:amk-2014120318097
Tiivistelmä
Jokainen mikrokontrolleri tekee käytännössä samat asiat hieman eri tavalla. Esimerkiksi IIC-väyläohjain keskustelee aina standardin mukaisesti ulospäin, mutta sisäisesti ohjaus- ja datarekisterit ovat valmistajakohtaisia. Prosessorit ovat oma lukunsa - käskykannat eroavat huomattavasti valmistajien välillä. Kehittyneet kääntäjätyökalut tekevät samasta C-ohjelmakoodista toimivan binäärikoodin mille vain prosessoriperheelle, joten ongelmaksi jäävät eriävät oheislaitteet.
TreLab Oy tekee mittalaitteita teollista internetiä (IIoT) varten. Ensimmäinen tuote rakennettiin tietyn mikrokontrollerin ympärille, mutta luonnollisesti kehityksen tulee jatkua. Olisi äärimmäisen kustannustehotonta kirjoittaa käytännössä sama ohjelmakoodi uudestaan ja uudestaan jokaiselle mikrokontrolleriarkkitehtuurille. Ratkaisu ongelmaan on kerrosarkkitehtuuri, joka abstrahoi laitteistorajapinnan yleiskäyttöiseltä ohjelmakoodilta. Vain mikrokontrollerikohtainen koodi pitää sovittaa yleisten rajapintojen alatasoille.
Tässä työssä luotiin ensimmäinen prototyyppiohjelmisto ja -laitteisto uuden mikrokontrollerin ympärille. Molemmat kontrollerit olivat Atmelin valmistamia, joten Atmelin ASF-ohjelmistokehys nopeutti kehitystyötä huomattavasti. Kaikki alustustoimenpiteistä oheislaitteiden kanssa kommunikointiin ja flash-muistin käsittelyyn saatiin tehtyä nopeasti valmiilla kokonaisuuksilla. Jatkokehittely luultavasti irtaannuttaisi tehtyjä toteutuksia etenkin ASF:n ylemmiltä rajapinnoilta, mutta tämän työn tavoitteena oli tehdä mahdollisimman nopeasti toimiva prototyyppi.
Ympäröivän koodipohjan nopea kehitys aiheutti suuriakin muutoksia omaankin koodiin lähes päivittäin. Vain muutama kuukausi käytännön osuuden valmistumisen jälkeen vaille ylläpitoa jäänyt, hiomaton koodi oli jo huomattavasti päähaaraa jäljessä.
Työstä suoriuduttiin työnantajan puolesta hyväksyttävästi kohtuullisessa ajassa. Työ oli hyvä pohjatyö minkä vain mikrokontrolleriarkkitehtuurin sovittamiseen tulevaisuudessa.
TreLab Oy tekee mittalaitteita teollista internetiä (IIoT) varten. Ensimmäinen tuote rakennettiin tietyn mikrokontrollerin ympärille, mutta luonnollisesti kehityksen tulee jatkua. Olisi äärimmäisen kustannustehotonta kirjoittaa käytännössä sama ohjelmakoodi uudestaan ja uudestaan jokaiselle mikrokontrolleriarkkitehtuurille. Ratkaisu ongelmaan on kerrosarkkitehtuuri, joka abstrahoi laitteistorajapinnan yleiskäyttöiseltä ohjelmakoodilta. Vain mikrokontrollerikohtainen koodi pitää sovittaa yleisten rajapintojen alatasoille.
Tässä työssä luotiin ensimmäinen prototyyppiohjelmisto ja -laitteisto uuden mikrokontrollerin ympärille. Molemmat kontrollerit olivat Atmelin valmistamia, joten Atmelin ASF-ohjelmistokehys nopeutti kehitystyötä huomattavasti. Kaikki alustustoimenpiteistä oheislaitteiden kanssa kommunikointiin ja flash-muistin käsittelyyn saatiin tehtyä nopeasti valmiilla kokonaisuuksilla. Jatkokehittely luultavasti irtaannuttaisi tehtyjä toteutuksia etenkin ASF:n ylemmiltä rajapinnoilta, mutta tämän työn tavoitteena oli tehdä mahdollisimman nopeasti toimiva prototyyppi.
Ympäröivän koodipohjan nopea kehitys aiheutti suuriakin muutoksia omaankin koodiin lähes päivittäin. Vain muutama kuukausi käytännön osuuden valmistumisen jälkeen vaille ylläpitoa jäänyt, hiomaton koodi oli jo huomattavasti päähaaraa jäljessä.
Työstä suoriuduttiin työnantajan puolesta hyväksyttävästi kohtuullisessa ajassa. Työ oli hyvä pohjatyö minkä vain mikrokontrolleriarkkitehtuurin sovittamiseen tulevaisuudessa.