Tenk på eksemplet på en elektronisk kontrollenhet (ECU) ved hjelp av tradisjonell statisk innebygd programvare. Bootloader er en programvarekomponent som brukes både til å starte oppstart av ECU-hovedprogramvaren, inkludert kopiering av programvaren til RAM, og for å utføre eventuelle kontroller av programvaren før oppstart. Bootloader er også ansvarlig for programvareoppdatering, mottak, kontroll og skriving av den oppdaterte programvaren i minnet, vanligvis Flash-minne. Derfor er begrepet Flash Bootloader også ofte brukt.
Brukes de samme bootloaderne i utvikling og produksjon?
Vanligvis kan den samme oppstartslaster brukes i utvikling av kjøretøyer og tilhørende ECUer og i normal produksjon, med beskyttelse for å sikre at produksjons-ECUer har mange utviklingsevner eller tekniske opplastere deaktivert. Under kjøretøyutvikling er det ofte ønskelig å fjerne sikkerhetsmekanismer for produksjonsopplastere for å muliggjøre rask distribusjon av utviklingsprogramvare.
Sikker oppstartslaster
I økende grad må alle bootloadere være sikre. Tradisjonelt har dette imidlertid vært et skille, vanligvis implementert for å beskytte funksjonalitet som er opptatt av sikkerhet, sikkerhet og noen ganger ytelse.
Bootloadere sjekker ofte programvareminnet til ECU ved oppstart og mottok programvare før en programvareoppdatering og i minnet etter.
Mekanismer inkluderer vanligvis:
- Autentisering av programvaren mottatt og/eller tilstede i minnet ved oppstartstidspunktet, ofte ved bruk av en hash av programvarebinæren for å kontrollere korrektheten generert fra en sikker kompileringsprosess av offisielt utgitte programvareversjoner.
- Autentisering av avsenderen ved hjelp av en seed og nøkkel, beskyttelse av sikre data i ECU ved bruk av sikret minne og minnekart for å definere tilgjengelige/omskrivbare områder.
Dobbel oppstartslaster
Noen implementeringer av bootloadere er i to deler, derav begrepet dual bootloader. I dette tilfellet kan den primære bootloader ikke oppdateres, som en del av å sikre oppstartslasteren. Dette er opptatt av oppstart av modulen og oppdatering av den sekundære bootloader. Den sekundære oppstartslaster kan oppdateres, via en sikret prosess, som muliggjør modifikasjoner av programvareoppdateringsprosessen, for eksempel minnekart, slik at disse normalt kan låses. Denne typen bootloader er mindre vanlig nå på grunn av nye metoder for å sikre oppdateringsprosessen ved hjelp av innebygd sikker maskinvare, for eksempel HSM (Hardware Secure Module).
Merk, dette begrepet er som dobbel oppstart, der to-oppstartsblokker, eller fulle minner er tilgjengelige, slik at en oppdatering kan finne sted på den ubrukte versjonen mens en versjon er aktiv. Dette krever ekstra minne i hver ECU som støtter denne oppdateringsmetoden.
Capital Embedded Bootloader
Capital Embedded Bootloader støtter pålitelige ECU-oppdateringer under utvikling, i kjøretøyproduksjon og i løpet av kjøretøyets levetid, via tilkoblede diagnostikkverktøy eller over-the-air-metoder. Den standardiserte ISO 14229 UDS-protokollen brukes over en rekke vanlige kjøretøynettverksbusser, Ethernet, CAN/CAN-FD, LIN, FlexRay, og det er også mulig å bruke andre metoder som ASAM kalibreringsprotokoller. Cybersikkerhet er et sentralt aspekt av programvareoppdateringsflyten og funksjoner som muliggjør programvareautentisering, og sikre oppstartsalternativer er en del av løsningen. For å tilfredsstille OEM (produsenter av originalt utstyr) og MCU-spesifikke krav, er bred støtte tilgjengelig for et bredt spekter av ECU-prosjekter.
Hva er forskjellen mellom OTA og FOTA?
OTA (over the air) oppdatering, eller FOTA (firmware over the air), er en metode for å oppnå mottak av ny programvare for en innebygd enhet, for eksempel bil-ECU, på en ekstern måte, ikke via direkte tilkoblet serviceverktøy i et verksted. Dette kan kreve en viss innebygd diagnostisk testerevne i en koordinerende ECU og/eller gjenopprettings- og selvtestevner i selve oppstartslasteren.