노트 / 펌웨어 설계와 품질
펌웨어 업데이트: 현장 기기를 안전하게 바꾸기
출시 후에도 버그를 고치려면 업데이트 경로가 필요합니다. A/B 슬롯, 서명 검증, 롤백으로 벽돌을 피하는 구조.
업데이트 경로
| 경로 | 예 |
|---|---|
| 유선 | UART, USB DFU, CAN (차량 진단기) |
| 무선 (OTA) | BLE, Wi-Fi, LTE |
벽돌이 되는 원인
- 쓰는 도중 전원 차단
- 깨진 이미지
- 새 펌웨어가 부팅은 되지만 통신이 안 되어 다시 업데이트할 수 없음
안전한 구조
- A/B 슬롯: 현재 동작하는 이미지(A)는 그대로 두고 새 이미지를 B에 씀
- 검증: CRC로 무결성, 디지털 서명으로 출처 확인 (아무나 만든 펌웨어 차단)
- 시험 부팅: 부트로더가 B로 부팅하고 "확정 대기" 상태로 둠
- 확정: 새 펌웨어가 자가 점검(통신, 센서) 후 스스로 확정 표시
- 롤백: 확정 없이 리셋되면(워치독 등) 부트로더가 A로 되돌림
MCUboot 같은 오픈소스 부트로더가 이 구조를 제공합니다.
그 밖에
- 버전 다운그레이드를 막는 안티 롤백 카운터
- 업데이트 중 모터나 히터 같은 위험 부하는 반드시 정지
- 차량은 UDS 진단 서비스로 플래싱하는 표준 절차가 있습니다 (자동차 소프트웨어 과목 참고)
영상으로 이어 보기RC카 만들기 시리즈 6편대기업 임베디드 개발자 Lego RC카 메이킹 시작합니다. 【RC카 개발1】PROJECT COURSE요구사항부터 소프트웨어 구조까지 한 프로젝트로 해 보고 싶다면밸런싱 로봇 하나를 요구사항, 회로와 PCB, 펌웨어, 앱까지 실무 순서대로 만드는 강의입니다. 10파트 165강.강의 살펴보기 →FREE PDF무료 전자책 3권 받기이 주제를 한 권으로 이어서 읽고 싶다면. BLDC 모터 제어, 직렬통신, 센서를 책 분량으로 묶었습니다. 이메일만 남기면 바로 받습니다.무료로 받기 →