1. Home

Bootloader

Il bootloader è un programma per computer che garantisce che i dati di un sistema operativo vengano caricati nella memoria principale durante l'avvio di un dispositivo.

Cos'è il bootloader?

Il bootloader è un programma per computer che garantisce che i dati di un sistema operativo vengano caricati nella memoria principale durante l'avvio di un dispositivo. All'accensione del dispositivo, il bootloader è il primo elemento del software ad avviarsi ed è responsabile di copiare il resto del software nella RAM (memoria ad accesso casuale) e di avviare in modo ordinato il software principale.

Prodotti correlati: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

what-is-bootloader-feature-640x360

Scopri i vantaggi

Aggiornamenti del firmware sicuri e affidabili

Verificando l'integrità e l'autenticità della nuova immagine del firmware, i bootloader prevengono l'installazione di software non autorizzato o dannoso.

Ripristino dopo un guasto e ridondanza

In caso di guasto del software o del firmware, un bootloader può avviare procedure di ripristino come il rollback a una precedente versione integra nota o il passaggio a un'immagine firmware di backup ridondante.

Gestione flessibile del software

I bootloader consentono l'installazione di aggiornamenti e patch da remoto o tramite interfacce diagnostiche, riducendo la necessità di accesso fisico all'hardware del veicolo.

A cosa serve un bootloader in una ECU del settore automotive?

Prendiamo l'esempio di un'unità di controllo elettronica (ECU) che utilizza un software statico embedded tradizionale. Il bootloader è un componente software utilizzato sia per avviare il software principale dell'ECU, incluso copiare il software nella RAM, sia per eseguire eventuali controlli sul software prima dell'avvio. Il bootloader è anche responsabile dell'aggiornamento del software, della ricezione, del controllo e della scrittura del software aggiornato in memoria, solitamente nella memoria flash. Pertanto, si usa spesso il termine Flash Bootloader.

Vengono utilizzati gli stessi bootloader sia in fase di sviluppo sia in fase di produzione?

Di solito, è possibile utilizzare lo stesso bootloader sia nello sviluppo dei veicoli e delle ECU associate sia nella normale produzione, con protezioni per assicurarsi che molte delle capacità di sviluppo o dei bootloader di ingegneria delle ECU di produzione siano disattivati. Durante lo sviluppo del veicolo, è spesso auspicabile rimuovere i meccanismi di sicurezza dei bootloader di produzione per consentire una rapida distribuzione del software di sviluppo.

Bootloader sicuro

Oggi, è sempre più richiesto che tutti i bootloader siano sicuri. Tuttavia, tradizionalmente il bootloader sicuro era una tipologia distinta che solitamente veniva implementata per proteggere le funzionalità soggette a problemi relativi alla sicurezza, alla protezione e talvolta alle prestazioni.

In genere, i bootloader controllano la memoria software della ECU all'avvio e il software ricevuto prima di un aggiornamento software e successivamente nella memoria.

I meccanismi comunemente includono:

  • Autenticazione del software ricevuto e/o presente in memoria al momento dell'avvio, spesso utilizzando un hash del codice binario del software per verificare la correttezza generata da un processo di compilazione sicuro delle versioni software rilasciate ufficialmente.
  • Autenticazione del mittente tramite seed e chiave, protezione dei dati sicuri all'interno della ECU tramite memoria protetta e mappe di memoria per definire aree accessibili/riscrivibili.

Doppio bootloader

Alcuni bootloader presentano un'implementazione in due parti, da cui il termine doppio bootloader. In questo caso, il bootloader primario non è aggiornabile, per garantire la sicurezza del bootloader Questo ha a che fare con l'avvio del modulo e con l'aggiornamento del bootloader secondario. Il bootloader secondario può essere aggiornato tramite un processo sicuro, permettendo di modificare il processo di aggiornamento del software, ad esempio con una mappa di memoria, e consentendo di bloccarle normalmente. Adesso questo tipo di bootloader è meno comune a causa dei nuovi metodi di protezione del processo di aggiornamento che prevedono l'uso di hardware sicuro integrato, ad esempio HSM (Hardware Secure Module).

È analogo al dual boot, in cui sono disponibili blocchi con doppio avvio o memorie complete, che consentono di eseguire un aggiornamento sulla versione inutilizzata mentre una versione è attiva. Questo richiede memoria aggiuntiva in ogni ECU che supporta questo metodo di aggiornamento.

Capital Embedded Bootloader

Capital Embedded Bootloader supporta aggiornamenti affidabili dell'ECU durante lo sviluppo, la produzione a bordo del veicolo e durante la vita del veicolo tramite strumenti di diagnostica collegati o metodologie over-the-air. Il protocollo UDS standardizzato ISO 14229 viene utilizzato su un'ampia gamma di bus di rete per veicoli comuni, Ethernet, CAN/CAN-FD, LIN, FlexRay, ed è anche possibile utilizzare altri metodi, come i protocolli di calibrazione ASAM. La sicurezza informatica è un aspetto chiave del flusso e delle funzionalità di aggiornamento software, che consente l'autenticazione software, e le opzioni di avvio sicuro sono parte della soluzione. Per soddisfare i requisiti specifici degli OEM (produttori di apparecchiature originali) e degli MCU, è disponibile un ampio supporto per una vasta gamma di progetti ECU.

Qual è la differenza tra pianificazione e programmazione?

L'aggiornamento OTA (over the air), o FOTA (firmware over the air), è un metodo per ottenere un nuovo software per un dispositivo integrato, ad esempio una ECU del settore automotive, in modalità remota, non tramite uno strumento di servizio collegato direttamente in un'officina. Ciò potrebbe richiedere alcune funzionalità di tester diagnostico integrate in una ECU di coordinamento e/o capacità di ripristino e test automatico nel bootloader stesso.

Scopri i prodotti correlati al bootloader

Scopri di più

Guarda

Supera le sfide nello sviluppo di software embedded per veicoli elettrici.

Leggi

Sicurezza informatica moderna per l'automotive attraverso comunicazioni sicure, autenticazione avanzata e firewall flessibili.