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

Ciklum, established in 2002, is a custom product engineering company with a global presence across 15 countries in 3 continents. We specialize in crafting bespoke digital solutions that push boundaries and transform industries, including full-scale IoT solutions. Whether it's cutting-edge embedded systems, data architecture or IoT, we seamlessly integrate our solutions into your existing infrastructure.

 

 

Check Point Software Technologies Ltd. is a leading provider of cyber security solutions to corporate enterprises and governments globally. Check Point Infinity’s portfolio of solutions protects enterprises and public organisations from 5th generation cyber-attacks with an industry leading catch rate of malware, ransomware and other threats.

 

 

 

AcalBfi is a leader in the development of custom technology solutions for electronic applications. Our engineers and our approach will ensure we can solve your technical challenges with custom solutions that integrate multiple technologies.

 

Analog Devices, Inc. is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world.

 

EBV Elektronik was founded in 1969 and is one of the leading specialists in European semiconductor distribution. This success is based on the underlying company philosophy, which was developed a long time ago and which still applies today: operational excellence, flexibility, reliability and execution – with the goal of achieving the highest degree of customer satisfaction. 

  

The Rohde & Schwarz technology group develops, produces and markets a wide range of electronic capital goods. With its extensive product portfolio, the company makes an important contribution to a safer and connected world. In the test & measurement, secure communications, networks & cybersecurity and broadcast & media markets, customers worldwide rely on Rohde & Schwarz and its cutting-edge solutions.

 

 

 

Mespek is an industrial electronics company. Our main product areas are embedded modules, industrial computing, test & measurement modules and server management systems (KVM-switches). Besides our domestic customers we have clients also in several countries such as Benelux, China, Estonia, Ireland, Norway, Russia, Sweden, Switzerland, et cetera..

 

We offer unique and cost-effective customized solutions based on electronic components and systems, as well as standard products from selected manufacturers. We also have own production company for electronics and cabling in Sweden. We have 90 years of experience, deep engagement, knowledge together with trustworthy and effective logistics worldwide. We are ISO 9001 and ISO 14001 certificated.

 

Richardson RFPD, an Arrow Electronics Company, is an electronic component distributor focused on RF and Wireless Communications, industrial IoT, Power Conversion and renewable energy markets. With our global reach and extensive technical capability, we serve our customers through component development and selection, technical support, and world-class logistics and supply chain capabilities. Whether designing with discrete components or looking to take advantage of integrated circuits or systems RichardsonRFPD’s worldwide design centers and technical sales team provide comprehensive support to bring your product ideas to market.

u‑blox is a global technology leader in positioning and wireless communication in automotive, industrial, and consumer markets. Their smart and reliable solutions, services and products let people, vehicles, and machines determine their precise position and communicate wirelessly over cellular and short range networks. With a broad portfolio of chips, modules, and secure data services and connectivity, u‑blox is uniquely positioned to empower its customers to develop innovative and reliable solutions for the Internet of Things, quickly and cost‑effectively.

KYOCERA AVX is a leading global manufacturer of advanced electronic components, including antennas, fuses, capacitors, filters, couplers and RF switches, engineered to accelerate technological innovation and build a better future. Supplying more than one million antennas per day, KYOCERA AVX is an industry-leading supplier of innovative antenna solutions, covering all major frequency bands and applications. KYOCERA AVX antennas utilize a wide array of materials -including LDS, stamped metal, ceramic, PCB, and FPC- to support a variety of custom and standard configurations (external indoor/outdoor, embedded on/off-board).

 

 





ECF template