Over the air programming이라는 말에 소프트웨어 개발처럼 보일 수도 있다.(나는 처음 그랬다...programming이니까)
그러나, OTA는 업데이트 방식이다.
우리가 흔히 사용하는 모바일 업데이트 화면을 생각해 보자
위와 같이 우리는 업데이트를 이용할 때, 별도의 유선 연결 없이
업데이트를 진행해 왔을 것이다. 이와 같은 업데이트 방식을 OTA라고 부르며 우리 생활 속에서 자연스럽게 경험 중이다.
차량에서도
최근의 차량들을 보면 이와 같은 기능을 가지고 소프트웨어 업데이트를 지원하는 방식을 지원한다.
앞으로 글의 구성은, 이러한 OTA를 하기 위해 필요한 아키텍처 구조에 관한 이해와, 이에 대한 CAN 통신 방식에 대한 이해, 그리고 이러한 OTA를 하기 위한 UDS(Unified Diagnostic Services) 통신에 대한 소개. 그리고 실제 소프트웨어 개발의 예시 과정에 대해 다루고자 한다.
이때 예제로 사용할 CAN 통신 장비로는 KVASER 제품을 통한 방식으로 진행 될 것이며, 이는 실제 개발했던 것이 아닌
, 현직에서 일 하며 이러한 방식이다. 라는 가상의 예제
임을 미리 밝힌다.
보안 문제 때문이니 이러한 부분에 대해서 깊이 있는 이해 또는 방식에 대한 이해를 원한다면 추가적으로 질의나 문의를 해 주시면 감사하겠습니다. :)
참고로, 소프트웨어 개발에 대한 부분을 최대한 Misra-C:2012에 입각한 소개와 진행을 통하고자 한다. 다만, 아직 부족해서 적절하게 진행하지 못한 부분이 있다면, 알려주시면 감사하겠습니다.
문의는 아래의 오픈카톡으로 해주시면 빠릅니다 :) https://open.kakao.com/o/sYzwqBLf