반응형

qnx 13

빌드 성능 개선 (최적화)

작년 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
반응형