Harkitse esimerkkiä elektronisesta ohjausyksiköstä (ECU), jossa käytetään perinteisiä staattisia sulautettuja ohjelmistoja. Bootloader on ohjelmistokomponentti, jota käytetään sekä ECU-pääohjelmiston käynnistämiseen, mukaan lukien ohjelmiston kopioiminen RAM-muistiin, että ohjelmiston tarkistamiseen ennen käynnistystä. Käynnistyslataaja vastaa myös ohjelmistopäivityksestä, päivitetyn ohjelmiston vastaanottamisesta, tarkistamisesta ja kirjoittamisesta muistiin, yleensä Flash-muistiin. Siksi termiä Flash Bootloader käytetään myös yleisesti.
Käytetäänkö samoja bootloadereita kehityksessä ja tuotannossa?
Yleisesti samaa käynnistyslatainta voidaan käyttää ajoneuvojen ja niihin liittyvien ECU:iden kehittämisessä sekä normaalissa tuotannossa, ja suojauksilla varmistetaan, että tuotannon ECUilla on monia kehityskyvyyksiä tai tekniset käynnistyskuormaajat on deaktivoitu. Ajoneuvojen kehittämisen aikana on usein toivottavaa poistaa tuotannon käynnistyslataajien turvamekanismit, jotta kehitysohjelmistojen nopea käyttöönotto olisi mahdollista.
Suojattu käynnistyslataaja
Yhä useammin kaikkien käynnistyslataajien on oltava turvallisia. Perinteisesti tämä on kuitenkin ollut ero, joka yleensä toteutetaan suojaamaan turvallisuuteen, turvallisuuteen ja joskus suorituskykyyn liittyviä toimintoja.
Käynnistyslataajat tarkistavat yleensä ECU: n ohjelmistomuistin käynnistyksen yhteydessä ja vastaanottavat ohjelmiston ennen ohjelmistopäivitystä ja muistissa sen jälkeen.
Mekanismeja ovat yleensä:
- Käynnistyksen yhteydessä vastaanotetun ja/tai muistissa olevan ohjelmiston todennus, usein käyttämällä ohjelmistobinaarin hajautusta virallisesti julkaistujen ohjelmistoversioiden turvallisesta kokoamisprosessista tuotetun oikeellisuuden tarkistamiseksi.
- Lähettäjän todennus siemenellä ja avaimella, suojattujen tietojen suojaaminen ECU: ssa käyttämällä suojattua muistia ja muistikarttoja saavutettavien/uudelleenkirjoitettavien alueiden määrittämiseksi.
Kaksoiskäynnistyslataaja
Jotkut käynnistyslataajien toteutukset ovat kahdessa osassa, tästä syystä termi dual bootloader. Tässä tapauksessa ensisijainen käynnistyslataaja ei ole päivitettävissä osana käynnistyslataimen suojaamista. Tämä koskee moduulin käynnistämistä ja toissijaisen käynnistyslataimen päivittämistä. Toissijainen käynnistyslataaja voidaan päivittää suojatun prosessin kautta, jolloin ohjelmistopäivitysprosessiin voidaan tehdä muutoksia, esimerkiksi muistikarttaan, jolloin nämä voidaan normaalisti lukita. Tämäntyyppinen käynnistyslataaja on nyt harvinaisempi johtuen uusista menetelmistä päivitysprosessin suojaamiseksi käyttämällä sisäistä suojattua laitteistoa, esimerkiksi HSM (Hardware Secure Module).
Huomaa, että tämä termi on kuin kaksoiskäynnistys, jossa kahden käynnistyksen lohkot tai täydet muistit ovat käytettävissä, jolloin päivitys tapahtuu käyttämättömässä versiossa, kun yksi versio on aktiivinen. Tämä vaatii ylimääräistä muistia jokaisessa ECU: ssa, joka tukee tätä päivitysmenetelmää.
Capital Embedded Bootloader
Capital Embedded Bootloader tukee luotettavia ECU-päivityksiä kehityksen aikana, ajoneuvojen tuotannossa ja ajoneuvon käyttöiän aikana yhdistettyjen diagnostiikkatyökalujen tai langattomien menetelmien avulla. Standardoitua ISO 14229 UDS-protokollaa käytetään useissa tavallisissa ajoneuvoverkkoväyläissä, Ethernet, CAN/CAN-FD, LIN, FlexRay, ja on myös mahdollista käyttää muita menetelmiä, kuten ASAM-kalibrointiprotokollia. Kyberturvallisuus on keskeinen osa ohjelmistopäivitysvirtaa ja ominaisuuksia, jotka mahdollistavat ohjelmiston todennuksen, ja suojatut käynnistysvaihtoehdot ovat osa ratkaisua. OEM-valmistajien (alkuperäisten laitteiden valmistajien) ja MCU-erityisvaatimusten täyttämiseksi on tarjolla laaja tuki monenlaisille ECU-projekteille.
Mikä on ero OTA: n ja FOTA: n välillä?
OTA (over the air) -päivitys eli FOTA (firmware over the air) on menetelmä, jolla saavutetaan uusien ohjelmistojen vastaanotto sulautetulle laitteelle, esimerkiksi autojen ECU: lle, etätavalla, ei suoraan kytketyn huoltotyökalun kautta korjaamossa. Tämä saattaa vaatia jonkin verran sisäistä diagnostiikkatesteriominaisuuksia koordinoivassa ECU: ssa ja/tai palautus- ja itsetestauskykyjä itse käynnistyslataimessa.