Veecle 차량 OS 회사
들어가며
평소에 관심 있게 보던 스타트업이 있다. Veecle이라는 회사인데 차량OS를 제작하는 스타트업이다.
Veecle OS란?
Veecle OS는 Rust로 작성된 소프트웨어 정의 차량(Software-Defined Vehicle)을 위한 오픈소스 운영체제이다. “All cars. One software”라는 슬로건에서 알 수 있듯이, 다양한 차량 아키텍처에서 통합적으로 작동하는 소프트웨어 스택을 제공한다.
원래 내가 알고있던 홈페이지는 저렇게 되어 있었다. 그런데 얼마전에 변경이 된거 같다.
이제는 곧 출시를 하는거 같다

Veecle OS는 Rust로 작성되어 있으므로, 먼저 Rust 툴체인을 설치해야 한다.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
설치가 완료되면 다음과 같은 메시지가 표시된다.
Welcome to Rust!
This will download and install the official compiler for the Rust
programming language, and its package manager, Cargo.
Rust is installed now. Great!
환경 변수 설정
설치 후 현재 셸에 Rust를 적용하려면 다음 중 하나를 실행해야한다.

# For bash/zsh/ash/dash/pdksh
source "$HOME/.cargo/env"
# For fish
source "$HOME/.cargo/env.fish"
# For nushell
source $"($nu.home-path)/.cargo/env.nu"

그런 다음 설치 확인을 해줘야 한다. 설치 확인 방법은 rustup show를 하면 된다.
rustup show
정상적으로 설치되었다면 다음과 같은 정보가 출력된다.
Default host: aarch64-apple-darwin
rustup home: /Users/사용자명/.rustup
stable-aarch64-apple-darwin updated - rustc 1.91.0 (f8297e351 2025-10-28)
Veecle OS 저장소 클론

초기 시도 (veecle-os-main)
처음에는 메인 저장소를 직접 다운로드했으나, 서브모듈 문제가 발생했다.
cd ~/Desktop/veecle-os-main/
cargo build
발생한 에러는 다음과 같다.
fatal error: 'FreeRTOS.h' file not found
'veecle-os'에 복제합니다...
remote: Enumerating objects: 2562, done.
remote: Counting objects: 100% (694/694), done.
remote: Compressing objects: 100% (245/245), done.
remote: Total 2562 (delta 568), reused 454 (delta 448), pack-reused 1868 (from 1)
오브젝트를 받는 중: 100% (2562/2562), 1.34 MiB | 3.99 MiB/s, 완료.
델타를 알아내는 중: 100% (1261/1261), 완료.
이 문제는 Git 서브모듈이 제대로 초기화되지 않아서 발생한 문제이다. 올바른 방법으로는 Git Clone을 해줘야 한다.
cd ~/Desktop/
git clone https://github.com/veecle/veecle-os.git
클론 과정은 다음과 같다.

'veecle-os'에 복제합니다...
remote: Enumerating objects: 2562, done.
remote: Counting objects: 100% (694/694), done.
remote: Compressing objects: 100% (245/245), done.
remote: Total 2562 (delta 568), reused 454 (delta 448), pack-reused 1868 (from 1)
오브젝트를 받는 중: 100% (2562/2562), 1.34 MiB | 3.99 MiB/s, 완료.
델타를 알아내는 중: 100% (1261/1261), 완료.

서브모듈 초기화
Veecle OS는 FreeRTOS 커널과 같은 외부 종속성을 서브모듈로 관리한다.
cd veecle-os/
git submodule update --init --recursive
서브모듈 업데이트가 진행되면서 다음 항목들이 클론된다. 1. FreeRTOS-Kernel, 2. capicxx-core-runtime, 3. capicxx-someip-runtime, 4.vsomeip
이제는 프로젝트 빌드를 위해서 cargo build를 해준다. 빌드 과정에서 318개의 크레이트(Rust 패키지)가 다운로드되고 컴파일된다. 빌드가 완료되면 Finished
"dev" profile [unoptimized + debuginfo] target(s) in 1m 26s라고 뜬다.
우선 테스트를 진행 해보기 위해서 예제 파일로 이동을 해야한다. veecle-os 안에 veecle-os-examples 폴더가 있다 그 폴더로 이동을 하게되면 몇개의 예제가 보이게 된다.
다음과 같은 예제 디렉토리들이 있다.
- common: 공통 모듈
- embassy-stm32: STM32 마이크로컨트롤러용 예제
- embassy-std: 표준 환경용 예제
- freertos-linux: Linux에서 FreeRTOS 실행
- orchestrator-ipc_std: IPC 통신 예제

std 예제 실행
README 파일을 확인하면 std(standard) 타겟용 독립 실행형 예제가 있다.
ping_pong 예제는 Veecle OS의 액터 기반 통신 모델을 보여주는 간단한 예제이다.

실행하면 JSON 형식의 트레이싱 로그가 출력된다.
- Ping 액터가 메시지를 받고 처리
- Pong 액터에게 메시지 전송
- Pong 액터로부터 응답 수신
- 각 이벤트의 정확한 타임스탬프 기록

마치며
Veecle OS는 차량용 소프트웨어 개발의 새로운 패러다임을 제시하는 프로젝트이다. 차량 보안을 공부하면서, 다양한 차량용 OS들이 등장하고 있는 흐름을 지켜봐 왔다. 그중에서도 꾸준히 관심 있게 지켜본 회사가 더 크게 성장하여, 더욱 혁신적이고 안정적인 기술을 제공할 수 있기를 바란다.
Veecle OS는 Rust의 안전성과 FreeRTOS의 실시간성을 결합하여, 모던한 소프트웨어 정의 차량(SDV) 개발에 적합한 플랫폼을 제공한다. 특히 다음과 같은 점에서 주목할 만하다.
- 오픈소스 프로젝트로, 전체 코드가 공개되어 학습과 분석이 용이하다.
- Rust 기반 개발을 통해 안전하고 효율적인 코드 구현이 가능하며, 실제 임베디드 하드웨어에 배포할 수 있다.
- 지속적인 개발 활동으로 DevStudio 등 새로운 기능이 꾸준히 추가되고 있다.
임베디드 시스템, RTOS, 그리고 차량용 소프트웨어에 관심 있는 개발자라면 Veecle OS를 통해 많은 것을 배우고 영감을 얻을 수 있을 것이다. 개인적으로도 이 프로젝트와 회사가 앞으로 더 성장하길 진심으로 응원한다.
참고 자료
- Veecle OS GitHub: https://github.com/veecle/veecle-os
- Veecle 공식 웹사이트: https://veecle.io
- Rust 공식 문서: https://www.rust-lang.org/learn
- FreeRTOS 공식 문서: https://www.freertos.org/
댓글남기기