Sulautetut sovellukset tulevat jatkuvasti monimutkaisemmiksi. Niihin tuodaan uusia toimintoja, lisää verkkoyhteyksiä, tietoturvaa reguloinnin lisääntyessä ja etäpäivitys alkaa olla pakollinen vaatimus. Usein kustomoitu laitteisto on toimivin ratkaisu, sanoi CVG Convergensin Tomi Engdahl ECF243-tapahtuman esityksessään.
Miksi sitten tuote pitäisi suunnitella räätälöidyllä laitteistolla? Engdahlin mukaan silloin on täysi kontrolli tuotteesta ja IP-oikeuksista. - Jos haluaa suunnitella täsmälleen tietynkokoisen tuotteen tai korvata jonkun komponentin vanhassa, tai jos käyttää erikoisliitäntöjä tai liittimiä, Engdahl luettelee. Myös pitkä elinkaari vaatii usein räätälöityä laitesuunnittelua.
Tietenkin suunnittelijalla on paljon valintoja edessään, kun tehdään päätös räätälöidä rauta. - Pitäisi valita mikro-ohjain vai sovellusprosessori, vai molemmat? Mikä käyttöjärjestelmä? Jos valitsee Linuxin, tarvitsee megatavuja muistia, jos käyttää pelkkää RTOSia mikro-ohjaimella, pärjää ehkä muutamalla sadalla kilotavulla.
Myös tuotteen ajateltu elinkaari, tuotantovolyymit ja komponenttien valinta ovat tärkeitä tekijöitä.
Sulautettujen sovellusten suunnittelussa on useita kasvua vauhdittavia trendejä. Liitettävyys on ilman muuta yksi, useimpiin laitteisin liitetään jonkinlainen radio. Toinen on se, että tehdään ”enemmän vähemmällä”.
Kun suunnitellaan uusi tuote, sen valmistamisen pitäisi maksaa vähemmän ja sen pitäisi kuluttaa vähemmän energiaa. Lisäksi tuotteet pitäisi suunnitella niin, että niiden valmistaminen on luotettavaa ja esimerkiksi komponentteja on saatavilla.
- Lisäksi ihmiset ovat tottuneet älypuhelimen tyyppisiin käyttöliittymiin, joten nyt myös teollisissa sovelluksissa halutaan värikkäitä graafisia käyttöliittymiä, Engdahl sanoi.
Moni uskoo avoimen lähdekoodin voimaan, mutta sekään ei aina tee autuaaksi. - Avoimella lähdekoodilla voidaan toteuttaa paljon kaikenlaista, mutta järjestelmän ylläpito voi osoittautua ongelmaksi. Esimerkiksi haavoittuvuuksien paikkaaminen voi olla haastavaa.
Tietoturva on myös ongelma. USA:n hallitus haluaa siirtyä C- ja C++-kielistä, joissa muistiongelmat ovat usein syynä tietomurtoihin. Sen sijaan halutaan siirtyä muistin käytössä turvallisiin kieliin kuten Rust.
Tämä on tietysti iso haaste, sillä C ja C++ hallitsevat sulautettua ohjelmointia niin dominoivasti. Niiden yhteenlaskettu markkinaosuus on yli 90 prosenttia (C noin 70%, C++ noin 23%). Pythonin osuus on viitisen prosenttia ja Assemlyn pari prosenttia. Sitä käytetään lähinnä käynnistyslataimissa ja hyvin pienen resurssin mikro-ohjaimissa.
Tomi Engdahlin esitys löytyy ECF:n Youtube-kanavalta ja esitysdiat täältä.