728x90

분류 전체보기 276

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

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

Germany 2023.04.22

systemd units 파일에서 파일에 있는 환경 변수 사용하기

아래와 같이 systemd service 에서 특정파일에 있는 환경 변수를 사용할 때의 방법이다. 필자가 엄청 삽질하다 아래 Reference 에 있는 블로그를 발견하고 쉽게 해결 했다. Service file ... [Service] ... EnvironmentFile=/etc/conf.d/tomcat7 ExecStart=/usr/share/tomcat7/bin/startup.sh $CATALINA_OPTS ExecStop=/usr/share/tomcat7/bin/shutdown.sh ... /etc/conf.d/tomcat7 ... CATALINA_OPTS=-Xms512m -Xmx1024m ... 위의 내용이 최종 해결된 것이고 처음에는 $CATALINA_OPTS가 아닌 ${CATALINA_OPTS}..

Development 2023.04.22

IT 개발자의 독일살이 1년 후

어느덧 베를린에 와서 생활한지 약 1년이 되어 간다. 딸래미는 학교에 들어가 잘 적응했고, 아내도 독일 생활에 익숙해져 가고, 필자도 6개월의 프로베 기간이 끝나고 회사에 구성원으로 잘 생활하고 있다. 9월쯤에 여기에 쓴 글 (IT 개발자의 독일 입성기)를 다시 읽어 봤는데, 큰 변화는 없다. 첫 독일의 겨울을 경험한 것 뿐 :) 역시 이게 젤 힘든 것중에 하나이다. 겨울 날씨와 해가 일찍 지는 것. 회사 이야기를 조금 더 해보면, 회사는 200여명 정도 40여개국에서 온 친구들이 있다. 아쉽게도 지금까지 한국인은 필자 혼자지만 동료들이 정말 친절하고 좋다. 영어로 하루종일 일하고 회의하는 것이 지치고 한국말로 편하게 관련 분야 이야기를 하는 것이 가끔은 그립다. 회사 문화는 정말 자유로운 출퇴근, 업무..

Germany 2023.04.22

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

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

Automotive 2023.04.22

Android Automotive

Android Automotive는 자동차의 Infotainment 의 OS로 사용하려고 Google에서 Android를 확장하여 만든 리눅스 기반의 플랫폼이다. 우선 Android Auto와 Android Automotive에 대한 용어 정의부터 명확하게 하고 시작해야할 것 같다. Android Auto: Android 기반 스마트폰의 Projection 을 지원하기 위한 기존 OS에 설치된 애플리케이션이다. Android Automotive: Android Automotive OS, Native Android OS 등 많은 용어로 불리고 있는 안드로이드 리눅스 커널에서 부터 서비스, 애플리케이션이 모두 올라간 OS 이다. 이 글에서Android Automotive를 이야기한다. 아래 링크에서와 같이 ..

Automotive 2023.04.22

ELCE (Embedded Linux Conference Europe) & Yocto summit 2019 참석 후기

올해로 6년 연속 참석중인 ELCE, https://events19.linuxfoundation.org/events/embedded-linux-conference-europe-2019/는 올해 프랑스 리옹에서 10월 28일 ~ 30일 3일간 열렸고 이후 이틀간 Yocto Summit이 같은 장소에서 개최되었다. 작년까지는 한국에서 유럽으로 왔지만 올해부터는 베를린에 살아서 같은 시차에 짧은 비행시간으로 덜 피곤했다. ELCE (Embedded Linux Conference Europe) Embedded Linux Conference 로 가장 큰 오픈소스 컨퍼런스 중에 하나이고 Linux Foundation에서 주관한다. Keynote에 거의 항상 토발즈가 와서 커널 관련 이야기를 해주고 세션이 한시간 당..

Development 2023.04.22

Tesla 차량용 소프트웨어

Tesla 차량의 소프트웨어 개발 방법론에 대해 관심을 가지고 있다가, Tesla 소프트웨어 개발 내용을 듣고 자료를 검색하여 이 글을 쓰게 되었다. 실제와 다를 수 있으니 참고용으로 보면 좋을 것 같다. 개발 조직 / 문화 Tesla는 크게 개발팀이 Infortainment 개발팀 (약 300명), Auto Pilot 개발팀으로 구성되어 있는 것으로 보이고 엄청난 강도로 일을 하는 것 같다. 조직 구조는 기술분야에 맞게 Matrix 구조로 되어 있고, 스크럼으로 운영하는 팀이 있지만 따로 SM, PO가 있지는 않은 것 같다. 차량용 소프트웨어 개발이라 하면 Tesla를 많이 벤치마킹하겠다고 달려들고 있지만, Tesla도 BMW등을 벤치마킹했다고 한다. 중요한건 데이터이고 고객 데이터를 수집하는 클라우드..

Automotive 2023.04.22

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

이 글에서는 차량용 IVI 소프트웨어 개발 환경에 대해서 이야기하고자 한다. ELCE 2019에 필자가 제출했고 리젝되었던 제목과 초록은 아래와 같다. Software development process with CI/CD in embedded linux using Yocto Project Yocto Project uses lots of embedded linux products such as consumer electronics, automotive industries, and others. The software development process is different depended on company. According to the process, speed and product quality ..

Automotive 2023.04.21

Automotive Grade Linux (AGL) F2F Meeting 2019 in Berlin 참석 후기

Automotive Grade Linux는 Linux Foundation 산하의 차량용 소프트웨어 개발을 위한 오픈소스로 Toyota 를 비롯한 일본 OEM, Tier 1 중심의 커뮤니티가 형성되어 있고, Code first를 외치며 코드를 생산해내고 있다. 독일 베를린 필자 회사 근처인 Volkswagen 소프트웨어 개발 자회사 Carmeq 에서 AGL F2F 미팅이 3일간 열려 관심 있는 세션과 첫날 저녁 식사에 참여했다. Code first 를 외치며, 코드 생산에 주력한 AGL은 Infortainment 를 시작으로 차량에 들어가는 소프트웨어를 다양하게 지원하도록 구조도 바꾸고 실제 구현도 하려고 IC Expert Group, Telematic Expert Group 등 EG를 만들어 PoC를 하..

Development 2023.04.21

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

차량용 IVI 소프트웨어 개발 환경에 대해 간단히 소개하고자 한다. 개발 환경을 알기 위해서는 차량에 들어가는 각각의 기능을 이해하는 것이 좋을 것 같아 우선 간단히 소개하고자 한다. 차량에 기본적으로 Instrument Cluster가 들어가고 추가적으로 Head Unit 등이 들어가게 된다. 각 보드의 구성에 따라서 여러개의 SoC가 하나의 Box에 들어가게 된다. 앞에 글에서도 이야기한 것 처럼 고성능의 SoC와 하이퍼바이저를 사용하여 여러 개를 사용해야할 것을 1-2개로 줄이는 노력을 하고 있다. 여기서는 Instrument Cluster과 Head Unit에 들어가는 각각의 Main 소프트웨어에 대해서만 간단히 이야하고자 한다. Instrument Cluster 계기판이 표시되는 부분으로 Saf..

Automotive 2023.04.21
728x90
반응형