快速开始
介绍
魔方派 3 (RUBIK Pi 3)基于高通 QCS6490 芯片,采用 Qualcomm® Kryo™ 670 CPU 和融合 AI 加速器架构的 Qualcomm® Hexagon™ 处理器,具备 12 TOPS 的卓越 AI 性能,适用于各种机器学习和人工智能应用场景。
RUBIK Pi 3 具有丰富的接口和功能设计,支持 USB、Camera、DP、HDMI、ETH、3.5mm 耳机、Wi-Fi、BT、M.2 连接器、FAN、RTC、40 pin 排针连接器等,满足多样化的开发需求,方便开发者快速开发和调试。
RUBIK Pi 3 同样也支持多种系统,如 Qualcomm Linux、Debian 13、Canonical Ubuntu for Qualcomm Platforms*、Android 13 等,灵活满足开发者特定应用要求。
*Canonical Ubuntu for Qualcomm Platforms:计划中
参数
RUBIK Pi 3 | |
---|---|
芯片 | QCS6490 |
处理器 | 1 x Cortex-A78 2.7GHz 3 x Cortex-A78 2.4GHz 4 x Cortex-A55 1.9GHz |
GPU | Adreno 643 GPU @ Up to 812 MHz |
VPU | Adreno 633 VPU |
NPU | 12 TOPS |
ISP | Spectra ISP,可以做端侧的机器学习和机器处理 |
内存 | 8 GB LPDDR4x |
ROM | 128 GB UFS 2.2 |
Wi-Fi & 蓝牙 | Wi-Fi 5 和蓝牙 5.2 |
摄像头接口 | 2 x 4-lane MIPI CSI D-PHY |
USB | 1 x USB Type-C (USB 3.1 Gen1) 2 x USB Type-A (USB 3.0) 1 x USB Type-A (USB 2.0) |
GPIO | 28个 GPIO 引脚 |
网口 | 1000M |
M.2 接口 | M.2 Key M 2280(2-lane PCIe 3.0) |
音频接口 | 3.5mm 耳机接口 |
准备
-
装有 Windows 10 以上 或 Ubuntu18 - Ubuntu22 系统的电脑
-
RUBIK Pi 3
-
USB Type-A to Type-C 数据线
-
USB Type-A to Micro USB 数据线
-
电源(12V 3A Type-C)
安装驱动
Windows 环境下驱动安装
安装 QUD
-
点击此处下载 QUD(Qualcomm USB driver )
-
将 qud.win.1.1_installer_10061.1.zip 解压,运行 setup.exe,如下图,点击 Next。
- 再次点击 Next。
- 选择 I accept the terms in the license agreement (我接受协议内容)后,点击 Next。
- 点击 Install。
- 点击 Finish,完成驱动安装。
安装 Tflash
-
点击此处下载 Tflash(镜像烧录工具)
-
打开 TflashSetup_v1.2.0.4.exe 进行安装,选择需要的语言,点击 OK。
- 选择要安装的位置,点击 Next。
- 点击 Next 。
- 勾选 Create a desktop shortcut (创建桌面快捷方式),点击 Next。
- 点击 Install 进行安装。
- 勾选 Launch Tflash,点击 Finish 完成安装。
- 如果出现下面报错,点击 是(Y),进行跳转,按照提示下载需要的安装包。
- 双击下载的安装包, 点击 安装。
- 点击 关闭(C), 完成安装。
- 安装完成后,可在桌面和“开始”菜单中看到 Tflash 图标,如下图所示:
Ubuntu 环境下驱动安装
安装Tflash
-
点击此处下载 Tflash(镜像烧录工具)
-
执行命令安装 Tflash。
sudo dpkg -i Thundercomm-tflash-v1.0.0.deb
-
安装完成后,请在终端中执行
tflash
命令。如出现以下界面,表明 Tflash 已安装成功:
镜像下载
RUBIK Pi 3 出厂预装 Linux 镜像供您快速进行开箱操作体验(非最新版本),如需体验最新版本的 Linux 镜像,或其他操作系统镜像,请访问 RUBIK Pi 3 官方网站 进行下载。
如您需要 Linux 源码,请访问 GitHub 进行下载。
我们提供如下镜像:
-
Qualcomm Linux :基于 Weston 的桌面系统,系统较为精简,适合具备 Linux 开发经验,追求深度开发体验的开发者。
-
Debian 13:基于 GNOME 48 桌面系统,系统功能完善,丰富的软件包资源,有更多的桌面应用,更好的使用体验,较多的开发资料,适合追求开发便捷的开发者。
-
安卓 13:基于谷歌 AOSP,系统完善,有更好的使用体验,适合想做安卓应用的开发者。
1.3.3 镜像烧录
镜像烧录前,首先进入烧录模式(9008模式):
请勿徒手接触 PCB 板载元件及金属触点
操作前需通过接地设备(如防静电工作台/腕带)释放静电
禁止将电路板直接置于导电表面(金属台面/未接地机箱等)
方法1:
-
按住上图 12 的 EDL 按钮。
-
将供电线接入到上图 10。
-
Type-C 数据线插入上图 5 等待 3 秒,进入 9008 模式。
方法2:
-
将供电线接入到上图 10。
-
Type-C 数据线插入上图 5。
-
在 RUBIK Pi 3 开机后,输入如下命令,进入 9008 模式。
adb shell reboot edl
Windows 烧录方法
操作流程
-
打开 Tflash 软件, 如下图,确定设备进入 9008 模式:
-
根据需要烧写设备的存储类型,选择正确的 Storage Type ,RUBIK Pi 3 为 UFS。
-
按需选择 Reset After Download 和 Erase All Before Download,请谨慎选择 Erase All Before Download。
-
Reset After Download:勾选后,烧写完成后设备将自动重启。
-
Erase All Before Download:勾选后,烧写前会 对 RUBIK Pi 3 UFS 各分区中的数据进行擦除。
备注- Reset After Download 和 Erase All Before Download 并不是必选项,可以都不勾选。
- 只有烧写前后的 UFS 分区一致,勾选 Erase all Before Download 才会擦除数据。
- 不同系统的镜像互相烧录时,如安卓 -> Debian,推荐勾选 Erase all Before Download 。
-
-
烧写 FlatBuild Image:
-
点击 Browse。
-
进入 FlatBuild 目录,选择 Programmer File,并选择 prog_firehose_ddr.elf,点击打开。
-
选择所有名称以 “rawprogram” 开头的 xml 文件,点击打开。
-
选择所有名称以“patch”开头的 xml 文件,点击打开。
设置完成后,可从 Tflash 界面获取相关设置。
-
点击 Download 开始刷机。
备注烧写时间因个人电脑而异。在烧写过程中,可通过绿色进度条查看烧写进度。
烧写成功后,界面会显示如下 log:
-
如已勾选 Reset After Download,则开发板将在烧写完成后自动重启;
-
如未勾选 Reset AfterDownload,断开电源线和 USB 线,使 RUBIK Pi 3 断电,再重连电源并按下 PWR 按钮启动开发板。
-
烧录后无法启动的解决方法
若烧录失败或烧录后无法启动(下图红色框中的心跳灯始终未闪烁),可尝试对 UFS 重新进行配置(provision)。
进行 provision 后,UFS 中存储的一些信息会丢失,如 SN号、以太网 MAC 地址等。
UFS 重新配置过程:
-
进入 9008 模式。
-
Storage Type 选择 UFS ,并勾选 Provision。
-
烧写 Provision 文件。
-
点击 Browse。
-
进入镜像包中的 provision 目录,选择 prog_firehose_ddr.elf,并点击 打开。
-
选择 provision_ufs_1_3 文件,并点击 打开。
-
Log 中显示 “Load Image PATCH Successfully!” 后,点击 Download ,开始 Provision 刷机。
Provison 刷机完成后,界面会显示如下 log:
注意Provison 刷机完成之后,需要手动插拔电源线和 USB 线重启设备。
-
Ubuntu 烧录方法
操作流程
-
进入 FlatBuild 包目录。
-
执行
tflash -r
。备注-
更多参数,可使用
tflash -h
命令查看。这里-r
表示烧录完成后重启 RUBIK Pi 3。 -
不同系统的镜像互相烧录时,如安卓 -> Debian,推荐加入
-e
参数(Erase All Before Download)。 -
在 PC 上执行
tflash
时,需根据提示输入个人电脑的登录密码。
-
-
屏幕上出现提示“Stop the ModemManager on your host PC and press Enter on your keyboard to continue...”时,按 Enter 键进行刷机;
Tflash 运行结束后,如显示以下界面,则说明烧写成功。
- 使用
-r
参数烧写成功后,RUBIK Pi 3 自动重启。
烧录后无法启动的解决方法
若烧录失败或烧录后无法启动(下图红色框中的心跳灯始终未闪烁),可尝试对 UFS 重新进行配置(provision)。
进行 provision 后,UFS 中存储的一些信息会丢失,如 SN号、以太网MAC地址等。
- UFS重新配置过程:
- 进入9008模式。
- 进入镜像包的 provision 目录,运行
tflash -E
命令,输入y,回车。
- 屏幕上出现提示“Stop the ModemManager on your host PC and press Enter on your keyboard to continue...”时,按 Enter 键进行刷机。
Tflash 运行结束后,如显示以下界面,则说明烧写成功。
Provison 刷机完成之后,需要手动插拔电源线和 USB 线重启设备。
开机
对于旧版本的 RUBIK Pi 3 开发板,接入电源并按下 PWR 按键开机。对于 V02 及后续版本的开发板,接入电源后自动触发开机。
关机
输入命令 poweroff
关机。
重启
- 输入命令
reboot
重启。
-
长按 12 秒电源 PWR 按键重启。
串口登录
Windows
-
将下图 2 号接口使用串口线连接到电脑。
-
打开电脑设置,查看设备管理器对应的 COM 口并记录下来。
-
访问 https://mobaxterm.mobatek.net/ 下载 MobaXterm ,解压后即可使用。
-
打开 MobaXterm ,选择 Session > Serial,设置串口的波特率为 115200。
-
点击 OK,按下回车,输入登录名和默认登录密码登录:
-
登录帐号: root
-
登录密码: rubikpi
备注可通过
passwd
命令修改默认的密码,如:passwd root
。 -
Ubuntu
-
连接下图 2 中的串口线到电脑。
-
执行命令安装 minicom。
sudo apt update
sudo apt install minicom -
输入以下命令检查 USB 端口。
ls /dev/ttyACM*
-
输入下面命令打开 minicom, 按下回车,输入默认登录名和登录密码登录。
sudo minicom -D /dev/ttyACM0 -b 115200
登录帐号: root 登录密码: rubikpi
可通过 passwd
命令修改默认的密码,如:passwd root
。
ADB 登录
Windows
准备
-
访问 https://developer.android.google.cn/tools/releases/platform-tools 下载 ADB 和 Fastboot 安装包并进行解压。
-
右键 我的电脑 > 属性 > 高级系统设置 > 环境变量;或右键 我的电脑 > 属性, 在搜索栏中输入高级系统设置 > 环境变量。
- 选择系统变量中的 Path,点击编辑。
- 点击 新建,将 platform-tools 工具在步骤 1 解压的路径填写进去,点击 确定 保存环境变量。
ADB 登录
按下 Win+R, 输入cmd
,打开 Windows 终端,在终端输入如下登录到 RUBIK Pi 3:
adb devices # 查看是否有设备连接
adb root # 以root用户登录
adb shell # 打开adb终端
Ubuntu
准备
-
输入如下命令安装 ADB 和 Fastboot 工具:
sudo apt install git android-tools-adb android-tools-fastboot wget
-
更新 udev rules 文件
-
使用如下命令打开并修改 51-qcom-usb.rules 文件。
sudo vi /etc/udev/rules.d/51-qcom-usb.rules
-
将如下内容,添加到文件中;若如下内容已经存在,可忽略这一步骤。
SUBSYSTEMS=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}=="9008", MODE="0666", GROUP="plugdev"
-
使用下面命令,重启
udev
。sudo systemctl restart udev
备注如果 RUBIK Pi 3 已经通过 USB 连接到个人电脑,请插拔 USB 线,重新连接,以使更新的规则生效。
-
ADB 登录
在终端输入如下命令登录到 RUBIK Pi 3:
adb devices # 查看是否有设备连接
adb root # 设置为root用户
adb shell # 打开adb终端
SSH 登录
Windows
-
Ping 通 RUBIK Pi 3 的 IP 地址。
-
获取 IP 地址。
-
登录路由器后台或使用其他 IP 扫描软件获取 RUBIK Pi 3 的 IP 地址。
-
ADB 登录到 RUBIK Pi 3 ,使用
ifconfig
命令获取 IP 地址。
-
注意IP 地址会随网络环境变化而改变,RUBIK Pi 3 设备名称为 rubikpi。
- 按下 Win+R 按键,在弹出的窗口中输入 cmd,点击 确定。
- Run the
ping <IP>
command in the terminal. For example, the IP address of RUBIK Pi 3 is 10.9.5.59, run the following command and view the execution result.
ping 10.9.5.59
-
-
进行 SSH 登录。
- 打开 MobaXterm 软件。
-
点击 Session,在弹出的界面中选择 SSH。
-
输入要登录 RUBIK Pi 3 的 IP,点击 OK。
-
输入要登录的用户名回车后,再输入密码,再次回车登录 RUBIK Pi 3。
- 成功登录。
Ubuntu
-
确定连接状态
-
获取 RUBIK Pi 3 的 IP 地址。
-
登录路由器后台或使用其他 IP 扫描软件获取 RUBIK Pi 3 的 IP 地址。
-
ADB 登录到 RUBIK Pi 3 ,使用
ifconfig
命令获取 IP 地址。备注IP 地址会随网络环境变化而改变,RUBIK Pi 3 设备名称为 rubikpi。
-
-
在 Ubuntu 终端中输入
ping <IP>
命令,例如, RUBIK Pi 3 的 IP 为 10.9.5.59,执行如下命令,查看执行结果。ping 10.9.5.59
-
-
进行 SSH 登录
- 在 Ubuntu 终端中输入
ssh <user>@<IP>
命令后回车,如下所示,其中root
表示要登录的用户,10.9.5.59
表示 RUBIK Pi 3 的 IP。
ssh root@10.9.5.59
- 输入密码后回车,成功登录。
- 在 Ubuntu 终端中输入
文件传输
ADB
-
在 PC 终端中使用下面命令,上传文件 test.txt 到 /opt目录。
adb push test.txt /opt
-
在 PC 终端中使用下面命令,下载文件 test.txt 到 PC 当前目录。
adb pull /opt/test.txt ./
SCP
SCP 传输需要 RUBIK Pi 3 正常联网,若 RUBIK Pi 3 的 IP 为 10.9.5.59, 在终端可输入下面命令:
RUBIK Pi 3 的 IP 可通过在 RUBIK Pi 3 中输入ifconfig
命令获取。
-
在 PC 终端中使用下面命令,上传文件 test.txt 到 /opt目录。
scp test.txt root@10.9.5.59:/opt
-
在 PC 终端中使用下面命令,下载文件到 PC 当前目录。
scp root@10.9.5.59:/opt/test.txt ./
Ubuntu 开发环境搭建
软件安装
-
在 Ubuntu 终端中使用下面命令,安装如下软件包,准备好开发所需的主机环境。
sudo apt update
sudo apt install repo gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl vim whiptail bc
sudo apt install lib32stdc++6 libncurses5 checkinstall libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev curl git-lfs libncurses5-dev libncursesw5-dev -
在 Ubuntu 终端中使用下面命令,安装 Python 3.10.2,在 Linux kernel 的打包过程中用到了
python3.10
命令,如果已经有 Python 3.10.2 或更高版本,请跳过这个步骤。python --version
# Download it in a directory of your choice
wget https://www.python.org/ftp/python/3.10.2/Python-3.10.2.tgz
tar -xvf Python-3.10.2.tgz
cd Python-3.10.2
./configure --enable-optimizations
make
sudo make install -
在 Ubuntu 终端中使用下面命令,安装 pefile。
sudo pip3.10 install pefile
安装交叉编译工具
-
在 Ubuntu 主机上,访问 RUBIK Pi 3 官方网站,下载 RUBIK Pi 3 的交叉编译工具链,下载完成后使用下面命令解压。
unzip toolchains_V1.1.0.zip
备注交叉编译工具是使用 Yocto 工程编译的 eSDK,eSDK 是从 Qualcomm Linux 镜像生成的软件包。它安装在 Ubuntu 主机上并提供基于 Yocto 的环境,可用于应用程序的开发。
关于 eSDK 的编译可参考 Yocto 工程编译指南章节。
-
在 Ubuntu 终端中使用下面命令,安装交叉编译工具链。
cd toolchains
chmod 755 qcom-wayland-x86_64-qcom-multimedia-image-armv8-2a-qcm6490-idp-toolchain-ext-1.3-ver.1.1.sh
sh qcom-wayland-x86_64-qcom-multimedia-image-armv8-2a-qcm6490-idp-toolchain-ext-1.3-ver.1.1.sh -
按照提示安装交叉编译环境,如下输入安装目录的绝对路径回车后,输入 "Y" 进行安装。
-
安装完成后,到安装目录执行如下命令,设置交叉编译环境。
source environment-setup-armv8-2a-qcom-linux
信息交叉编译环境只对当前终端有效。
若出现如下错误,可按提示输入
unset LD_LIBRARY_PATH
命令后,再次执行上面命令。 -
在 Ubuntu 终端中使用下面命令,查看 gcc 工具链版本,若输出如下内容说明交叉编译环境设置成功。
aarch64-qcom-linux-gcc -v
交叉编译工具使用方法
在上一小节中,通过 source environment-setup-armv8-2a-qcom-linux
命令设置好交叉编译环境后, 可以通过下面的方法,交叉编译 RUBIK Pi 3 的可执行程序。
使用 Makefile 构建项目
交叉编译需要设置头文件路径(sysroot),可使用--sysroot=dir
参数指定。
aarch64-qcom-linux-gcc --sysroot=/home/zhy/rubikpi/sdk/sysroots/armv8-2a-qcom-linux
在上面命令中,交叉编译工具链安装在了 PC 机 /home/zhy/rubikpi/sdk 目录下,请按实际安装目录进行修改。