Linux dominoi sulautetuissa järjestelmissä, mutta työpöytien tapaan eri alustat uhkaavat fragmentoitua. Onneksi avuksi on kehitetty Yocto-arkkitehtuuri, jonka avulla sovellukset siirtyvät raudalta toiselle minimaalisin muutoksin

 Artikkelin on kirjoittanut SILICAN ohjelmistosuunnittelija Chris Young.

Kun sulautettujen järjestelmien monimutkaisuus on lisääntynyt, projektin kehityksen nopeutta määrittelevä keskeinen tekijä on vaihtunut. Edullisten, täysin varusteltujen kehityskorttien, kokonaisten ohjelmistoekosysteemien ja laadukkaan teknisen tuen merkitys on kasvanut olennaisesti. Kymmenen vuotta sitten laitevalmistajat pystyivät toimittamaan asiakkaille yksinkertaisia kehityspaketteja mikro-ohjaimilla ja sulautetuille prosessoreille hyvin vähäisellä ohjelmistotuella. Yleensä asiakkaan sovellus oli sellainen, että kaikki ohjelmistot voitiin kehittää talon sisällä.

Nyt modernien sovellusten tietoliikenne-, käyttöliittymä- ja etähallintavaatimukset tekevät sulautetun järjestelmän kehittämisen vain omilla ohjelmistoilla erittäin vaikeaksi. Paljon koodia pitää integroida muista lähteistä. Tämä tarkoittaa lisätyötä, sillä kehittäjien täytyy oppia miten eri ohjelmistokomponentit sopivat yhteen ja näitä elementtejä joudutaan mahdollisesti tämän takia mahdollisesti muuttamaan. Tämän takia on noussut kysyntä alustoille, jotka tuovat riittävän infrastruktuurin käyttöön valmiiksi käytettävässä muodossa.

Avoimen koodin teknologia on yksi ratkaisu tähän ongelmaan. Se tuo kehittäjille paljon mahdollisuuksia sulautetuissa järjestelmissä, mutta pääsee todella omimmilleen kun se yhdistetään strategiaan, jossa halutaan tiukasti integroida ohjelmisto laajaan valikoimaan erilaisia laitteistovaihtoehtoja. Avain tähän integraatioon on linux-käyttöjärjestelmä ympärille kehittyneet avoimen lähdekoodin alustat.

Linux on erittäin pitkälle skaalautuva, sen ohjelmistoinfrastruktuuri kasvaa nopeasti, joten OEM-yritykset voivat kehittää, virittää ja debugata suunnitteluja nopeasti ja saada ne nopeasti markkinoille. Tarjolla on avoimen koodin työkaluja, joilla voidaa ylläpitää koodia ja huolehtia versionhallinnasta, sekä graafisia kehitysympäristöjä sulautetuille järjestelmille, jotka nyt vaativat edistyneitä esimerkiksi kapasitiivisia kosketusnäyttöjä hyödyntäviä käyttöliittymiä.

Linux-ympäristö on kuitenkin monimutkainen. Tarjolla on iso valikoima jakeluversioita, jotka eivät ole täysin yhteensopivia keskenään, vaikka niissä onkin samanlaisia toimintoja ja ominaisuuksia. Tämä vaikeuttaa alustasta toiselle siirtämistä niin, että erillisten tuotteiden hyödyllisiä ominaisuuksia voitaisiin hyödyntää. Sulautetun järjestelmän suunnittelijalla on myös haaste yrittää kehittää alunperin työpöydälle tai palvelimelle suunniteltua ympäristöön, joka on rajoitetumpi. Jakeluversion virittäminen esimerkiksi toimimaan ilman näyttöä tai sopimaan pieneen flash-muistiin voi olla iso ja haasteellinen tehtävä.

Yocto-projekti perustettiin sulautettujen laitteisto- ja ohjelmistoyritysten toimesta vuonna 2010 vastauksena linuxin kasvavaan fragmentoitumiseen sulautetuissa sovelluksissa. Sen sijaan, että kehitettäisiin yksi monoliittinen versio, jotka olisi vaikea virittää erilaisiin sulautetuissa sovelluksissa suosittuihin alustavaatimuksiin, Yocto tukee räätälöintiä modulaarisen, kerrostetun (layered) arkkitehtuurin kautta, joka on suunniteltu minimoimaan eri konfiguraatioiden väliset epäyhteensopivuudet.

Kuva 1. Yocton modulaarinen arkkitehtuuri tarjoaa kehitysvuon.

Yocton konfiguroitavuus perustuu BitBake-työkaluun. Se on projektityökalu, joka käyttää metadatatiedostoja paitsi kernelin, myös järjestelmän ja sen siihen liittyvien sovellusten sovellusohjelmistojen konfigurointiin lopulliseksi järjestelmäkuvaksi. BitBake hallinnoin kaikkia kehitysaskeli (build), jotka perustuvat kehittäjän määrittelemiin erilaisten konfigurointivaihtoehtojen ja riippuvuuksien määrittelyihin. Metadatan huolellisen hallinan avulla ja kerrosarkkitehtuurin hyödyntämisen kautta on mahdollista siirtää suunnittelu laitealustalta toisella lähes yksinkertaisen kääntämisen avulla. Erilaiset laiteriippuvaiset muutokset, kuten siirtyminen verkkosovittimesta toiseen tai eri prosessorivaihtoehtoon, tehdään kääntimen toimesta ja työkaluilla, jotka viittaavat relevantteihin laiterippuvaisiin metakerroksiin.

Muilla alustoilla kehittäjien täytyi usein tehdä sulautettujen tuotteiden suurimittaisia uudelleenkoodaamisia, kun niitä siirrettiin prosessorilta ja laitealustalta toiselle. Yocto-pohjaisessa kehityksessä siirtymä voi onnistua yhdellä ainoalla build-versioon lisätyllä koodirivillä, joka määrittelee oikean BSP-ohjelmistopaketin (board support package).

Ja käyttämällä Qt:n kaltaisia sovelluskehyksiä on mahdollista vielä laajentaa tätä siirrettävyyttä. Esimerkiksi merkittävät osa sovelluskehityksestä voidaan tehdä pöytäkoneella ja siirtää suoraan Qt:tä ajavaan sulautettuun järjestelmään minimaalisin koodimuutoksin. Tämän ansiosta käyttöliittymää voidaan prototypoida laajalti ennen kuin lopullinen laitteisto on valmis.

Yocto-pohjaisen helppoa siirrettävyyttä ja integraatiota tukevan järjestelmän pystyttäminen on kuitenkin kaikkea muuta kuin helppoa. BitBakessa on valtavasti mahdollisuuksia ja alustamääritelmiä luoville Yocto merkitsee jyrkkää oppimiskäyrää. Vaikka hyvin määritelty BSP-pakettien ja metadatan yhdistelmä voi minimoida työn, joka vaaditaan suunnittelun siirtämiseen laitealustalta toiselle, jopa perusoptioista hyvin perillä oleville kehittäjille on vaikeaa ja aikaavievää kehittää arkkitehtuuri, joka vastaa tähän lupaukseen. Yocto-ympäristö vaatii myös linux-isännän kehitykseen ja ristiinkääntämiseen, jota ei välttämättä ole tarjolla niille, jotka työskentelevät Windows-ympäristössä.

Kuva 2. Silican ArchiTech Louvre -kortti.

Yksi ratkaisu, jonka SILICA on valinnut osana ArchiTect-strategiaansa, on käyttää virtuaalikonepohjaista VirtualBox-tekniikkaa perustuvaa ratkaisua, jossa on ennalta konfiguroitu Yocto-kehitysympäristö standardilla PC:llä. Näin alusta edut voidaan tuoda laajimman mahdollisen kehittäjäjoukon käyttöön sulautetuissa sovelluksissa. Ekosysteemiin sisältyy korttivalikoima, joka on luotu yhdessä prosessori-, mikro-ohjain-, FPGA-piiri- ja muiden avainoheislaitteiden kehittäjien, kuten analogia-I/O- ja langattomien piirien valmistajien kanssa.

Toisin kuin puolijohdevalmistajien yleensä tarjoamat yleiskäyttöisiin mikro-ohjaimiin perustuvat kehityskortit, tämä lähestymistapa tarjoaa yksilöllisiä kortteja, jotka sopivat hyvin spesifeihin sovelluksiin ja ratkaisevat monia suunnittelun ja integraation ongelmia, joihin asiakkaat ajautuvat ohjelmisto- ja laitekehityksen lähestyessä projektin loppua. Projektiesimerkit vaihtelevat RFID- ja NFC-kehityksestä sulautettuun videoon ja teollisuuden liitäntäsovelluksiin. Muita tuettuja radiostandardeja ovat WiFi ja IEEE802.15.4.

Yocto tarjoaa erittäin tehokkaan ohjelmistoinfrastuktuurin tällaisilla laitealustoilla. Rakennustyökaluissa käytettävien metakerrosten avulla alustamuutoksia on helppo tehdä. Lisäksi lopullinen sulautetun järjestelmän kuva voidaan kustomoida ja virittää sovellusta varten Hob-työkalun avulla. Tämä on graafinen käyttöliittymä, jolla kehittäjän on helppoa valita, mitkä linux-paketit pitää sisällyyttää lopulliseen kohdekuvaan.

Yocto ei kuitenkaan ole kokonainen kehitysratkaisu sulautetuille järjestelmille, koska siitä puuttuu integroitu kehitysympäristö (IDE). Tässä kohtaa apuun tulee toinen avoimen lähdekoodin ratkaisu Eclipse. Eclipse on täysin graafinen IDE-kehitysympäristö, joka perustu plugin-teknologiaan, jonka avulla kehittäjät voivat rakentaa kustomoidun ohjelmiston ja testausalustan. Yhdessä Eclipse ja Yocto parantavat merkittävät suunnittelun tehokkuutta ja antavat suunnittelijoille mahdollisuuden keskittyä yleiseen työkalupakettiin sen sijaan, että heidän pitäisi opetella eri linux-jakeluiden erityisyydet ja niihin liittyvät työkalut, kun tarpeet muuttuvat.

Kuva 3. Eclipse-kehitysympäristön konfigurointi-ikkuna.

Kattavana kehitysympäristönä, joka koostuu edullisista laitealustoista, työkaluista ja ohjelmistoista, jotka sopivat moniin eri sovelluksiin, ArchiTect on antanut SILICAlle mahdollisuuden tuoda innovatiivisen ja erittäin tehokkaan tavan tukea asiakkaitaan pitkällä aikavälillä. Fokusoidun, yhdessä suurimpien puolijohdevalmistajien kanssa kehitetyn laitteiston, SILICAn suunnittelijoiden tukeman linux-käyttöjärjestelmän, vahvan teknisen tuen ja kattavan koulutuksen yhdistelmä vie sulautetun kehityksen seuraavalle tasolla, jossa liikkeelle päästään nopeasti ja jokainen projekti saadaan valmiiksi nopeasti ja sujuvasti.

ETNtv

Watch ECF videos

Korteilla vauhtia IoT-kehitykseen

Sulautetun laitteen kehitys onnistuu useimmiten helpoiten valmiiden moduulien avulla. Nykyään niitä saa myös tehokkailla Apollo Lake -sarjan prosessoreilla varustettuna.

Lue lisää...

Suomen suurin valtti kybersodassa on luottamus

Teknologia19 – Aalto-yliopiston kyberturvallisuusprofessori Jarno Limnéll uskoo, että luotettavuudesta voi tulla suomalaisten yritysten suurin myyntivaltti tulevaisuudessa. – Tärkein kysymys on tulevaisuudessa, kehen ja mihin voimme luottaa. Luottamuksesta on tulossa hyvin arvokas aineeton pääoma yrityksille, Limnéll sanoi eilen messukeskuksessa.

Lue lisää...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

 SPONSORS

 

congatec is a rapidly growing technology company focusing on embedded and edge computing products and services. The high-performance computer modules are used in a wide range of applications and devices in industrial automation, medical technology, robotics, telecommunications and many other verticals.

CVG Convergens is an ICT services company specialized in embedded systems, smart connected products and ICT systems and processes for SME businesses. Our mission is to help our clients, our team, and the society to improve and thrive by providing reliable and sustainable solutions, services, and products by creative and efficient application of technology.

 

ADLINK Technology leads edge computing, the catalyst for a world powered by artificial intelligence. We manufacture edge hardware and develop edge software for embedded, distributed and intelligent computing - from powering medical PCs in the intensive care unit to building the world’s first high-speed autonomous race car - more than 1600 customers around the world trust ADLINK for mission-critical success.

 

 

Testhouse Nordic is the leading supplier of test and measurement products and solutions in the Nordic countries. We partner with world's most renowned suppliers. Through our expertise and strong relationships with our suppliers, we offer products and services that regularly exceed our customers’ expectations.

 

 

Mespek Oy is established 1989 and our focus is on industrial electronics and producing support services. The main product areas of Mespek are embedded modules, industrial computing, test&measurement modules and server management systems (KVM-switches).

 

BCC Solutions Oy is a Finnish company that, in addition to expert services, offers comprehensive equipment solutions for data transfer and telecommunication networks, as well as their analysis, testing and measurement. We broadly represent the industry's leading brands.

 

 

In cooperation with

 

 

 

and

 





ECF template