1. Home

Bootloader

Program rozruchowy to program komputerowy, który zapewnia, że dane systemu operacyjnego są wczytywane do pamięci głównej podczas uruchamiania urządzenia.

Co to jest program rozruchowy?

Program rozruchowy to program komputerowy, który zapewnia wczytywanie danych systemu operacyjnego do pamięci głównej podczas uruchamiania urządzenia. Podczas włączania urządzenia program rozruchowy jest pierwszym uruchamianym elementem oprogramowania i odpowiada za kopiowanie pozostałego oprogramowania do pamięci RAM (pamięć o dostępie swobodnym, ang. random access memory), a następnie systematyczne uruchomienie głównego oprogramowania.

Powiązane produkty: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

what-is-bootloader-feature-640x360

Poznaj korzyści

Bezpieczne i niezawodne aktualizacje oprogramowania sprzętowego

Dzięki weryfikacji integralności i autentyczności nowego obrazu oprogramowania sprzętowego programy rozruchowe pomagają zapobiegać instalowaniu nieautoryzowanego lub złośliwego oprogramowania.

Usuwanie usterek i nadmiarowość

W przypadku awarii oprogramowania lub oprogramowania sprzętowego program rozruchowy zainicjować procedury odzyskiwania, takie jak przywrócenie poprzedniej znanej sprawnej wersji lub przełączenie na nadmiarowy zapasowy obraz oprogramowania sprzętowego.

Elastyczne zarządzanie oprogramowaniem

Programy rozruchowe umożliwiają instalację aktualizacji i poprawek zdalnie lub za pośrednictwem interfejsów diagnostycznych, ograniczając potrzebę fizycznego dostępu do pojazdu.

Jakie funkcje pełni oprogramowanie rozruchowe w samochodowej jednostce ECU?

Za przykład posłuży nam elektroniczna jednostka sterująca (ECU) wykorzystującej tradycyjne statyczne oprogramowanie wbudowane. Program rozruchowy to komponent oprogramowania używany zarówno do inicjowania rozruchu głównego oprogramowania jednostki ECU, w tym kopiowania oprogramowania do pamięci RAM, jak i do wykonywania wszelkich kontroli oprogramowania przed jego uruchomieniem. Jest również odpowiedzialny za aktualizację oprogramowania, odbiór, sprawdzanie i zapisywanie zaktualizowanego oprogramowania w pamięci (zazwyczaj pamięci flash). W związku z tym powszechnie określa się go również mianem programu rozruchowego flash.

Czy te same programy rozruchowe są używane w procesie rozwoju oraz w produkcji?

Ten sam program rozruchowy jest zazwyczaj używany w procesie rozwoju pojazdów oraz w regularnej produkcji, z pewnymi zabezpieczeniami powodującymi dezaktywację wielu funkcji jednostek ECU stosowanych w procesie rozwoju lub inżynieryjnym. W procesie rozwoju usunięcie zabezpieczeń obecnych w produkcyjnych programach rozruchu jest niezbędne, aby umożliwić szybkie opracowywanie oprogramowania.

Bezpieczny program rozruchowy

Obecnie można zaobserwować tendencję do wymagania odpowiednich zabezpieczeń wszystkich programów rozruchowych. Tradycyjnie zabezpieczenia stanowiły cechę wyróżniającą określone programy rozruchowe i dotyczyły głównie funkcji związanych z bezpieczeństwem lub osiągami.

Programy rozruchowe zwykle sprawdzają pamięć oprogramowania jednostki ECU podczas uruchamiania oraz otrzymane aktualizacje oprogramowania przed ich zainstalowaniem oraz zapisane w pamięci po zainstalowaniu.

Mechanizmy zabezpieczeń obejmują zazwyczaj:

  • Uwierzytelnianie oprogramowania otrzymanego i (lub) znajdującego się w pamięci podczas rozruchu, często przy użyciu skrótu pliku binarnego oprogramowania w celu sprawdzenia poprawności wygenerowanej w wyniku bezpiecznego procesu kompilacji oficjalnie wydanych wersji oprogramowania.
  • Uwierzytelnianie nadawcy za pomocą algorytmu typu seed/key, zabezpieczanie danych zapisanych w jednostce ECU za pomocą zabezpieczonej pamięci i map pamięci w celu zdefiniowania obszarów dostępnych / wielokrotnego zapisu.

Podwójny program rozruchowy

Niektóre wdrożenia programów rozruchowych składają się z dwóch części i są w związku z tym określane mianem „podwójnego programu rozruchowego”. W takim przypadku podstawowy program rozruchowy nie może być aktualizowany w związku z bezpieczeństwem i w celu zapewnienia uruchomienia modułu i aktualizacji dodatkowego programu rozruchowego. Aktualizacja tego programu może przebiegać za pośrednictwem bezpiecznego procesu z możliwością zmodyfikowania przebiegu aktualizacji, na przykład mapowania pamięci, co pozwala jej zablokowanie. Ten typ programu rozruchowego jest obecnie mniej rozpowszechniony ze względu na nowe metody zabezpieczania procesu aktualizacji za pomocą wbudowanych zabezpieczeń sprzętowych, na przykład HSM (sprzętowego modułu bezpieczeństwa, ang. Hardware Secure Module).

Należy zwrócić uwagę, że przypomina to konfigurację z dwoma systemami operacyjnymi, w której dostępne są dwa bloki rozruchowe z pełną pamięcią, co umożliwia przeprowadzenie aktualizacji nieużywanej wersji i jednoczesną pracę z drugą wersją systemu. Wymaga to zapewnienia dodatkowej pamięci w każdej jednostce ECU obsługującej tę metodę aktualizacji.

Capital Embedded Bootloader

Rozwiązanie Capital Embedded Bootloader obsługuje niezawodne aktualizacje sterowników ECU podczas rozwoju, produkcji i eksploatacji pojazdu za pomocą połączonych narzędzi diagnostycznych lub metod łączności bezprzewodowej. Znormalizowany protokół UDS ISO 14229 jest używany w wielu popularnych magistralach sieciowych pojazdów, takich jak Ethernet, CAN/CAN-FD, LIN, FlexRay; można również używać innych metod, jak np. protokoły kalibracji ASAM. Cyberbezpieczeństwo jest kluczowym aspektem przepływu aktualizacji oprogramowania i funkcji, umożliwiając uwierzytelnianie oprogramowania i zapewnienie bezpiecznego rozruchu. Spełnienie wymagań producentów OEM (producentów oryginalnego wyposażenia) i MCU wymaga zapewnienia szerokiej obsługi wielu różnych projektów ECU.

Na czym polega różnica między aktualizacją OTA i FOTA

Aktualizacja OTA (aktualizacja bezprzewodowa, ang. over the air) lub FOTA (bezprzewodowa aktualizacja oprogramowania sprzętowego) to metoda otrzymywania nowej wersji oprogramowania dla urządzenia wbudowanego, na przykład samochodowej jednostki ECU, w sposób zdalny, bez użycia bezpośrednio podłączonego narzędzia serwisowego w warsztacie. Może to wymagać pewnych funkcji wbudowanego testera diagnostycznego w koordynującej jednostce ECU i (lub) funkcji odzyskiwania i przeprowadzania autotestów przez program rozruchowy.

Poznaj produkty powiązane z programami rozruchowymi

Dowiedz się więcej

Obejrzyj

Pokonaj wyzwania związane z rozwojem oprogramowania wbudowanego do pojazdów elektrycznych.

Przeczytaj

Nowoczesne cyberzabezpieczenia w branży motoryzacyjnej są możliwe dzięki bezpiecznej komunikacji, silnemu uwierzytelnianiu i elastycznym zaporom sieciowym.