Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Turun ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Turun ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Yocto-projekti ja ohjelmistokehitys sulautetuille järjestelmille : sovellusohjelma Raspberry Pi 3 -alustalle

Vesti, Rauno (2019)

Avaa tiedosto
Vesti_Rauno.pdf (1.137Mt)
Lataukset: 


Vesti, Rauno
2019
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019052712295
Tiivistelmä
Sulautettujen järjestelmien kehitys on tänä päivänä voimakkaasti kasvava tietotekniikan ala, johon erityisesti Internet of Things (IoT, esineiden Internet) avaa valtavat kehitysnäkymät. Opinnäytetyö liittyy keskeisesti juuri tähän tietotekniikan haaraan, ja aiheena on Yocto SDK (Software Development Kit) -sovelluskehitysympäristön asennus ja käyttö. Ohjelmointi ei varsinaisesti kuulunut opinnäytetyön piiriin, vaan ainoastaan hyvin pieni esimerkkiohjelma luotiin ja testattiin Raspberry Pi 3 -minitietokoneella. Työssä lähdettiin liikkeelle Yocto SDK:n asennustiedoston luomisesta Yocto-projektin työvälineillä, mutta itse Yocto-projektin asennus oletettiin jo ennalta suoritetuksi. Yocto-projekti ja Yocto SDK:n uusin versio ovat toiminnoiltaan keskenään lähes vastaavia, joskin Yocto SDK on enemmän suunniteltu nimenomaan sovellusohjelmien kehitykseen ja Yocto-projekti käyttöjärjestelmien luomiseen. Uusimmat versiot näistä järjestelmistä kykenevät molempiin tehtäviin, eikä ero näiden kahden välillä ole suuri.

Opinnäytetyössä Yocto SDK asennettiin Linux Ubuntu 18.04 -järjestelmään Yocto-projektilla luodun asennustiedoston avulla. Yocto SDK:n asentamisen jälkeen luotiin sen avulla ensin käyttöjärjestelmäydin ja tiedostojärjestelmä testiympäristöä ja kohdelaitteistoa varten, joita tässä tapauksessa olivat Quick Emulator (Qemu) ja Raspberry Pi 3 B+. Qemu on virtuaalinen, ohjelmallisesti toteutettu fyysistä laitetta jäljittelevä (emuloiva) sovellus, jota käytettiin ohjelmakoodin testaukseen.

Sovellusohjelman kehitykseen käytettiin erillistä Eclipse IDE -ohjelmointityökalua, joka integroitiin Yocto SDK -kehitysympäristöön Yocto-lisäosan (engl. plug-in) avulla. Ohjelmointivaiheessa koodi käännettiin ja ladattiin Eclipse IDE:n debug-komentoa käyttäen suoraan Qemu-järjestelmään testattavaksi. Kun testausvaihe oli suoritettu onnistuneesti, luotiin Yocto SDK:n devtool add -komennolla resepti (engl. recipe) suoraan Eclipse IDE:n projektitiedostoista. Resepti tarkoittaa tässä yhteydessä järjestelmälle annettavaa ohjeistusta siitä, miten tietty ohjelmistopaketti kootaan. Resepti on vastaava, kuin mitä Yocto-projektissakin käytetään, ja sen avulla voidaan ohjelma kääntää ja asentaa laitteelle tai liittää se muodostettavaan uuteen käyttöjärjestelmään. Viimeisenä vaiheena luotiin bitbake-ohjelmalla Yocto-kerros (layer), jonne devtool finish -komennolla lisättiin uuden ohjelman resepti lopullista varastointia ja myöhempää käyttöä varten eri projekteihin liitettäväksi.
 
The development of embedded systems today is a rapidly growing area of information technology and, in particular, the Internet of Things (IoT) opens up huge prospects for it. The thesis is mainly related to this branch of information technology and the objectives of the thesis were to install and use a Yocto SDK (Software Development Kit) environment. Programming was not within the scope of this thesis. Only a very small sample program was created and tested for the Raspberry Pi 3 minicomputer.

The work started with creating a Yocto SDK installation file with the tools of the Yocto project. It is assumed that Yocto project itself has been pre-installed. The Yocto project and the latest version of Yocto SDK are almost the same in terms of functionality, although the Yocto SDK is more specifically designed for software development and Yocto project for creating operating systems. Nevertheless the latest versions of both are capable of performing these tasks and the difference between them is not notable.

In the thesis, the Yocto SDK was installed on Linux Ubuntu 18.04 using the installation file created by the Yocto project. Once installed, the Yocto SDK was first used to create the operating system kernel and the file system for the test environment and the target hardware, in this case Quick Emulator (Qemu) and Raspberry Pi. Qemu is a virtual device, an application that emulates a physical device, used for testing the program.

Eclipse IDE is a programming tool used in this thesis for software development. It is separate from the Yocto SDK but a plug-in is available for integrating it to the Yocto SDK development environment. In the coding and testing phase the software was compiled and loaded directly into Qemu using the Eclipse IDE debug feature.

Once the testing was successful, a recipe was created directly from the Eclipse IDE project files with the Yocto SDK devtool add -command. Recipes are instructions for the system of how to proceed in creating a certain software package. The Yocto SDK recipe is corresponding to the Yocto project recipe, and it can be used for compiling and installing the program directly on the device or adding it to the operating system when creating it. In this project the program was installed on Raspberry Pi device by the devtool deploy-target –command as a final step to ensure that it works on a physical device as well. As a final step the devtool recipe was transformed to a Yocto recipe with the devtool finish command, and was so exported for storing it in a repository, and to be subsequently used in various projects.
 
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste