Розглянемо на прикладі електронного блоку управління (ЕБУ) з використанням традиційного статичного вбудованого програмного забезпечення. Bootloader - це програмний компонент, який використовується як для ініціювання завантаження основного програмного забезпечення ЕБУ, включаючи копіювання програмного забезпечення в оперативну пам'ять, так і для виконання будь-яких перевірок програмного забезпечення перед завантаженням. Завантажувач також відповідає за оновлення програмного забезпечення, отримання, перевірку та запис оновленого програмного забезпечення в пам'ять, як правило, флеш-пам'ять. Отже, термін Flash Bootloader також широко використовується.
Чи використовуються одні й ті ж завантажувачі в розробці і виробництві?
Зазвичай один і той же завантажувач може використовуватися при розробці транспортних засобів та пов'язаних з ними ECU, а також у звичайному виробництві, із захистом для забезпечення того, що виробничі ECU мають багато можливостей розробки або деактивовані інженерні завантажувачі. Під час розробки транспортних засобів часто бажано видалити механізми безпеки виробничих завантажувачів, щоб забезпечити швидке розгортання програмного забезпечення для розробки.
Безпечний завантажувач
Все частіше всі завантажувачі зобов'язані бути захищеними. Однак традиційно це була відмінність, зазвичай реалізована для захисту функціональних можливостей, пов'язаних із безпекою, безпекою, а іноді й продуктивністю.
Завантажувачі зазвичай перевіряють програмну пам'ять ЕБУ під час завантаження та отримане програмне забезпечення перед оновленням програмного забезпечення та в пам'яті після.
Механізми зазвичай включають:
- Аутентифікація програмного забезпечення, отриманого та/або присутнього в пам'яті під час завантаження, часто з використанням хешу бінарного програмного забезпечення для перевірки правильності, створеної під час безпечного процесу компіляції офіційно випущених версій програмного забезпечення.
- Аутентифікація відправника за допомогою насіння та ключа, захист захищених даних всередині ЕБУ за допомогою захищеної пам'яті та карт пам'яті для визначення доступних/перезаписуючих областей.
Подвійний завантажувач
Деякі реалізації завантажувачів складаються з двох частин, звідси і походить термін подвійний завантажувач. При цьому основний завантажувач не оновлюється, як частина захисту завантажувача. Це стосується завантаження модуля та оновлення вторинного завантажувача. Вторинний завантажувач може бути оновлений за допомогою захищеного процесу, дозволяючи модифікувати процес оновлення програмного забезпечення, наприклад, карту пам'яті, дозволяючи їх нормально блокувати. Цей тип завантажувача зараз менш поширений через нові методи захисту процесу оновлення за допомогою бортового захищеного обладнання, наприклад, HSM (Hardware Secure Module).
Зауважте, що цей термін схожий на подвійне завантаження, де доступні двозавантажувальні блоки або повна пам'ять, що дозволяє оновлювати невикористану версію, поки одна версія активна. Для цього потрібна додаткова пам'ять в кожному ЕБУ, що підтримує цей спосіб оновлення.
Capital Embedded Bootloader
Capital Embedded Bootloader підтримує надійні оновлення ЕБУ під час розробки, у виробництві транспортних засобів та протягом життя транспортного засобу за допомогою підключених діагностичних інструментів або методологій бездротової передачі. Стандартизований протокол ISO 14229 UDS використовується в ряді загальних мережевих шин транспортних засобів, Ethernet, CAN/CAN-FD, LIN, FlexRay, а також можна використовувати інші методи, такі як протоколи калібрування ASAM. Кібербезпека є ключовим аспектом потоку оновлення програмного забезпечення, а функції, що дозволяють аутентифікацію програмного забезпечення, а параметри безпечного завантаження є частиною рішення. Щоб задовольнити специфічні вимоги OEM (виробники оригінального обладнання) та MCU, доступна широка підтримка широкого спектру проектів ECU.
Яка різниця між OTA та FOTA?
Оновлення OTA (over the air), або FOTA (прошивка по повітрю), - це метод досягнення прийому нового програмного забезпечення для вбудованого пристрою, наприклад, автомобільного ЕБУ, віддаленим способом, а не через безпосередньо підключений сервісний інструмент в майстерні. Для цього може знадобитися певна можливість вбудованого діагностичного тестера в координаційному ЕБУ та/або можливості відновлення та самотестування в самому завантажувачі.