Apsvarstykite elektroninio valdymo bloko (ECU) pavyzdį, naudojant tradicinę statinę įterptąją programinę įrangą. “Bootloader” yra programinės įrangos komponentas, naudojamas tiek inicijuoti pagrindinės ECU programinės įrangos įkrovimą, įskaitant programinės įrangos kopijavimą į RAM, tiek atlikti bet kokius programinės įrangos patikrinimus prieš paleidimą. Bootloader taip pat yra atsakingas už programinės įrangos atnaujinimą, atnaujintos programinės įrangos gavimą, tikrinimą ir rašymą į atmintį, paprastai “Flash” atmintį. Taigi taip pat dažniausiai naudojamas terminas “Flash Bootloader”.
Ar tie patys įkrovos krautuvai naudojami kuriant ir gaminant?
Paprastai tas pats įkrovos įtaisas gali būti naudojamas kuriant transporto priemones ir susijusius ekiu bei įprastinėje gamyboje, su apsaugomis, užtikrinančiomis, kad gamybiniai ECU turėtų daug kūrimo galimybių arba išjungti inžinerinius įkrovos įrenginius. Transporto priemonių kūrimo metu dažnai norima pašalinti gamybos bootloaderių saugumo mechanizmus, kad būtų galima greitai įdiegti kūrimo programinę įrangą.
Saugus įkrovos pakavimo įrenginys
Vis dažniau reikalaujama, kad visi įkrovos įrenginiai būtų saugūs. Tačiau tradiciškai tai buvo išskirtinumas, paprastai įgyvendinamas siekiant apsaugoti funkcionalumą, susijusį su saugumu, sauga ir kartais našumu.
Įkrovimo įrenginiai paprastai patikrina programinės įrangos atmintį ECU paleidžiant ir gautą programinę įrangą prieš programinės įrangos atnaujinimą ir atmintyje po to.
Mechanizmai paprastai apima:
- Programinės įrangos, gautos ir (arba) esančios atmintyje, autentifikavimas įkrovos metu, dažnai naudojant programinės įrangos dvejetainės maišą, siekiant patikrinti teisingumą, sugeneruotą iš saugaus oficialiai išleistų programinės įrangos versijų kompiliavimo proceso.
- Siuntėjo autentifikavimas naudojant sėklą ir raktą, saugių duomenų apsauga ECU naudojant saugią atmintį ir atminties žemėlapius, kad būtų galima apibrėžti prieinamas/perrašomas sritis.
Dvigubas įkrovos įtaisas
Kai kurie bootloaderių įgyvendinimai yra dviejų dalių, taigi terminas “dual bootloader”. Tokiu atveju pagrindinis bootloader yra neatnaujinamas, kaip dalis užtikrinant bootloader. Tai susiję su modulio paleidimu ir antrinio įkrovos programos atnaujinimu. Antrinį įkrovos įrenginį galima atnaujinti naudojant saugų procesą, leidžiantį modifikuoti programinės įrangos atnaujinimo procesą, pavyzdžiui, atminties žemėlapį, leidžiant juos paprastai užrakinti. Šis bootloader tipas yra mažiau paplitęs dabar dėl naujų metodų, kaip užtikrinti atnaujinimo procesą naudojant borto saugią aparatinę įrangą, pavyzdžiui, HSM (Hardware Secure Module).
Atkreipkite dėmesį, kad šis terminas yra kaip dviguba įkrova, kai yra dviejų įkrovos blokų arba pilnos atminties, leidžiančios atnaujinti nenaudojamą versiją, kol viena versija yra aktyvi. Tam reikia papildomos atminties kiekviename ECU, palaikančiame šį atnaujinimo būdą.
Capital Embedded Bootloader
Capital Embedded Bootloader palaiko patikimus ECU atnaujinimus kūrimo metu, gaminant transporto priemonę ir eksploatuojant transporto priemonę, naudojant prijungtas diagnostikos priemones arba “over-the-air” metodikas. Standartizuotas ISO 14229 UDS protokolas naudojamas įvairiose įprastose transporto priemonių tinklo magistralėse, Ethernet, CAN/CAN-FD, LIN, FlexRay, taip pat galima naudoti kitus metodus, tokius kaip ASAM kalibravimo protokolai. Cybersecurity yra pagrindinis programinės įrangos atnaujinimo srauto aspektas ir funkcijos, leidžiančios programinės įrangos autentifikavimą, o saugios įkrovos parinktys yra sprendimo dalis. Siekiant patenkinti OEM (originalios įrangos gamintojų) ir MCU specifinius reikalavimus, platus palaikymas yra prieinamas įvairiems ECU projektams.
Koks skirtumas tarp OTA ir FOTA?
OTA (per orą) atnaujinimas arba FOTA (programinė įranga per orą) yra būdas pasiekti naują programinę įrangą įterptųjų įrenginių, pavyzdžiui, automobilių ECU, priėmimą nuotoliniu būdu, o ne tiesiogiai prijungtu aptarnavimo įrankiu dirbtuvėse. Tam gali prireikti tam tikrų borto diagnostikos testerio galimybių koordinuojančiame ECU ir (arba) atkūrimo ir savęs testavimo gebėjimų pačiame bootloader.