오늘은 Qualcomm과 프로젝트를 함께 하면서 ai 모델을 온디바이스로 구동하는 프로젝트를 진행하려고 하였는데, RUBIK Pi3가 최신의 모델이다 보니 정보가 많지 않아서 사용해보고 관련 내용을 정리해 보려고 한다.

개발자를 위한 Qualcomm SoC 플랫폼에 기반한 최초의 Pi

RUBIK Pi?
Thundercomm은 Qualcomm의 QCS6490 시스템온칩(SOC)을 기반으로 한 첫 번째 싱글보드 컴퓨터인 RUBIK Pi를 출시했습니다. RUBIK Pi는 고성능 Qualcomm® QCS6490 프로세서를 탑재해 12.5 TOPS의 온디바이스 AI 추론 성능을 제공하며, 최대 18억 개의 매개변수를 갖춘 소규모 언어 모델을 지원합니다. 크기는 100mm x 75mm로 초소형이며, 다양한 인터페이스와 기능을 지원합니다.
USB Type-A, USB 3.1 Type-C, 카메라, HDMI OUT(4K), 1000M 이더넷 포트, Wi-Fi 5, BT 5.2 등 다양한 포트를 갖추고 있습니다. RUBIK Pi는 Qualcomm® Linux®, Android, Windows를 지원하여 운영 체제 호환성을 보장하며, Thundercomm C8550 SOM과 C5430P SOM과의 호환성도 제공합니다. 또한, Qualcomm® AI Hub에서 제공되는 AI 모델을 지원해 AI 모델 배포 및 런타임 효율성을 높일 수 있습니다. RUBIK Pi는 분류, 객체 감지, 포즈 감지, 이미지 분할을 위한 4개의 AI 모델을 동시에 실행할 수 있습니다. Thundercomm은 개발자를 위한 친숙한 AI R&D 도구를 제공하며, 산업용 카메라, 서비스 로봇, 드론 등 다양한 분야로 온디바이스 AI 기술을 확장할 계획입니다.
https://www.thundercomm.com/product/rubik-pi/
RUBIK Pi 3 - Thundercomm
RUBIK Pi 3, a lightweight development board based on Qualcomm Dragonwing™ QCS6490 platform, is the first Pi built on Qualcomm AI platforms for developers. RUBIK Pi 3 supports multiple operating systems such as Android / Linux / LU, with SDKs from Thunder
www.thundercomm.com
RUBIK Pi 3 스펙

라즈베리 파이 4랑 비교했을 떄 프로세서에서 라즈베리 파이 4는 Broadcom BCM2711 SoC를 사용하고, 루빅 Pi 3는 Qualcomm® QCS6490 SoC를 사용하기 때문에. 루빅 Pi 3가 더 높은 성능의 AI 추론 및 데이터 처리에 유리할 수 있고 메모리 및 스토리지에서는 라즈베리 파이 4는 최대 8GB LPDDR4 RAM을 지원하며 microSD를 통한 저장 장치를 사용하는데, 루빅 Pi 3는 8GB LPDDR4x RAM과 128GB UFS 2.2 스토리지를 내장하고 있어 빠른 데이터 접근 및 저장 속도를 제공할 것으로 예상된다.
RUBIK Pi 사용 환경 구성하기
한글로 된 문서는 없고 중국어와 영어로 작성된 이 Document를 참조하였다.
https://www.thundercomm.com/rubik-pi-3/en/docs/rubik-pi-3-user-manual/
RUBIK Pi 3 User Manual | RUBIK Pi Documentation
Updatetime:2024.12.04 , Version:1.0
www.thundercomm.com
*RUBIK PI에는 Linux 운영체제가 기본적으로 설치되어 있다. 그래서 그냥 사용하려면 바로 4번으로
1. 우선 여기서 루빅파이와 USB로 연결하기 위해 Qualcomm usb driver를 설치해준다.
https://github.com/rubikpi-ai/tools/blob/main/qud/qud.win.1.1_installer_10061.1.zip
tools/qud/qud.win.1.1_installer_10061.1.zip at main · rubikpi-ai/tools
Burning tools, etc. Contribute to rubikpi-ai/tools development by creating an account on GitHub.
github.com


2. 다음으로는 Tflash 라는 소프트웨어를 다운로드 해서 설치해준다.

https://github.com/rubikpi-ai/tools/blob/main/tflash/windows/TflashSetup_v1.2.0.4.exe
tools/tflash/windows/TflashSetup_v1.2.0.4.exe at main · rubikpi-ai/tools
Burning tools, etc. Contribute to rubikpi-ai/tools development by creating an account on GitHub.
github.com
시작 화면에 Tflash 아이콘이 생기면 성공

3. Flash image
다음은 루빅파이에 운영체제를 설치해보자, 운영체제를 설치하기 위해서는 루빅파이 플래시 모드(9008 모드)로 바꾸어 주어야 한다. 그 전에 루빅 파이에 포트를 잠깐 살펴본다면

5번과 10번 모두 C타입 포트인데 10번 포트는 파워 포트이고 5번이 연결 포트이다.
3-1) 전원 공급장치를 포트 10에 연결합니다.

3-2) [EDL] 버튼(번호 12)을 길게 누르세요

3-3) Type-C 케이블을 포트 5에 꽂고 3초 동안 기다려 9008 모드로 들어가세요.

연결 되었으면 Tflash 소프트웨어에 다음과 같이 나옴

하지만 어떤 이유인지 드라이버를 인식하지 못 했는지 Flash모드를 진입하지 못 하였는지 이 부분이 잘 되지 않아 기본으로 설치된 Qualcomm Linux 운영체제 1.0 버전을 사용하였다.


직렬 포트(2번)로 사용해 보려고 했으나 이것도 인식 못해서 패스

4. ADB
ADB (Android Debug Bridge)는 Android 기기와 컴퓨터 간의 상호작용을 위한 명령어 기반 도구인데. 개발자들이 Android 장치를 디버깅하거나 조작할 때 사용한다. RUBIK Pi도 이를 지원하기 때문에 ADB를 통해서 RUBIK Pi Shell에 접속할 예정이다. 라즈베리 파이를 USB로 연결하고 시작
4-1)
https://developer.android.google.cn/tools/releases/platform-tools 에서 ADB 및 Fastboot 설치 패키지를 다운로드 하고 패키지 압축을 푼다.

4-2)
압축을 풀어서 그 파일을 적절한 위치에 위치시키고 환경변수 path에 추가 해준다

4-3)
잘 적용 되었는지 CMD에서 확인

adb devices # Check if devices are connected
adb root # Log in as root user

adb shell #쉘 접속하기

+ cat /etc/os-release 명령어를 사용해 운영체제(OS)를 확인하여 보았다.

Qualcomm에서 제공하는 "QCOM Reference Distro with Wayland"라는 리눅스 기반 운영체제를 사용하고 있으며, Wayland를 사용하고 있었다.
설정을 위해서 apt 명령어로 패키지를 인스톨 하려고 했는데

커맨드가 없다고 나와서 ls /usr/bin를 통해 어떤 프로그램들이 있는지 확인해 보니 apt는 없어서 사용할 수 없고
opkg라는 패키지 관리 프로그램만 있어서 찾아보니 일반적으로 임베디드 시스템이나 OpenWRT와 같은 작은 리눅스 배포판에서 사용되는 소형 패키지 관리 프로그램이라고 한다.
5. 파일 전송

이런 명령어로 로컬에 있는 파일을 장치에 옮길 수 있다.
테스트 코드를 실행하여 보려고 python 스크립트 하나를 옮겨서 실행하기 위해 opencv 패키지를 install 했는데 공간이 부족하다고 하여 보니 /dev/disk/by-partlabel/system 5.4G 5.4G 0 100% 파일이 꽉 차있어서 더이상 패키지를 설치 할 수 없다고 나왔다. ( 뭐가 설치 된 건지 모르겠음 )

하여 가상환경을 다른곳에 만들어 패키지를 인스톨 하였다.
virtualenv /mnt/overlay/myenv
source /mnt/overlay/myenv/bin/activate
pip3 install
하지만


이런 오류가 발생하여 확인했으나 opkg 패키지에는 해당 패키지가 없어서 opencv-python-headless 모델 사용을 시도하였으나 같은 오류가 발생하였다.
후기
Qualcomm 루빅 파이3를 사용해 보았는데 출시한지 얼마 지나지 않았다보니 유저도 적고 문서가 적어서 문제가 발생했을 때 처리하기 힘들었다. 확실히 소형화에 집중하여 온디바이스 모델에서 강점을 가져가려고 만든 보드 같았지만 라즈베리파이나 아두이노 같은 다른 보드에 비해 자료가 많이 없어 사용하기 힘들었다. 그래도 보드에 대한 이해도가 높은 사람이 사용한다면 타 보드보다 잠재능력이 높을 것 같았다.
https://www.thundercomm.com/rubik-pi-3/en/docs/rubik-pi-3-user-manual/
RUBIK Pi 3 User Manual | RUBIK Pi Documentation
Updatetime:2024.12.04 , Version:1.0
www.thundercomm.com
'Technology Notes' 카테고리의 다른 글
| [Deep Learning] CNN(합성곱 신경망) 정리해보기 (0) | 2025.04.03 |
|---|---|
| [Project] Qualcomm Ai Hub에서 YOLOv11-Detection-Quantized 모델 컴파일 해보기 (0) | 2025.03.23 |
| [Project] Qualcomm Ai Hub 사용해보기 (3) | 2025.03.03 |
| [Docker] 도커와 컨테이너 알아보기 (0) | 2025.02.16 |
| [Framework] 딥러닝/머신러닝 프레임워크 알아보기 (0) | 2025.02.14 |