반응형

분류 전체보기 422

Android app support in Car

자동차 회사들이 안드로드이 앱을 차량용 인포테인먼트에서 지원하려고 많이들 노력하고 있다. 이 글에서는 안드로이드 앱을 지원하는 방법들에 대해서 알아보려고 한다. 벤츠 2024 E 클래스 풀체인지에서 틱톡, Zoom, Angry Bird와 같은 안드로이드 앱을 MBUX 위에서 지원한다. 이를 지원하는 방법은 여러가지가 있다. 그중 가장 많이 사용하는 3가지 방법에 대해서 이야기보고자 한다. 1. Full Android Automotive OS 전체 인포테인먼트 플랫폼을 안드로이드 오토모티브를 사용하는 방법이다. 많은 OEM에서 플랫폼 유지보수 비용을 줄이고 구글의 최신 기술을 계속 받아들이고자 사용하고 있다. 단점으로는 구글에 바이어스가 될 수 있다는 점이 있고 플랫폼 주도권을 직접 가지고 가지 못한다. ..

Automotive 2023.10.18

처음 시작하는 Yocto 프로젝트 강좌 소개

드디어 첫 이러닝 강의를 오픈했다. 앞 글에서 이야기한 것처럼 5개월정도의 작업 끝에 B2C로 오픈을 해서 누구나 들을 수 있게 되었다. 제목은 "처음 시작하는 Yocto 프로젝트"이고 임베디드를 개발하는 개발자라면 누구나 들을 수 있도록 최대한 기초를 담으려고 노력했다. https://www.codepresso.kr/course/307 에서 들을 수 있다. 최대한 쉽게 구성하려고 했지만 임베디드 지식이 있으면 더 좋다. 앞뒤 소개하는 장을 건너뛰고 실제로는 다음과 같이 구성되어 있다. 총 3시간 51분의 영상 강의로 진행이 되고 2시간 30분정도가 이론 강의 그리고 나머지 1시간 20분정도가 필자의 MACBOOK에서 실제로 실행하면서 설명하는 실습 강의로 구성된다. 4장. Yocto 프로젝트 소개 - ..

Yocto 2023.10.14

Yocto e-learning 제작 후기

지난주 말에 드디어 Yocto 기초 과정 e-learning 을 마치고 공급업체(코드프레소)에 전달했다. 5월초부터 시작해서 10월초까지 계약부터 제작까지 총 5개월정도의 시간이 걸렸다. 시작은 코드프레소에서 지인에게 의뢰가 먼저 들어왔는데, 지인이 소개시켜줘서 진행하게 되었다. e-learning 제작은 처음이라서 코드프레소에서 준 가이드대로 열심히 만들어서 주고 피드백을 받아 수정을 했다. 기본 템플릿을 받았고 거기에 강의 자료를 100장 이상 만들어서 전달했고 이후 2-3주간 코드프레소에서 발표자료에 리터칭을 해서 훨씬 보기 좋게 되었다. 역시 전문가의 손길을 타니 다르긴 달랐다. 진행 일정 5월 초 ~ 6월 중순: 발표자료 완성 6월 중순 ~ 6월 말: 리터칭 (코드프레소) 7월 초 ~ 9월: 녹..

Yocto 2023.10.10

M1 IPAD Pro에서 터미널(shell + git) 개발 환경 구축하기

M1 아이패드 프로를 가지고 있는데 개발이나 다양한 방면으로 좀 더 잘 활용할 수 있는 방법을 찾고 있었다. 구글링 및 아이패드 앱을 검색하 던 중 터미널을 앱 (iSH)을 발견하고 사용한 후기를 간단히 적어보고자 한다. iSH 앱은 무료앱이고 github를 통해 소스도 오픈하여 개발하고 있다. sandbox 형태로 파일시스템이 설치되어 있고 아이폰 및 아이패드 모두 지원한다. 장점은 Ubuntu의 apt와 같이 앱을 apk 명령어로 설치할 수 있도록 제공을 하고 있다. 필자는 vi로 간단한 python app 개발 및 yocto를 git으로 받아 최신 개발 업데이트 상황을 파악하는 정도로 사용할 예정이여서 우선 git, tig, vim 이 3가지 애플리케이션이 가장 필요했다. vi는 기본적으로 설치되어..

Development 2023.10.10

Infotainment 개발 과정에서 Software Integration Process

아래 글들을 읽어보면 Mercedes-Benz에서 첫 Infotainment In-house Software를 곧 양산한다는 것을 알 수 있을 것이다. 이 글에서는 2-3년동안 필자의 회사에서 어떻게 integration Process가 바뀌었는지 그리고 필자가 알고 있는 프로세스들에 대해서 소개하고자 한다. CI/CD를 가장한 지속적인 통합 CI/CD의 원칙은 완벽하게 자동화된 테스트와 신뢰성 있는 테스트 결과에 기반을 한다. 임베디드 특히 소프트웨어의 복잡도가 엄청 높은 차량용 임베디드 소프트웨어 개발에서 이를 잘 도입하기란 필자의 경험상 어려운 것 같다. 필자의 회사에서도 초기 1-2년정도 이것을 하려고 프로세스만 따랐고 결국은 잘 안되서 Staging이라는 프로세스를 도입했다. 임베디드 특히나 ..

Automotive 2023.10.02

Yocto 빌드 속도 개선 작업

요즘 내부 핫 토픽 중 하나는 Yocto 기반의 리눅스 Subsystem의 빌드 성능 향상 작업이다. 여러가지 원인으로 인해 성능이 좋은 AWS EC2 Instance를 사용해도 빌드 속도가 엄청나게 오래 걸린다. 물론 지금 모든 이야기는 shared state cache를 사용하지 않고 측청한 결과를 이야기한다. Yocto 공식 Wiki에서 빌드 성능을 향상시키기 위해 Build 서버에서 다음과 같이 설정하라고 가이드 한다. Put the build directory on its own disk. This is good practice in its own right since the build system has a tendency to wear disks heavily. Use the ext4 fil..

Yocto 2023.10.01

udemy에 있는 yocto 강의 후기

udemy business, coursera, linked learning 를 모두 들을 수 있게 회사에서 제공을 해준다. 요즘 yocto e-learning 자료를 만들고 있어서 다양한 yocto 강의, 자료들을 수집하면서 들어보고 있다. 최근에 udemy에 있는 yocto 강의 4파트로 되어 있는 것을 모두 듣고 간단한 후기를 남겨보고자 한다. 위에 필자가 들었던 강의들인데 대부분 아는 내용이고 어떻게 구성되어 있는 지 보려고 한 것이라서 100% 끝내지는 않았다. 전반적으로 많은 내용을 포함하려고 노력했고 이 강의를 들으면 기본적으로 Yocto에 대한 이해를 할 수 있다고 본다. yocto 버전은 zues 3.0 2019년 말에 릴리스 된 것을 기준으로 진행이 됬고 인도친구가 인도 악센트가 살짝 실..

Yocto 2023.09.29

독일 자동차 OEM사의 In-house 소프트웨어

한국 출장차 베를린에서 출발해 뮌헨 공항에서 대기중이다. 무려 8시간이나 ㅠㅠ 뮌헨에 사는 같이 가는 분과 일정을 맞추기 위해 어쩔 수 없다. 시간이 너무 많이 남아 노트북을 열었고 얼마전 지인과 독일 OEM 3사의 소프트웨어 회사 MBition (Mercedes-Benz Innovation Lab.), BMW Car IT, Cariad (폭스바겐 그룹)에 대해 이야기 했던 것이 생각나 정리해보려고 한다. 개인적으로 아는 정보로는 BMW Car IT -> Cariad (이전이름 Carmeq) -> MBition 순서대로 각 OEM의 소프트웨어 회사가 설립 된 것으로 알고 있다. BMW Car IT와 Carmeq는 솔직히 누가 먼저 생겼는지 모르겠지만 느낌상 그렇다. 자동차의 소프트웨어가 너무 광범위해서 ..

Automotive 2023.09.28

Yocto Package Feed (패키지 피드)

Yocto에서 패키지 피드라고 해서 패키지 저장소를 놓고 바이너리 패키지 (rpm, ipk, deb)를 다운로드할 수 있도록 제공한다. 쉽게 말하면 우분투의 apt-get과 같은 명령어로 패키지를 쉽게 설치할 수 있도록 서버단에서 빌드된 패키지들을 저장소에 올려놓고 클라이언트 (타깃)에서 dnf, opkg 등과 같은 명령어로 패키지를 설치를 의존성 있는 패키지와 함께 설치하도록 도와준다. 위의 강좌에서 Package Feed를 어디서 어떻게 사용하는지에 대해서 간단히 설명했고, 최종 제품을 만들 때 사용하는 것보다는 개발 단계에서만 사용하도록 권장한다. 물론 설정을 잘해서 양산 이미지에도 사용할 수 있겠으나 의존성 관리, 재빌드 등 다양한 문제가 나올 때 대처해야한다. PR 서비스 깨지지 않는 빌드를 만..

Yocto 2023.09.27

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

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

Automotive 2023.09.26
728x90
반응형