Etusivu

Referenssit yli kolmen vuosikymmenen sulautetusta kehityksestä

Autoteollisuuden ja teollisuuden asiakkaat luottavat sulautettuun osaamiseeni SCHMITT CONSULTINGin perustamisesta lähtien. Kaksi projektia havainnollistaa työtapaani.

Riippumattomana sulautetun kehityksen konsulttina kehitän asiakkaille, jotka tarvitsevat laitteistoläheistä ohjelmistoa, reaaliaikakäyttäytymistä tai näiden yhdistelmää. Toimintani ulottuu kiinteähintaisesta sopimuksesta lujalla toimituslupauksella, tuntikiintiöiden kautta, kuukausien mittaiseen kehitysosastojen saattamiseen.

Salassapitosyistä kaikkia projekteja ei voi esittää julkisesti. Seuraavat kaksi esimerkkiä kuvaavat projekteja, joiden avaintiedot saan mainita — ja jotka havainnollistavat työtapaani.

Stihl — moottorisahan moottorinohjauksen täydellinen uudelleenkehitys

Stihlille Waiblingenissä kehitin moottorisahan moottorinohjausohjelmiston täysin uudelleen. Lähtökohta oli analyysitehtävä: olemassa oleva ohjausohjelmisto tuli japanilaiselta toimittajalta ja oli kirjoitettu assemblerissa. Stihl halusi yksityiskohtaisesti ymmärtää, mitä tämä ohjelmisto teki. Analysoin assembler-koodin ja dokumentoin toiminnot siten, että Stihlin kehittäjät pystyivät seuraamaan logiikkaa täysin.

Tällä pohjalla sain toimeksiannon uudelleenkehityksestä — tällä kertaa C:llä, tavoitteena toimittaa enemmän toiminnallisuutta kuin alkuperäinen ohjelmisto. Reunaehdot olivat kovat: moottorisahojen markkinat ovat erittäin hintakilpailtuja, joten käytettävissä oli vain hyvin pieni, edullinen mikro-ohjain. Muisti oli niin tiukka, että reaaliaikakäyttöjärjestelmä oli poissuljettua. Ohjelmiston piti toimia bare-metal ja samalla luotettavasti käsitellä laitteistosta tulevia reaaliaikasignaaleja rinnakkain.

Koko kehityksen ajan minulla oli pöydällä vain levy laitteistolla ja koodini — ei testiympäristöä, ei moottoria. Ensimmäinen käytännön testi tapahtui Stihlin testipenkillä Waiblingenissä. Kuukausien analyysin ja kehityksen jälkeen ei olisi ollut epätavallista, jos moottori ei olisi käynnistynyt heti. Se käynnistyi välittömästi ja toimi pohjimmiltaan hyvin. Loppu oli sytytysajankohtien hienosäätöä, iteratiivisesti optimoituna testipenkillä — menettely, jonka adaptiivinen oppimisohjelmisto yleensä kattaa, mutta joka tässä piti tehdä käsin muistirajoitusten vuoksi.

Lopulta toimitin Stihlille ohjausohjelmiston, joka teki enemmän kuin aiempi japanilainen versio, toimi samalla edullisella mikro-ohjaimella ja luovutettiin täydellisellä dokumentaatiolla. Kaupallinen kehys on huomionarvoinen: Stihlin oston loppuneuvottelussa aiemmin sovittua hintaa ei laskettu. Ostaja vain teki selväksi, että jokainen euro piti pystyä perustelemaan — mutta hinnan laskeminen ei ollut tavoite. Tämä kokemus — asiakas, joka maksaa perusteltuja hintoja perustellusta laadusta — on harvinainen markkinoilla ja leimaa tähän päivään saakka käsitystäni hyvästä yhteistyöstä.

Projekti hoidettiin kiinteähintaisena sopimuksena. Kehitys tapahtui täysin Stihlin tilojen ulkopuolella; yhteensovittaminen Stihlin yhteyshenkilön kanssa tapahtui vain perustavanlaatuisissa päätöksissä. Tämä yhteistyömuoto on osoittautunut poikkeuksellisen tehokkaaksi.

Audi — MOST-simulointi ja CAN-laitteiston oma kehitys

Audille Ingolstadtissa alkuperäinen toimeksiantoni oli MOST-väyläsimulointiohjelmiston laatiminen infotainment-järjestelmälle — reaaliaikasimulointi, joka mahdollisti ohjainlaitteiden testaamisen virtuaalista MOST-väylää vastaan.

Paikan päällä kävi ilmi, että Audilla oli rinnakkain toinen ongelma: olemassa oleva CAN-simulointilevy, jonka ulkoinen toimittaja oli toimittanut, ei toiminut luotettavasti tietyissä käyttöolosuhteissa — se yksinkertaisesti lakkasi lähettämästä dataa ratkaisevina hetkinä. Koska MOST-työni oli antanut minulle yksityiskohtaisen tiedon CAN- ja MOST-väylän vuorovaikutuksesta, Audin yhteyshenkilö kysyi, voinko rakentaa tämän CAN-simuloinnin uudelleen itsenäisesti.

Suostuin sillä huomautuksella, että ensimmäinen askel olisi toimiva prototyyppi — ei kaunis, mutta toimiva. Alle viidessä työpäivässä pöydällä oli oma suunnittelemani elektroniikkalevy ATmega128:lla, mukana itse kirjoittamani simulointiohjelmisto. Prototyyppi oli käsin juotettu, mutta se toimi — myös niissä käyttöolosuhteissa, joissa edellinen toimittajan levy oli pettänyt.

Audi kysyi sitten, voinko valmistaa ja toimittaa kappaleita — mutta teollisuuslaadulla, täysin koneellisesti valmistettuna, ei käsin. Suunnittelin sarjalevyn vedon ja tein yhteistyötä Audi-ympäristön PCB-valmistajan kanssa, joka huolehti koneellisesta valmistuksesta. Kun valmistajan koneellisessa testissä oleva ongelma oli ratkaistu, levy toimitti luotettavia tuloksia — juuri siellä, missä alkuperäinen toimittajan levy oli pettänyt.

Tämä projekti osoittaa tapauksen, jossa toimeksianto kasvoi konkreettisen teknisen substanssin kautta: alkuperäisen ohjelmistotehtävän rinnalle tuli oma laitteistokehitys sarjatuotantoineen — koska tunsin väyläarkkitehtuurin niin syvällisesti, että pystyin pyydettäessä ehdottamaan toimivan ratkaisutien.

Muut asiakkaat

Yksityiskohtaisesti kuvattujen projektien lisäksi olen työskennellyt muille asiakkaille autoteollisuudessa, teollisuudessa ja lääketieteessä. Yllä oleva valinta noudattaa kriteeriä, että avaintiedot ovat julkisesti esitettävissä. Konkreettisempia referenssejä ympäristöösi vastaavista tehtävistä keskustellaan mielellään ensikeskustelussa — luottamuksellisesti haluttaessa.

Mitä yhteistä näillä projekteilla on

Kolme ominaisuutta kulkee kummankin projektin ja suurimman osan toimintaani läpi:

Itsenäinen kokonaisvastuu
Kummatkin projektit alkoivat analyysitehtävällä ja päättyivät valmiiseen, toimitettuun ratkaisuun. Määrittely, suunnittelu, toteutus, testi ja toimitus olivat käsissäni — Audin tapauksessa jopa laitteiston sarjatuotantoon kumppanin kautta.
Laitteistoläheinen sulautettu työ todellisten reunaehtojen alla
Stihl: bare-metal mikro-ohjaimella vähäisellä muistilla. Audi: reaaliaika-MOST-simulointi sekä oma CAN-laitteisto. Kummassakaan tapauksessa ei ollut kyse vakiosovelluksista, vaan tehtävistä, joissa reunaehdot muotoilevat ratkaisun.
Yhteistyö kiinteähintaisena sopimuksena lujalla toimituslupauksella
Kummatkin projektit etenivät asiakkaan tilojen ulkopuolella, valikoivalla yhteensovittamisella perustavanlaatuisten päätösten yhteydessä. Tämä yhteistyömuoto on suosikkimallini — se suojaa asiakasta tarpeettomalta ohjaustyöltä ja antaa minulle keskittymisen, jota laitteistoläheinen kehitys vaatii.

Värimaailma

Kieli