Overvej eksemplet på en elektronisk styreenhed (ECU) ved hjælp af traditionel statisk indlejret software. Bootloader er en softwarekomponent, der bruges både til at starte opstart af ECU-hovedsoftwaren, herunder kopiering af softwaren til RAM, og til at udføre enhver kontrol af softwaren før opstart. Bootloaderen er også ansvarlig for softwareopdatering, modtagelse, kontrol og skrivning af den opdaterede software i hukommelsen, normalt Flash-hukommelse. Derfor er udtrykket Flash Bootloader også almindeligt anvendt.
Bruges de samme bootloadere i udvikling og produktion?
Almindeligvis kan den samme bootloader anvendes til udvikling af køretøjer og tilhørende ECU'er og i normal produktion med beskyttelse for at sikre, at produktions-ECU'er har mange udviklingsmuligheder eller tekniske bootloadere deaktiveret. Under køretøjsudvikling er det ofte ønskeligt at fjerne sikkerhedsmekanismer for produktionsbootloadere for at muliggøre hurtig implementering af udviklingssoftware.
Sikker bootloader
I stigende grad kræves det, at alle bootloadere er sikre. Traditionelt har dette imidlertid været en sondring, normalt implementeret for at beskytte funktionalitet, der vedrører sikkerhed, sikkerhed og undertiden ydeevne.
Bootloadere kontrollerer ofte ECU's softwarehukommelse ved opstart og modtog software før en softwareopdatering og i hukommelsen efter.
Mekanismer omfatter almindeligvis:
- Godkendelse af softwaren modtaget og/eller til stede i hukommelsen ved opstartstidspunktet, ofte ved hjælp af en hash af softwarens binære til at kontrollere korrektheden genereret fra en sikker kompileringsproces af officielt frigivne softwareversioner.
- Autentificering af afsenderen ved hjælp af en seed og nøgle, beskyttelse af sikre data i ECU'en ved hjælp af sikret hukommelse og hukommelseskort til at definere tilgængelige/omskrivbare områder.
Dobbelt bootloader
Nogle implementeringer af bootloaders er i to dele, deraf udtrykket dual bootloader. I dette tilfælde kan den primære bootloader ikke opdateres som en del af sikringen af bootloaderen. Dette vedrører opstart af modulet og opdatering af den sekundære bootloader. Den sekundære bootloader kan opdateres via en sikret proces, der muliggør ændringer af softwareopdateringsprocessen, for eksempel hukommelseskort, så disse normalt kan låses. Denne type bootloader er mindre almindelig nu på grund af nye metoder til sikring af opdateringsprocessen ved hjælp af indbygget sikker hardware, for eksempel HSM (Hardware Secure Module).
Bemærk, dette udtryk er som dual boot, hvor to-boot-blokke eller fulde minder er tilgængelige, hvilket tillader en opdatering at finde sted på den ubrugte version, mens en version er aktiv. Dette kræver ekstra hukommelse i hver ECU, der understøtter denne opdateringsmetode.
Capital Embedded Bootloader
Capital Embedded Bootloader understøtter pålidelige ECU-opdateringer under udvikling, i køretøjsproduktion og i løbet af køretøjets levetid via tilsluttede diagnoseværktøjer eller over-the-air-metoder. Den standardiserede ISO 14229 UDS-protokol bruges over en række almindelige køretøjsnetværksbusser, Ethernet, CAN/CAN-FD, LIN, FlexRay, og det er også muligt at bruge andre metoder såsom ASAM kalibreringsprotokoller. Cybersikkerhed er et centralt aspekt af softwareopdateringsflowet og funktioner, der muliggør softwaregodkendelse, og sikre opstartsindstillinger er en del af løsningen. For at opfylde OEM (producenter af originalt udstyr) og MCU-specifikke krav er der bred support tilgængelig til en bred vifte af ECU-projekter.
Hvad er forskellen mellem OTA og FOTA?
OTA (over the air) opdatering, eller FOTA (firmware over the air), er en metode til at opnå modtagelse af ny software til en indlejret enhed, for eksempel bil-ECU, på en fjernmåde, ikke via direkte tilsluttet serviceværktøj i et værksted. Dette kan kræve en vis indbygget diagnostisk testkapacitet i en koordinerende ECU og/eller genopretnings- og selvtestevner i selve bootloaderen.