그라운드 임베디드 유튜브 구독

노트 / 펌웨어 설계와 품질

펌웨어 업데이트: 현장 기기를 안전하게 바꾸기

출시 후에도 버그를 고치려면 업데이트 경로가 필요합니다. A/B 슬롯, 서명 검증, 롤백으로 벽돌을 피하는 구조.

GROUND EMBEDDED · 정리 노트설계·품질 08펌웨어 업데이트경로예유선UART, USB DFU, CAN (차…무선 (OTA)BLE, Wi-Fi, LTE

업데이트 경로

경로 예
유선 UART, USB DFU, CAN (차량 진단기)
무선 (OTA) BLE, Wi-Fi, LTE

벽돌이 되는 원인

  • 쓰는 도중 전원 차단
  • 깨진 이미지
  • 새 펌웨어가 부팅은 되지만 통신이 안 되어 다시 업데이트할 수 없음

안전한 구조

  1. A/B 슬롯: 현재 동작하는 이미지(A)는 그대로 두고 새 이미지를 B에 씀
  2. 검증: CRC로 무결성, 디지털 서명으로 출처 확인 (아무나 만든 펌웨어 차단)
  3. 시험 부팅: 부트로더가 B로 부팅하고 "확정 대기" 상태로 둠
  4. 확정: 새 펌웨어가 자가 점검(통신, 센서) 후 스스로 확정 표시
  5. 롤백: 확정 없이 리셋되면(워치독 등) 부트로더가 A로 되돌림

MCUboot 같은 오픈소스 부트로더가 이 구조를 제공합니다.

그 밖에

  • 버전 다운그레이드를 막는 안티 롤백 카운터
  • 업데이트 중 모터나 히터 같은 위험 부하는 반드시 정지
  • 차량은 UDS 진단 서비스로 플래싱하는 표준 절차가 있습니다 (자동차 소프트웨어 과목 참고)