반응형

qnx 7

자동차 소프트웨어 개발에 오픈소스 기반 혁신이 가능한가?

자동차 소프트웨어 개발에 오픈소스 기반 혁신이 가능한가? 라는 큰 주제를 가지고 국민대학교 자동차학과 학생들에게 10월 달에 두차례 세미나를 진행할 예정이다. 임베디드 소프트웨어 개발, 특히 차량용 소프트웨어 개발에는 엄청난 양의 코드가 들어가 있다. 이 코드의 양은 SDV (Software Defined Vehicle)가 되면서 가파르게 증가할 예정이다. 그리고 그 코드 중 상당수가 오픈소스로 구성되어 있다. 현재 벤츠의 인포테인먼트 플랫폼의 코드 절반 이상이 오픈 소스로 구성되어 있을 정도이고 다른 자동차 회사들도 마찬가지이다. 전체를 완전 상용 OS (QNX, VxWorks등)를 사더라도 오픈소스 없이 제품을 개발한다는 것은 상상도 할 수 없는 일이다. 빠른 개발과 유지보수를 위해 오픈소스의 사용을..

Automotive 2024.08.03

SDV 개발에서 HW/SW Decoupling (디커플링)

SDV (Software Defined Vehicle)는 Automotive 분야에서 가장 많이 듣는 용어 중에 하나이다. 물론 회사 내부에서 개발을 할 때 많이 들어보지는 못했다. 내부적으로는 그냥 MB.OS (Mercecdes-Benz Operating System) 이라는 용어를 훨씬 더 많이 쓴다. 하지만 여기저기 미디어나 다른 회사 블로그 등에서 보면 대중적으로 사용하는 것은 분명하다. 그럼에도 불구하고 이전에 유비쿼터스 등과 같은 용어와 같이 이미 있는 기술을 잘 포장하는 듯한 느낌이 많이 나는것은 필자만의 생각일까? 또한 여러군데서 여러 사람들이 조금씩 다르게 SDV라는 용어에 대해서 이야기한다. 여기서는 그 내용 중 하나인 차량용 SW 개발에서 하드웨어와 분리되어 SW를 개발할 수 있는 환..

Automotive 2024.08.01

QNX 유용한 명령어 (Command)

QNX에서 사용할 수 있는 유용한 명령어에 대해 간단히 정리해보고자 한다. 이 글에서 설명하고 있지 않거나 명령어에 대한 자세한 옵션들을 보고 싶으면 QNX 사이트 https://www.qnx.com/developers/docs/8.0/com.qnx.doc.neutrino.utilities/topic/about.html 를 참고하기 바란다.기본 명령어1. pidin: 시스템의 프로세스 및 상태 정보를 표시한다.$ pidin ar 2. slogger2: 시스템 로그 메시지를 기록하는 데 사용된다. 3. slog2info: 시스템 로그를 표시한다. 4. use: 특정 명령어 또는 프로그램의 사용법을 표시한다. 5. pci: PCI 장치에 대한 정보를 표시한다. 6. devb-: 블록 I/O 드라이버를 실행한..

Development 2024.07.27

QNX의 SDV 전략 (QNX Cabin)

QNX에서 지난주 수요일과 목요일 이틀동안 회사에 와서 하루는 데모를 진행하고 다른 하루는 전일 기술적인 워크샾을 진행하였다. 이틀 모두 참석했고 이에 대한 QNX의 SDV 전략에 대해서 간단히 느낀대로 적어보고자 한다. 아래 webOS가 있어서 간만에 반가웠다. :)  결론부터 이야기하면 이대로 잘 구현만 된다면 QNX를 사용하는 OEM은 Supplier에 의존성이 많이 줄어들고 대신 QNX에 대한 의존성이 조금 더 늘어날 것 같다. 방향성은 정말 좋고 현재 데모도 AWS Cloud, Qualcomm 레퍼런스 보드, Samsung 레퍼런스 보드에서 잘 동작하는 것을 보았다. 물론 이상과 현실은 다르지만 플랫폼과 개발 환경에는 너무 좋은 것 같다.QNX CabinQNX Cabin이라는 새로운 용어를 들고..

Automotive 2024.07.27

빌드 성능 개선 (최적화)

작년 10월 https://www.yocto.co.kr/176 글에서 Yocto 빌드 성능 최적화에 대해서 글을 썼고 중간중간 clang 적용, ccache 적용 등 회사에서 작업한 내용들을 간단히 적어보았다. 이 글에서는 일반론적인 임베디드 소프트웨어 개발에서 빌드 성능을 개선할 수 있는 작업들을 경험을 토대로 적어보고자 한다. Yocto Linux, QNX, 안드로이드 등 OS를 포함하는 빌드에서 성능을 개선하는데 큰 그림이 될 수 있을 것으로 생각된다. 차량용 ECU가 여러 개에서 하나로 통합되면서 고성능의 SoC가 필요하고 그 위에 하이퍼바이저 기반으로 여러개의 OS가 올라가서 동작한다. 이 각각의 OS를 빌드하는데도 오랜 시간이 걸리고 클라우드를 사용하면 그 비용을 상당히 많이든다. 현재 프로젝..

Development 2024.07.25

QNX와 QNX 빌드 시스템

QNX는 실시간 운영 체제 (Real-Time Operating System, RTOS)로, 마이크로커널 아키텍처를 기반으로 하며 주로 임베디드 시스템에 사용된다. QNX는 1980년대에 캐나다의 QNX 소프트웨어 시스템즈에 의해 개발되었으며, 높은 안정성과 실시간 처리 능력, 작은 메모리 사용량을 특징으로 한다. Blackberry가 2010년에 인수했으며 QNX 하이퍼바이저 ASIL D 인증 획득하고 많은 양산 레퍼런스를 보유하여 비싼 라이선스 값에도 불구하고 차량용 OS에 많이 사용되고 있다. QNX SDP (Software Development Platform)QNX SDP(Software Development Platform)는 QNX 운영 체제에서 응용 프로그램을 개발하기 위한 포괄적인 도구 ..

Automotive 2024.07.22

QNX를 Yocto를 이용하여 빌드하는 것에 대한 생각

QNX를 SafeOS로 사용하고 있는데 빌드 시스템이 엉망이다. QNX에서는 기본적으로 제공하는 것은 단순 Makefile + 약간 QNX 수정사항이 들어가 있는 qconfig.mk 파일을 사용한다. 작은 프로젝트는 괜찮지만 의존성과 형상관리를 잘 하면서 빌드를 잘 할 수 있는 도구들이 어떤 것이 있을까 생각해보았다. 회사에서는 CMake를 기반으로 한번 더 감싼 빌드 시스템을 사용하였고 Docker 환경에서 돌아간다. 코드는 모두 소스가 아니고 일부는 바이너리로 제공되고 뭔가 CMake로 커버하기에는 불안정하고 workaround가 많다. QNX는 SDP (Software Development Platform) 에서 toolchain, 기본 바이너리 등을 제공한다. SDP를 받을 때 SoC 벤더의 So..

Yocto 2023.06.05
728x90
반응형