Automotive 23

차량용 소프트웨어 개발 테스트 환경 및 자동화

소프트웨어를 개발할 때 테스트는 기본적으로 같이 이루어져야 한다. 이 글에서는 차량용 소프트웨어를 개발할 때 ASPICE 프로세스를 기준으로 어느 단계에서 어떤 테스트가 이루어져야하는지를 간단히 소개하고 이를 CI와 연결하여 자동으로 테스트할 수 있는 방법에 대해서 이야기해보고자 한다. 이론은 크게 어렵지 않지만 실제 개발에 적용하기란 단계에 따라 상당히 어려울 수 있다. 이유도 가지 각색으로 정말 다양하다. 개발 리소스, CI 리소스, 하드웨어 리소스 문제, 안정성 문제, Component/SW Elements 등에 대한 정의의 문제, 의존성 문제 등등 말이다. 이 각각의 문제를 필자의 경험을 토대로 어떻게 하면 해결할 수 있을까 또는 왜 그렇게 어려운가에 대해서 하나씩 풀어보고자 한다. https:/..

Automotive 2023.09.26

SEA:ME 프로젝트 소개 (42wolfsburg)

42wolfsburg에서 파생되어 나온 Mobility 오픈소스 러닝 프로젝트인 SEA:ME (Software Engineering in Automotive and Mobility Esyscosystems, https://seame.space/)에 대해서 간단히 소개하고자 한다. 크게 3가지 모듈로 구성되어 있고 일반적으로 각 모듈마다 6개월정도 프로젝트 시간을 고려하여 설계 되어있다. Embedded Systems: 리눅스 기반의 OS로 ECU에서 돌아가는 임베디드 시스템에 대한 이해를 할 수 있도록 설계되어 있다. Autonomous Driving Systems: ADAS, 자율 주행 관련된 기술 및 알고리즘을 학습할 수 있도록 설계되어 있는데 필자는 아직 자세히 들여다보지는 못했다. Mobility..

Automotive 2023.04.25

Automotive Software Architecture 도서 번역 후기

2020년 2월 Automotive Software Architectures 책 1판을 번역하기 위해 에이콘 출판사를 컨텍했고 흔쾌히 번역을 제안해서 수락을 받았다. 6개월이면 초벌 번역이 완료될 것이라는 안일한 생각.. 결국 여러 우여곡절 끝에 2023년 1월 31일에 출간이 되었다. 히스토리 3년간의 히스토리를 간략하게 정리하면 다음과 같다. 2020년 2월 14일 - 계약 2020년 12월 28일 - 도서 번역 포기 선언 (70% 번역 완료한 상황), 출판사의 권유로 다시 시작 2021년 3월 3일 - 2판 출간 2022년 3월 24일 - 초판 번역 완료 2023년 1월 4일 - 출판사 수정 2023년 1월 31일 - 출간 위의 책은 3년간의 우여곡절 끝에 출간되었다. 여러가지 이유가 있겠지만 너무..

Automotive 2023.04.24

Automotive Industry Trend (자동차 산업 동향)

10월 18일 독일 베를린 도이치텔레콤 허브라움에서 한양대 MOT 독일 연수오신 분들께 현재 자동차 산업 동향에 대해 한시간 반정도 소개를 했다. 각기 다른 분야에서 일하고 계신 분들이라 독일 3사 현황을 CASE (Connectivity, Autonomous, Shared, Electric) 기반으로 발표를 했다. 최근 현대자동차에서 발표한 각 계층의 Platform (Vehicle Platform, E/E Architecture, Software Platform, Data Platform) 전략이 너무 잘 정리되어 있어서 3분정도 보여줬다. 이 글을 읽는 분들은 전체 동영상을 보면 큰 그림을 정리하는데 도움이 될 것 같다. Connectivity 파트에서는 차를 중심으로 이루어지는 모든 것들이 네트워..

Automotive 2023.04.23

ELCE (Embedded Linux Conference Europe) 2022 후기

2019년 프랑스 리옹을 마지막으로 ELCE 가 Virtual로 전환되었다. 2년만에 다시 참석한 ELCE.. 코로나 여파로 인해 규모는 이전보다 작아졌지만 다시만난 개발자 및 오프라인 세션이 너무나도 반가웠다. 이번에는 같은 회사 동료 4명과 함께 갔고 이전 동료들도 만난 뜻깊은 컨퍼런스였다. 아일랜드 더블린에서 9월 13일부터 16일까지 진행한 컨퍼런스에서 많은 재밌는 세션들, 네트워킹 등이 있었고 첫째날에는 모두들 Guiness Factory 에서 재밌는 시간을 보냈다. 다양한 세션들이 있었는데 그 중 개인적으로 흥미롭게 본 세션은 아래와 같다. 링크를 들어가면 발표자료를 볼 수 있고 추후에 Youtube에 프리젠테이션이 오픈될 것으로 보인다. Booting Automotive ECUs Really..

Development 2023.04.23

차량 소프트웨어 개발 변형 (Variant) 관리

최근 Configuration Management 관련 일을 추가로 하게 되어 Variant Management 관련 업무를 진행하고 있다. 필자의 업무 환경은 Infortainment와 Cluster 로 한정되어 있어 이 기준으로 간략하게 풀어나가고자 한다. 우선 Variant의 정의부터 살펴보면 아래와 같다. HW Sample: 일반적으로 A,B,C,D Sample이 있고 HW Revision이라고 보면 된다. https://www.youtube.com/watch?v=k_2ELJd3Uuc 에 간단한 설명이 있으니 참고하시 바란다. Car Line: Entry, Mid, Premium (회사마다 다름) 등으로 구분된 차량 라인 Region: 지역 (유럽, 아시아, 북미 등등) Product: Infor..

Automotive 2023.04.23

독일 자동차 전장 소프트웨어 개발자 - 2021

우연한 기회로 독일에 있는 객원 기자분과 독일 자동차 회사에 오기까지 여정을 인터뷰하는 기회를 가졌고 좋게 기사를 써주셨다. 1시간동안 편하게 이야기했는데 이렇게 잘 써주실 줄은 몰랐다. 물론 linkedin에도 경력이 나열 되어 있지만 이렇게 글로 풀어서 보니 또 다른 느낌이다. 여기에는 기사에 없는 이야기를 해보려고 한다. 대부분의 큰 변곡점이 일어나기 전에 있었던 일들을 가만히 생각해보니, 혼자만의 시간을 잠시 가졌을 때 일어났던 것 같다. 업무상, 해외 컨퍼런스 참석하고자 나갔을 때, 가족들이 잠을 잔 밤 시간에 혼자 생각을 하다가, 인터넷을 검색하다가 할 일을 찾아 시행을 했다. 그 중에 큰 것들이 책 번역, KOSSLAB 활동 등이 있다. 이렇게 생각이 나면 바로 실행에 옮겨서 해야하는 것도 ..

Etc 2023.04.23

Build dlt-viewer for MacOS

DLT (Diagnostic Log and Trace)는 GENIVI의 로그 관련 오픈소스 프로젝트이고 BMW에서 기여하였다. 차량의 로그 취합 및 추적을 위해 사용하고 dlt-daemon과 dlt-viewer 프로젝트가 있다. dlt-daemon: 디바이스에 설치하여 로그를 수집하는 데몬이다. 로그를 파일로 저장하여 기록하기도 하고 실시간으로 네트웍을 사용하여 전송하기도 한다. dlt-viewer: dlt 포맷으로 저장된 파일을 볼 수 있고, 실시간으로 네트웍으로 차량에서 보내는 로그 정보를 볼 수도 있다. 여기서는 dlt-viewer를 MacOS에서 빌드하여 실행하는 과정을 설명한다. dlt viewer는 QT 기반의 어플리케이션으로 QT Framework를 우선 설치하여야 한다. 빌드 환경 MacO..

Development 2023.04.22

독일 차량용 소프트웨어 개발자 홈 오피스 (2020)

역대급 바이러스 코로나로 인해 필자의 회사는 3주 전부터 홈 오피스를 시작했다. 본사에서는 각 지역별 전파상황에 따라 관리자가 결정하라는 지침이 내려왔고, 필자의 CEO는 전 직원에게 홈 오피스를 권장한다고 지시했다. 기존에는 1,2주에 한번 필요할 때마다 했지만 이렇게 장기적으로 하기는 처음이였고, 2주 정도 지나자 점차 집에서 개발하는 문화가 하나 둘 생겨나기 시작했다. 참고로 필자의 회사, https://mbition.io/는 차량용 인포테이먼트, ADAS 를 개발하는 임베디드 소프트웨어를 개발한다. 기존에도 홈 오피스를 하는 동료들과 다임러 본사 및 3rd party 회사들과 미팅을 할 때 zoom을 사용했지만, 이렇게 적극적으로 zoom을 사용해보기는 처음이다. 필자의 회사는 2주 단위의 spr..

Germany 2023.04.22

차량용 소프트웨어 개발 환경 3부

차량용 소프트웨어 개발 환경 2부에서는 개발환경에 필요한 도구 들과 간단한 프로세스에 대해서 언급했다. 3부에서는 개발 프로세스에서 부터 실제 배포가 이루어지는 과정을 필자의 경험을 토대로 풀어나가고자 한다. 기본적으로 Infortainment 를 리눅스 Yocto 환경을 기반으로 설명할 예정이며, 안드로이드나 다른 RTOS는 그 상황에 맞춰 변경하여 구성하면 된다. 하지만 이것 또한 빌드 시스템에 따라 구성하는 방법이 달라지기 때문에 필자의 글을 바탕으로 각자의 환경에 맞춰 생각해 보면 좋을 것 같다. 각 회사별로 사용하는 내용을 직접 언급하는 것은 문제가 있어 오픈소스 AGL (Automotive Grade Linux), webOS OSE (Open Source Edition) 등을 가지고 간단히 언..

Automotive 2023.04.22
728x90