eLua ja MicroPython sulautetuissa järjestelmissä
Kääriäinen, Jaakko (2020)
Kääriäinen, Jaakko
2020
Tieto- ja sähkötekniikan kandidaattiohjelma - Degree Programme in Computing and Electrical Engineering, BSc (Tech)
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-04-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202005155351
https://urn.fi/URN:NBN:fi:tuni-202005155351
Tiivistelmä
Sulautetut järjestelmät ovat käytössä monessa arkipäivän laitteessa. Ne on suunniteltu suorittamaan vain yhteen käyttötarkoitukseen tarkoitettuja toimenpiteitä. Yleisin ohjelmointikieli sulautetussa ohjelmoinnissa on C-kieli, joka ei välttämättä ole aloittelevan ohjelmoijan ensimmäinen ohjelmointikieli. Tässä työssä tutkittiin eLuaa ja MicroPythonia, jotka on suunniteltu sulautettuun ohjelmointiin. Ne ovat uudelleentoteutuksia Lua- ja Python-ohjelmointikielistä. Tavoitteena oli selvittää, kumpi kielistä on käytännöllisempi sulautetussa ohjelmoinnissa. Tutkimus suoritettiin käyttämällä kirjallisia lähteitä.
Työssä on kaksi osaa. Ensimmäinen osa on kirjallisuustutkimus, jossa esitellään työssä tutkittavien kielten taustat ja ominaisuudet. Sen jälkeen käsitellään sulautettujen järjestelmien piirteitä, ohjelmointia ja muutamia sovelluksia. Lopuksi esitellään kielten toteutuksia sulautetuille järjestelmille. Toisessa osassa vertaillaan toteutusten ominaisuuksia ja esitetään niiden perusteella tutkimuksen johtopäätös. Vertailukriteereiksi käytännöllisyydessä nähdään totetusten helppokäyttöisyys tuotannossa, prosessoriarkkitehtuurien tuki, ohjelmistomoduulien saatavuus ja vähimmäismuistinkäyttö.
Tutkimuksen tuloksena MicroPython osoittautui käytännöllisemmäksi kieleksi kuin eLua. Pythonin laajan yhteisötuen ansiosta MicroPython toimii monessa prosessoriarkkitehtuurissa ja sillä on kattava laajennuksien tarjonta. MicroPython käyttää myös vähemmän RAM-muistia, joka on yksi niukoista resursseista sulautetuissa järjestelmissä. eLuan vahvempi puoli on kuitenkin kattavampi sulautetun ohjelmoinnin moduulivalikoima sisäänrakennettuna kieleen, mikä antaa valmiudet useille sulautettujen järjestelmien sovelluksille.
Työssä on kaksi osaa. Ensimmäinen osa on kirjallisuustutkimus, jossa esitellään työssä tutkittavien kielten taustat ja ominaisuudet. Sen jälkeen käsitellään sulautettujen järjestelmien piirteitä, ohjelmointia ja muutamia sovelluksia. Lopuksi esitellään kielten toteutuksia sulautetuille järjestelmille. Toisessa osassa vertaillaan toteutusten ominaisuuksia ja esitetään niiden perusteella tutkimuksen johtopäätös. Vertailukriteereiksi käytännöllisyydessä nähdään totetusten helppokäyttöisyys tuotannossa, prosessoriarkkitehtuurien tuki, ohjelmistomoduulien saatavuus ja vähimmäismuistinkäyttö.
Tutkimuksen tuloksena MicroPython osoittautui käytännöllisemmäksi kieleksi kuin eLua. Pythonin laajan yhteisötuen ansiosta MicroPython toimii monessa prosessoriarkkitehtuurissa ja sillä on kattava laajennuksien tarjonta. MicroPython käyttää myös vähemmän RAM-muistia, joka on yksi niukoista resursseista sulautetuissa järjestelmissä. eLuan vahvempi puoli on kuitenkin kattavampi sulautetun ohjelmoinnin moduulivalikoima sisäänrakennettuna kieleen, mikä antaa valmiudet useille sulautettujen järjestelmien sovelluksille.
Kokoelmat
- Kandidaatintutkielmat [8314]