banner

소식

May 17, 2023

여러 자동차 장치 디버깅 및 프로파일링을 위한 솔루션

최근 몇 년간 자동차 산업은 여러 가지 큰 변화를 겪고 있습니다. 이러한 상황으로 인해 추세와 요구 사항이 크게 변경되었습니다. 커넥티비티, 자율주행, 운전자 보조 시스템, 전동화 등 필요한 기능의 수와 규모가 매년 증가하고 있습니다. ECU의 기능과 탑재량이 모두 늘어나고 있습니다. 또한 차량 전자 및 전기 아키텍처(E/E 아키텍처)는 시스템의 복잡성이 증가함에 따라 발전해 왔습니다. 이러한 시스템을 제어하려면 ECU를 구성하는 여러 장치의 조화로운 작동이 필요합니다.

여러 장치의 조화로운 작동이 필요한 환경에서 소프트웨어를 개발할 때 다음과 같은 문제가 발생합니다.

르네사스는 위에서 설명한 다양한 기기용 소프트웨어 개발 시 발생하는 문제점을 해결하기 위한 솔루션 개발에 힘쓰고 있습니다. 이 게시물의 나머지 부분에서는 그러한 솔루션 중 하나인 동기 로깅(동기화 로깅)을 소개합니다. 동기화 로깅은 여러 장치로 구성된 시스템의 디버깅 또는 프로파일링을 위한 솔루션입니다. 이 솔루션은 동시에 여러 장치 각각에서 어떤 처리가 진행되고 있는지 이해할 수 있는 수단을 제공합니다. 각 장치의 동작을 이해하기 위해 사용자는 소프트웨어에 포함된 로그 메시지와 함께 strace 또는 perf와 같은 Linux 도구를 사용합니다. 로그 메시지 시간에 대한 정보는 오류가 발생한 당시 다른 장치에서 실행 중인 소프트웨어의 동작을 확인할 수 있기 때문에 사용자가 오류 이유를 식별하는 데 도움이 됩니다. 사용자는 또한 다음과 같은 Linux 명령이나 도구를 사용합니다. 각 장치의 리소스 사용 상태를 이해하기 위한 수단으로 시간 정보의 로그를 출력하는 perf, top 또는 vmstat로 사용됩니다. 이러한 명령이나 도구는 로그 메시지의 시간과 명령이나 도구가 제공하는 시간 정보를 동기화하여 리소스 사용 상태에 대한 정보를 분석할 수 있기 때문에 사용자가 특정 시간의 시스템 부하 상태를 이해하는 데 도움이 됩니다.

동기화 로깅 시스템은 호스트 PC와 장치에서 각각 실행되는 추적 관리자와 추적 모니터 도구로 구성됩니다. 장치에서 실행되는 소프트웨어나 도구에서 출력되는 데이터는 추적 모니터를 통해 호스트 PC의 추적 관리자로 전송됩니다. 추적 관리자는 여러 장치에서 전송된 데이터를 시간 순서대로 출력합니다. 출력 데이터를 분석하면 사용자는 각 장치의 소프트웨어가 동시에 어떤 처리를 진행하고 있는지, 적용되는 시스템 부하의 가중치에 대한 정보를 이해할 수 있습니다.

동기화 로깅은 R-Car S4 및 R-Car V4H 평가를 위한 환경을 대상으로 개발되었습니다. 향후에는 차세대 R-Car 제품 및 기타 자동차 MCU 제품을 대상으로 포함하도록 동기화 로깅 지원이 확장될 예정입니다. 또한 르네사스는 지원되는 도구의 범위를 확대하고 수집된 데이터를 이해하기 쉬운 방식으로 표시하는 등 기능 추가와 사용성 개선을 지속적으로 진행하고 있습니다. 다중 장치용 소프트웨어 개발 환경에 관심이 있으시면 , 지원 페이지를 통해 문의해 주세요.

공유하다