JavaScript is currently disabled.Please enable it for a better experience of Jumi. ECF

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.

 

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ää...

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ää...
 
 
ETN_fi .#OnePlus CEO @PeteLau confirmed a more affordable smartphone. More info soon here: https://t.co/AwK7RBM1Xg
ETN_fi 2020 Is the Year of DDR5 - Cadence Blogs - Cadence Community https://t.co/9KTs2glPGl
ETN_fi Huawei Mate 30 Pro: Can You Live Without Google? https://t.co/I5zwgY40Lm @HuaweiMobile @HMS_GlobalPage #mate30pro
ETN_fi PCIM Europe 2020 will be postponed. Due to the increasing spread of covid-19 in Europe the organisers have decided… https://t.co/rLE1oEi2ME
ETN_fi Infineon can acquire Cypress, says CFIUS. Waiting for approval from the Chinese. https://t.co/WUZPe4ovaK käyttäjältä @Infineon


Sponsors


congatec is a leading supplier of industrial computer modules using the standard form factors COM Express, Qseven and SMARC as well as single board computers and EDM services. congatec’s products can be used in a variety of industries and applications, such as industrial automation, medical, entertainment, transportation, telecommunication, test & measurement and point-of-sale.



Presentors


We offer custom, cost-effective solutions to help you fulfil your project. With our wealth of technology expertise, we can provide expert technical support and guidance at every stage of your design.



AFRY (previous ÅF Pöyry) offers customized SW, HW and mechatronics services to the embedded and industrial IoT-markets. Based on your needs we deliver requirement specification, design, implementation, manufactured product and maintenance for your intelligent and connected systems. AFRY has many years' experience in providing air-born products with high demands on quality and traceability, robust end-to-cloud solutions as well as cost-efficient end user products. We also provide expert consultants.



Exhibitors


DATA MODUL stands behind its claim as a worldwide leading supplier of professional “visual solutions” and is a reliable premier choice partner in the areas of display, touch, embedded and monitor solutions.



Kontron is a global leader in embedded computing technology (ECT). As a part of technology group S&T, Kontron offers a combined portfolio of secure hardware, middleware and services for Internet of Things (IoT) and Industry 4.0 applications. With its standard products and tailor-made solutions based on highly reliable state-of-the-art embedded technologies, Kontron provides secure and innovative applications for a variety of industries.




Rutronik has developed from a “one-man-company” into one of the worldwide leading broadline distributors, employing more than 1,600. In the electronic components market, Rutronik currently ranks 11th worldwide and is the third largest European distributor. The product range includes semiconductors, passive and electromechanical components as well as embedded boards, storage technologies, displays and wireless products.





ECF template