Razmislite o primeru elektronske krmilne enote (ECU), ki uporablja tradicionalno statično vgrajeno programsko opremo. Bootloader je programska komponenta, ki se uporablja tako za zagon glavne programske opreme ECU, vključno s kopiranjem programske opreme v RAM, kot za preverjanje programske opreme pred zagonom. Zagonski nalagalnik je odgovoren tudi za posodobitev programske opreme, sprejem, preverjanje in zapisovanje posodobljene programske opreme v pomnilnik, običajno Flash pomnilnik. Zato se pogosto uporablja tudi izraz Flash Bootloader.
Ali se pri razvoju in proizvodnji uporabljajo isti zagonski nalagalniki?
Običajno se isti zagonski nalagalnik lahko uporablja pri razvoju vozil in pripadajočih ECU-jev ter pri običajni proizvodnji, z zaščito, ki zagotavlja, da imajo proizvodni ECU-ji številne razvojne zmogljivosti ali deaktivirane inženirske zagonske nalagalnike. Med razvojem vozila je pogosto zaželeno odstraniti varnostne mehanizme proizvodnih zagonskih nalagalnikov, da se omogoči hitro uvajanje razvojne programske opreme.
Varni zagonski nalagalnik
Vse bolj morajo biti vsi zagonski nalagalniki varni. Vendar je tradicionalno to razlika, ki se običajno izvaja za zaščito funkcionalnosti, ki se ukvarjajo z varnostjo, varnostjo in včasih zmogljivostjo.
Zagonski nalagalniki običajno preverijo programski pomnilnik ECU ob zagonu in prejeto programsko opremo pred posodobitvijo programske opreme in v pomnilniku pozneje.
Mehanizmi običajno vključujejo:
- Preverjanje pristnosti programske opreme, prejete in/ali prisotne v pomnilniku ob zagonu, pogosto z uporabo hash binarne programske opreme za preverjanje pravilnosti, ustvarjene iz varnega postopka kompilacije uradno izdanih različic programske opreme.
- Preverjanje pristnosti pošiljatelja z uporabo semena in ključa, zaščita varnih podatkov znotraj ECU z zaščitenim pomnilnikom in pomnilniškimi zemljevidi za določanje dostopnih/ponovnih zapisovalnih področij.
Dvojni zagonski nalagalnik
Nekatere izvedbe zagonskih nalagalnikov so v dveh delih, od tod tudi izraz dual bootloader. V tem primeru primarnega zagonskega nalagalnika ni mogoče posodobiti kot del zaščite zagonskega nalagalnika. To se nanaša na zagon modula in posodobitev sekundarnega zagonskega nalagalnika. Sekundarni zagonski nalagalnik je mogoče posodobiti prek zaščitenega postopka, kar omogoča spremembe postopka posodabljanja programske opreme, na primer zemljevid pomnilnika, kar omogoča njihovo običajno zaklenitev. Ta vrsta zagonskega nalagalnika je zdaj manj pogosta zaradi novih načinov varovanja postopka posodabljanja z uporabo vgrajene varne strojne opreme, na primer HSM (Hardware Secure Module).
Upoštevajte, da je ta izraz podoben dvojnemu zagonu, kjer so na voljo dvozagonski bloki ali polni pomnilniki, kar omogoča posodobitev neuporabljene različice, medtem ko je ena različica aktivna. To zahteva dodaten pomnilnik v vsakem ECU, ki podpira ta način posodobitve.
Capital Embedded Bootloader
Capital Embedded Bootloader podpira zanesljive posodobitve ECU med razvojem, proizvodnjo vozil in med življenjsko dobo vozila s povezanimi diagnostičnimi orodji ali metodologijami brez zraka. Standardizirani protokol ISO 14229 UDS se uporablja v številnih običajnih omrežnih vodilih vozil, Ethernet, CAN/CAN-FD, LIN, FlexRay, možno pa je uporabiti tudi druge metode, kot so kalibracijski protokoli ASAM. Cybersecurity je ključni vidik toka posodobitve programske opreme in funkcije, ki omogočajo preverjanje pristnosti programske opreme, možnosti varnega zagona pa so del rešitve. Za izpolnitev posebnih zahtev OEM (proizvajalcev originalne opreme) in MCU je na voljo široka podpora za široko paleto projektov ECU.
Kakšna je razlika med OTA in FOTA?
Posodobitev OTA (over the air) ali FOTA (firmware over the air) je metoda za doseganje sprejemanja nove programske opreme za vgrajeno napravo, na primer avtomobilski ECU, na daljinski način, ne prek neposredno povezanega servisnega orodja v delavnici. To lahko zahteva nekaj vgrajenih diagnostičnih preizkuševalcev v usklajevalnem ECU in/ali sposobnosti obnovitve in samo-testiranja v samem zagonskem nalagalniku.