Tekintsük egy hagyományos statikus beágyazott szoftvert használó elektronikus vezérlőegység (ECU) példáját. A Bootloader egy szoftverkomponens, amelyet mind az ECU fő szoftver indításának elindítására használnak, beleértve a szoftver RAM-ba történő másolását, valamint a szoftver bármilyen ellenőrzésére a rendszerindítás előtt. A rendszerbetöltő felelős a szoftverfrissítésért, fogadásáért, ellenőrzéséért és a frissített szoftver memóriába, általában a Flash memóriába történő írásáért is. Ezért a Flash Bootloader kifejezést is gyakran használják.
Ugyanazokat a bootloadereket használják a fejlesztésben és a gyártásban?
Általában ugyanazt a rendszerbetöltőt lehet használni a járművek és a kapcsolódó ECU-k fejlesztésében, valamint a normál gyártásban, olyan védelemmel, amely biztosítja, hogy a gyártási ECU-k számos fejlesztési képességgel rendelkezzenek, vagy a mérnöki rendszerindítók kikapcsolódjanak. A járműfejlesztés során gyakran kívánatos a gyártási rendszerindítók biztonsági mechanizmusainak eltávolítása a fejlesztő szoftverek gyors telepítésének lehetővé tétele érdekében.
Biztonságos rendszerbetöltő
Egyre inkább minden rendszerbetöltőnek biztonságosnak kell lennie. Hagyományosan azonban ez egy megkülönböztetés volt, amelyet általában a biztonsággal, biztonsággal és néha teljesítménnyel kapcsolatos funkciók védelme érdekében hajtják végre.
A rendszerbetöltők általában ellenőrzik az ECU szoftvermemóriáját a rendszerindításkor és a kapott szoftvert a szoftverfrissítés előtt, utána pedig a memóriában.
A mechanizmusok általában a következők:
- A rendszerindításkor kapott és/vagy a memóriában jelen lévő szoftver hitelesítése, gyakran a szoftver bináris hash-jét használva a hivatalosan kiadott szoftververziók biztonságos összeállítási folyamatából generált helyességének ellenőrzésére.
- A feladó hitelesítése alap és kulcs segítségével, biztonságos adatok védelme az ECU-n belül biztonságos memória és memóriatérképek segítségével hozzáférhető/újraírható területek meghatározásához.
Kettős rendszerbetöltő
A bootloaderek egyes implementációi két részből állnak, ezért a kettős bootloader kifejezés. Ebben az esetben az elsődleges rendszerbetöltő nem frissíthető, a bootloader biztosításának részeként. Ez a modul indításával és a másodlagos bootloader frissítésével kapcsolatos. A másodlagos rendszerbetöltő biztonságos folyamaton keresztül frissíthető, lehetővé téve a szoftverfrissítési folyamat módosítását, például a memóriatérképet, lehetővé téve ezek normál zárolását. Az ilyen típusú rendszerbetöltő most ritkábban fordul elő, mivel új módszerek biztosítják a frissítési folyamatot a fedélzeti biztonságos hardver segítségével, például a HSM (Hardware Secure Module) segítségével.
Megjegyzés: ez a kifejezés olyan, mint a kettős rendszerindítás, ahol két rendszerindító blokk vagy teljes memória áll rendelkezésre, lehetővé téve a nem használt verzió frissítését, amíg egy verzió aktív. Ehhez extra memóriára van szükség minden ECU-ban, amely támogatja ezt a frissítési módszert.
Capital Embedded Bootloader
Capital Embedded Bootloader támogatja a megbízható ECU-frissítéseket a fejlesztés során, a járműgyártás során és a jármű élettartama alatt, összekapcsolt diagnosztikai eszközökkel vagy közvetlen technikákkal. A szabványosított ISO 14229 UDS protokollt számos közös járműhálózati buszon, Ethernet, CAN/CAN-FD, LIN, FlexRay használatával használják, és más módszerek is használhatók, például az ASAM kalibrációs protokollok. A Cybersecurity a szoftverfrissítési folyamat kulcsfontosságú eleme, és a szoftver hitelesítését lehetővé tevő funkciók, és a biztonságos indítási lehetőségek a megoldás részét képezik. Az OEM (eredeti berendezések gyártói) és az MCU specifikus követelményeinek kielégítése érdekében széles körű támogatás áll rendelkezésre az ECU-projektek széles skálájához.
Mi a különbség az OTA és a FOTA között?
Az OTA (over the air) frissítés vagy a FOTA (firmware over the air) egy olyan módszer, amellyel egy beágyazott eszközhöz, például autóipari ECU-hoz új szoftverek fogadását távoli módon érjük el, nem pedig közvetlenül csatlakoztatott szervizeszközön keresztül egy műhelyben. Ehhez szükség lehet bizonyos fedélzeti diagnosztikai tesztelő képességre egy koordináló ECU-ban és/vagy a rendszerbetöltő helyreállítási és öntesztelési képességeire.