1. ECU 하드웨어 ID와 소프트웨어 ID를 읽고 올바른 장치인지 확인
2. UDS 고급 서비스를 사용할 수 있는 확장된 진단 세션으로 전환
3. Routine control을 사용해서 Reprogramming을 위한 체크사항 확인
4. DTC를 OFF로 설정
5. 진단이 아닌 다른 컨트롤러의 버스 통신을 OFF
6. Programming Session으로 전환
7. Server에 Seed를 요청해서 받은 Seed로 계산된 Key 값을 서버로 전달
8. 누가 ECU 메모리 프로그래밍을 했는지에 대한 정보 기록
9. Flash programming을 위해서 메모리 삭제
10. Reprogramming 작업 시작 요청(데이터의 크기나 메모리 정보에 대한 알림)
11. 블록 단위로 바이너리 다운로드
12. 바이너리 전송이 종료되었음을 알림
13. 전송된 데이터를 검사하고 Reprogramming이 성공했는지 확인
14. ECU를 재부팅
15. 버스 통신을 정상화시킴
16. DTC를 ON으로 설정
17. ECU가 재부팅되고 정상 작동되기 때문에 기본 진단 세션으로 복귀
지금까지 UDS 프로토콜이 적용된 FBL에서 소프트웨어 업데이트를 위한 Reprogramming에 대해서 간략히 살펴보았습니다. 앞서 언급한 소프트웨어 업데이트를 위해 필요한 FBL 및 UDS Server/Client 기능을 직접 구현하기 위해서는 많은 시행착오가 필요하고, 많은 시간 소요가 예상되기 때문에 특별한 경우가 아니라면 직접 구현은 권장하지 않습니다.
최근에는 FBL 및 업데이트 기능이 개발 플랫폼에 구현된 기능의 일부로 제공되는 경우가 많은데, 여기서 제공되는 모듈에 필요한 설정을 적용하여 사용하는 것이 시간과 비용을 아끼고 더 안전한 시스템을 구축하는데 도움이 될 것 입니다.
현대오트론에서 개발한 mobilgene은 현대기아 자동차에서 요구하는 AUTOSAR 규격을 모두 지원하는 개발 플랫폼입니다. AUTOSAR규격의 FBL 및 UDS기반의 Reprogramming 을 위한 기능을 개발 플랫폼에서 제공하고 있기 때문에 기능 구현 자체보다는 사용할 옵션 설정 수준에서 해당 기능을 쉽고 안전하게 적용할 수 있습니다. 자세한 문의는 <문의하기>로 연락주시기 바랍니다.
▶ AUTOSAR Basic SW(mobilgene) 자세히 보기
▶ 출처: 자동차SW블로그