2024/07 9

Yocto Shared State Cache 디버깅 하기

Yocto 프로젝트의 shared state cache (SSTATE)는 빌드 시스템의 빌드 속도와 효율성을 높이기 위해 사용하는 메커니즘이다. 이 캐시 시스템은 이전에 빌드된 결과물을 재사용할 수 있도록 하여, 매번 전체 빌드 과정을 다시 수행하지 않아도 되게 한다. 위의 그림은 Bazel의 Remote cache에 대해 설명한 그림인데, Yocto의 Shared State Cache 또는 PREMIRROR 도 비슷하다. 원격의 공유할 수 있는 공간에 Cache를 담아 놓고 빌드할 때 접근해서 캐시를 사용한다. 캐시는 이미 빌드해 놓은 결과물로써 변경이 없으면 그대로 사용하여 빌드 속도를 향상시키는데 주 목적이 있다. 하지만 가끔 변경이 없거나 잘못된 의존성 등으로 인해서 Cache Hit이 되지 않아..

Yocto 2024.07.31

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

독일의 월세 Index Miete (월세 상승률)

독일 특히 베를린은 집을 구하기 엄청 힘들다. 지금도 그렇지만 필자가 2009년 처음 독일에 와서 집을 구할 때 수십군데 지원을 하고 지원할 때 월급 명세서, Schufa(신용정보조회 즉 독일에서 미납이나 내 신용에 문제가 있는지 확인하는 서류), 집값 체납이 없다는 증명서 (이전 집주인에게) 등 가능한 많은 서류를 집주인에게 줘서 월세를 잘 낼 수 있다는 것을 증명해야 한다. 어떤 친구들은 편지까지 쓴다. 결국 결정은 집주인 마음이다. 그리고 결정이 되면 집주인의 제시 조건에 큰 이견 없이 대부분 수락할 수 밖에 없는, 임대인이 약자가 된다. 그 중 하나가 Index Miete이다. Index Miete는 정해진 공식적인 지표 (물가 상승률)에 따라 집값을 1년에 한번 또는 특정 조건 (필자의 경우 5..

Germany 2024.07.18

Daily (일상) - 2024년 7월 11일 (목)

크로아티아 Split, Hvar, Bol로 휴가를 다녀와서 이틀 전에 복귀해서 오늘까지 쉬고 있다. 내일 (금)부터 다시 업무에 복귀한다. 금요일도 쉴 수 있었지만 그동안 밀려있던 이메일, MS Teams 메시지 등을 처리하고 다음주 월요일부터 깔끔하게 일을 시작하기 위해 주말 전에 복귀하기로 결정했다. 여전히 피곤하지만 오늘 테니스를 치고 와서 약간 살아난 느낌이다. 자기전 그리고 업무에 복귀하기 전에 이런저런 생각을 하면서 블로그를 적어보고 있다.업무휴가 직전 매니저와 팀원들과 MB.OS에서 IVI 부분을 어떻게 다시 시작할까 고민을 했고 어느 정도 안이 나왔다. 내일 복귀하지마자 10시에 회의를 잡아놨고 8월 말, 10월 말까지 각각의 마일스톤별로 어떻게 일을 할지 논의할 예정이다. 일단 개인적으로..

Daily 2024.07.12

Mixed Criticality System (혼합 중요도 시스템)

“Mixed Criticality”는 주로 실시간 임베디드 시스템에서 사용되는 개념으로, 서로 다른 중요도를 가지는 작업들이 동일한 시스템에서 동시에 실행될 때 발생하는 문제를 다룬다. 이 개념은 특히 항공기, 자동차, 의료 장비 등 안전이 중요한 분야에서 많이 이야기 된다. 주요 특징 1. 작업의 중요도 (Criticality Level): 시스템 내의 각 작업은 특정 중요도 수준을 가진다. 예를 들어, 자동차에서 브레이크 제어는 높은 중요도 (high criticality)를 가지지만, 인포테인먼트 시스템은 낮은 중요도 (low criticality)를 가진다. 2. 자원 관리: 시스템은 자원을 효과적으로 배분하여 높은 중요도의 작업이 필요한 자원을 확보할 수 있도록 한다. 이는 시스템의 안정성과 신..

Automotive 2024.07.11

여름방학 맞이 크로아티아 스플리트 (Split) 여행 계획

2024년 올해 딸아이 여름 방학에 갈 여행지로 여러가지 옵션을 고민하다가 결국 크로아티아로 결정을 했다. 크로아티아에서도 다양한 옵션이 있었다. 하지만 결국 딸아이가 좋아하는 바닷가에서 노는 여행을 테마로 중간에 있는 Split으로 비행기를 타고 가서 흐바르 (Hvar), 볼 (Bol) 섬에서 각각 2박을 하기로 결정을 했다. 첫날은 거의 흐바르로 가는 일정이다. 오후 12시 비행기를 타고 2시에 Split 공항에 도착해서 Split 항구로 이동하고, 거기서 배를 타고 흐바르로 들어가면 거의 저녁 6시쯤 될 것 같다. 좋은 레스토랑에서 식사를 하고 슈퍼에서 요기거리를 산 후 산책을 하고 와서 유로컵을 보면서 하루를 마무리하려고 한다. 항구 근처의 에어비엔비에서 이틀을 묶을 예정이고 둘째날에는 흐바르 시..

Travel 2024.07.05