reComputer RK3576 模块开发套件接口使用指南

最近更新:

系统配置

Wi-Fi

默认情况下,Wi-Fi 和蓝牙天线未安装。使用前请安装天线以增强信号强度,并确保它们连接到正确的天线接口。

Wi-Fi 测试

Shell
nmcli device wifi list
sudo nmcli device wifi connect STU-TE password seeedkey968
sudo nmcli device wifi connect test-ap password 88888888
sudo nmcli device wifi connect SEEED-OFFICE password edgemaker2025
# 1-hour ping packet loss test
ping -w 3600 192.168.254.100

蓝牙

蓝牙测试

Shell
bluetoothctl
scan on
scan off

远程登录指南 (SSH)

硬件: reComputer RK3576 模块

操作系统: Debian 12

本指南介绍如何使用安全外壳协议 (SSH) 远程访问您的 reComputer。

首次刷写后启用 SSH

首次刷写系统后,SSH 服务可能不会自动运行。请按以下步骤在设备本地启用它:

启动 SSH 服务:

bash
sudo systemctl start ssh

设置 SSH 开机自启:

bash
sudo systemctl enable ssh

检查 SSH 服务状态:

bash
systemctl status ssh

前提条件

  • reComputer 必须已通电,并连接至与主计算机相同的局域网 (LAN)。
  • 建议初始设置时使用以太网连接以确保稳定性。

获取设备 IP 地址

建立连接需要知道 reComputer 的 IP 地址。

  • 通过本地终端:如果 reComputer 已连接显示器和键盘,请运行:
bash
hostname -I
  • 通过路由器管理界面:访问路由器的 Web 界面,在 DHCP 客户端列表中查找名为 recomputer 或类似名称的设备。

连接方式

选项 A: Windows (PowerShell 或命令提示符) 现代 Windows 版本内置了 SSH 客户端。

  1. 按 Win + R,输入 cmd,然后按 Enter。
  2. 输入以下命令(将 10.0.x.x 替换为实际 IP):
bash
ssh seeed@10.1.x.x
  1. 当提示确认主机指纹时,输入 yes。
  2. 输入密码 seeed(输入时不会显示字符)。

选项 B: Linux / macOS 终端 打开本地终端并运行:

bash
ssh seeed@<Your_Device_IP>

选项 C: 专业工具(推荐) 为了获得更稳健的开发环境,建议使用以下工具:

  • MobaXterm:内置 SFTP 侧边栏,方便拖拽文件。

故障排查

  • 连接被拒绝:确保 reComputer 上的 SSH 服务已启用。你可以在本地运行以下命令进行检查:
bash
sudo systemctl status ssh
  • 防火墙问题:如果服务正在运行但被阻止,请在防火墙中放行 22 端口:
bash
sudo ufw allow 22
  • 主机密钥验证失败:如果你最近在同一 IP 地址上重新刷写了操作系统,请使用以下命令清除 PC 上的旧密钥:
bash
ssh-keygen -R <Your_Device_IP>

调试

UART0 串口调试

通过 UART0 进行调试

进行串口调试时,需要使用 USB 转串口线将板载的 UART0 接口连接到 PC 的 USB 端口。

9.png

串口登录

串口参数

波特率:1500000

数据位:8

停止位:1

校验位:无

USB-C OTG 登录

使用 MobaXterm 登录

如果是首次通过 USB-C 连接登录,需要完成用户初始化配置:

10.png

Plain
root
1234

配置完成后,即可进入桌面环境。

11.png

接口使用

SD 卡插槽

microSD 卡可作为系统启动介质或扩展存储空间使用。兼容 microSD / microSDHC / microSDXC 卡。

17.png

作为系统启动介质时,reComputer RK3576 Module 默认从 microSD 卡启动。镜像烧录步骤请参阅系统安装教程。

作为扩展存储空间使用时,直接插入存储卡即可被识别,无需刷写镜像。

热插拔识别及读写速度测试:

Shell
lsblk

18.png

Shell
# read
dd if=/dev/mmcblk1p1 of=/dev/null bs=512M count=1 iflag=direct
#clear cache
echo 3 > /proc/sys/vm/drop_caches
# write
dd if=/dev/zero of=/dev/mmcblk1p1 bs=512M count=1 oflag=direct conv=fdatasync

19.png

M.2 Key M 接口使用

开发板提供一个 M.2 Key M 接口,可满足内存扩展或算力扩展的需求。

20.png

M.2 Key M 接口支持安装 SSD 和各类 AI 加速器。已测试的 SSD 和 AI 加速器型号如下:

  • SSD

    • Seeed NVMe (128GB/256GB/512GB/1TB/2TB)

    • SAMSUNG 980

    • KIOXIA-EXCERIA G2 SSD

    • NXM-128

    • TWSC TSC3AN128-F2T70S

  • AI 加速器

    • RK1820/RK1828

    • Hailo-8/8L/10H

注意

上述型号仅表示在当前软硬件版本下已完成兼容性验证,不保证同品牌其他型号或不同批次均兼容。由于控制器、固件、功耗及硬件版本的差异,设备表现可能有所不同。建议在批量采购或部署前进行实际验证。该接口仅支持 PCIe NVMe SSD,不支持 M.2 SATA SSD。

SSD 使用指南

使用以下命令识别 SSD 设备:

Plain
lsblk

21.png

测试 SSD 读写速度:

Shell
# Read
dd if=/dev/nvme0n1 of=/dev/null bs=1024M count=4 iflag=direct
#Clear Cache
echo 3 > /proc/sys/vm/drop_caches
# Write
dd if=/dev/zero of=/dev/nvme0n1 bs=1024M count=4 oflag=direct conv=fdatasync

其中 /mnt/nvme 需替换为 SSD 的实际挂载目录。

22.png

Hailo 使用指南

请参照 Hailo 安装视频操作,然后安装以下所需软件包。

23.png

安装软件包。安装基础 PCIe 驱动后,需要重启系统以使更改生效。

24.png

Plain
# Install the PCIe driver
sudo dpkg -i hailort-pcie-driver_4.24.0_all.deb

# Reboot the system
sudo reboot

# After reboot, verify that the driver has been loaded
lsmod | grep hailo

# Install HailoRT
sudo dpkg -i hailort_4.24.0_arm64.deb

# Scan and verify the device status
hailortcli scan

# Create and activate the virtual environment
python3 -m venv hailo_env
source hailo_env/bin/activate

# Install the HailoRT Python library
pip install hailort-4.24.0-cp312-cp312-linux_aarch64.whl

# Verify the installation and device connection
python3 -c "from hailo_platform import VDevice; vdev = VDevice(); print('Successfully connected via VDevice! Device info:', vdev)"

25.png

26.png

27.png

安装 Hailo Model Zoo。要运行官方预训练模型,需要安装 Hailo Model Zoo 及其系统依赖项。

Plain
# 1. Install the required system libraries
sudo apt update
sudo apt install -y git libglib2.0-0t64 libgl1 libglx-mesa0

# 2. Clone the official repository (the latest branch is recommended)
git clone https://github.com/hailo-ai/hailo_model_zoo.git
cd hailo_model_zoo
mkdir -p ~/hailo_models
cd ~/hailo_models

wget \
https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.19.0/hailo8/yolov8n.hef

确认文件:

Plain
ls -lh yolov8n.hef

然后先解析 HEF:

Plain
hailortcli parse-hef yolov8n.hef

请确保确认其适用于:

Plain
HAILO8

而不是:

Plain
HAILO8L
HAILO10H

然后直接运行:

Plain
hailortcli run yolov8n.hef

28.png

RK182x 使用指南

Seeed reComputer RK3576 Module 原生支持 RK182x 系列加速棒。无需复杂的驱动安装步骤,即插即用。

安装 RK1820

关闭 reComputer RK3576 的电源。

将 RK1820 AI 加速器安装到对应的 M.2 插槽,并用螺丝固定。

安装完成后,请为设备通电并进入系统。下图展示了安装位置。

注意:

请勿在设备通电状态下插拔 RK1820。

29.png

检查 RK1820 PCIe 连接

进入系统后,运行以下命令:

Plain
lspci

正常情况下,RK1820 应被识别为 PCIe 处理加速器。

示例如下:

30.png

进一步检查 PCI Vendor ID 和 Device ID:

Plain
lspci -nn

示例如下:

31.png

Plain
1d87:182a

这表明 RK1820 已被系统正确枚举。

检查 PCIe 链路状态

运行以下命令:

Plain
sudo dmesg | grep -Ei "pcie|rkep|182a"

正常情况下,输出结果应类似以下内容:

Plain
PCIe Link up
PCIe Gen.2 x1 link up
pcie-rkep 0000:01:00.0

32.png

这表明 RK3576 与 RK1820 之间的 PCIe 链路已正常建立。

进一步检查 RK1820 设备节点:

Plain
ls -l /dev/pcie-rkep-*

示例如下:

33.png

Plain
/dev/pcie-rkep-0000:01:00.0

如果能看到该设备节点,说明 RK1820 PCIe 驱动工作正常。

安装 RKNN3 Runtime

本文使用 RKNN3 V1.1.0。安装包可通过 此下载链接 获取。

安装包名称:

Plain
rknn3_rk182x_m2_v1.1.0_installer_arm64.tgz

34.png

将安装包下载到 PC 后,上传至 reComputer RK3576 Dev Kit。此处以上传到 Downloads 文件夹为例。

进入下载目录:

Plain
cd ~/Downloads

创建解压目录:

Plain
mkdir -p rk182x_m2_installer

解压安装包:

Plain
tar -xzf rknn3_rk182x_m2_v1.1.0_installer_arm64.tgz \
-C rk182x_m2_installer

进入安装目录:

Plain
cd rk182x_m2_installer

运行安装命令:

Plain
sudo ./install.sh

安装完成后重启系统:

Plain
sudo reboot

注意:

RKNN3 Runtime 版本必须与模型转换时使用的 RKNN3 Toolkit 版本兼容。

如果模型和 Runtime 版本不匹配,在模型初始化期间可能会出现以下错误:

Plain
MODEL_SETUP fail
rknn3_model_init fail

验证 RKNN3 Runtime 环境

系统重启后,检查 RKNN3 Service 状态:

Plain
systemctl status rknn3.service --no-pager

正常情况下,应显示如下信息:

Plain
Active: active (running)

35.png

检查 RKNN3 版本

Plain
sudo rknn-smi -v

您可以查看:

Plain
rknn-smi version
PCIe driver version
RC chips connect version
EP chips connect version
PCIe Device firmware version
rknn3 API version

36.png

检查 RK1820 设备信息

Plain
sudo rknn-smi info -l

正常情况下,应看到类似以下的输出:

Plain
Device Count: 1

Device ID: 0
Communication mode: PCIe
Product Name: RM1820MC0-F
Chip Count: 1
Chip ID: 0
Chip Name: RK1820

37.png

这表明 RKNN3 Runtime 已成功识别 RK1820。

检查 RK1820 Runtime 状态

Plain
sudo rknn-smi info

您可以查看:

  • 设备状态

  • 健康度

  • NPU 利用率

  • 温度

  • 内存使用情况

正常情况下,应显示如下信息:

Plain
Status: Online
Health: OK

38.png

如需实时查看 RK1820 状态,请运行:

Plain
sudo rknn-smi info -w

该命令适用于观察模型推理过程中的 NPU 利用率、内存和温度变化。

39.png

使用 Qwen3.5-0.8B 测试 RK1820

接下来,使用 Qwen3.5-0.8B 验证 RK1820 的 LLM 推理能力。模型下载链接如下:

模型包 (rknn3_models/v1.1.0):

下载 Qwen3.5-0.8B 模型(提取码:rknn)

Qwen3.5-0.8B 模型目录包含以下文件:

Plain
Qwen3.5-0.8B/
鈹溾攢鈹€ Qwen3.5-0.8B.rknn
鈹溾攢鈹€ Qwen3.5-0.8B.weight
鈹溾攢鈹€ Qwen3.5-0.8B.tokenizer.gguf
鈹斺攢鈹€ Qwen3.5-0.8B.embed.bin

进入模型目录:

Plain
cd ~/Downloads/Qwen3.5-0.8B

查看文件:

Plain
ls -lh

示例:

Plain
Qwen3.5-0.8B.embed.bin        485M
Qwen3.5-0.8B.rknn              21M
Qwen3.5-0.8B.tokenizer.gguf     11M
Qwen3.5-0.8B.weight            499M

40.png

在运行模型之前,建议检查模型所使用的 RKNN3 Toolkit 版本。

执行:

Plain
strings Qwen3.5-0.8B.rknn | \
grep -Eai "compiler version|rknn3-toolkit|RK1820"

确认模型信息:

  • Target Platform 为 RK1820

  • RKNN3 Toolkit 版本与当前 Runtime 兼容

如果模型版本与当前 Runtime 不匹配,建议更换模型或升级 RKNN3 Runtime,而不是继续运行该模型。

41.png

运行 Qwen3.5-0.8B 性能测试。执行:

Plain
sudo rknn3_session_test \
Qwen3.5-0.8B.rknn \
Qwen3.5-0.8B.weight \
Qwen3.5-0.8B.tokenizer.gguf \
Qwen3.5-0.8B.embed.bin \
1024 256 0xff

本次测试使用的主要参数如下:

Plain
Context Length : 1024
Max Output     : 256 Tokens
NPU Core Mask  : 0xff

参数说明:

Context Length

Plain
1024

表示本次测试使用的上下文长度。

Max Output

Plain
256

表示本次测试最多生成 256 个 Token。

NPU Core Mask

Plain
0xff

表示使用 RK1820 所有可用的 NPU Core。

Qwen3.5-0.8B 的实测结果(基于 reComputer RK3576 Dev Kit + RK1820 AI Accelerator)如下:

详细测试数据:

42.png

测试结果说明

Prefill 表示模型处理输入 Prompt 的速度。

本次测试测得:

Plain
319.55 tokens/s

Generate 表示模型逐 Token 生成文本的速度,是评估 LLM 实际交互体验更重要的指标。

本次测试测得:

Plain
95.81 tokens/s

平均每个 Token 的生成时间为:

Plain
10.44 ms/token

测试结果表明:

Qwen3.5-0.8B 在 RK1820 上运行正常。在此测试配置下,实测生成速度约为 95.81 tokens/s。

推理期间监控 RK1820

运行模型测试时,可以打开另一个终端并执行:

Plain
sudo rknn-smi info -w

实时观察:

Plain
NPU Utilization
Memory Usage
Temperature
Health Status

这有助于判断模型运行时 RK1820 的负载、内存占用和温度状态。

常见问题

MODEL_SETUP 失败

如果运行模型时出现以下信息:

Plain
MODEL_SETUP fail, ack = ACK_FAIL
rknn3_model_init, recv model setup fail ack

首先检查模型转换版本:

Plain
strings *.rknn | \
grep -Eai "compiler version|rknn3-toolkit|RK1820"

然后检查当前的 RKNN3 Runtime:

Plain
rknn-smi version

确认 Runtime 与模型转换时使用的 RKNN3 Toolkit 版本兼容。

无法识别 RK1820

运行:

Plain
lspci -nn

确认是否存在以下内容:

Plain
1d87:182a

然后检查设备节点:

Plain
ls -l /dev/pcie-rkep-*

最后检查:

Plain
rknn-smi info -l

如果 lspci 均无法识别 RK1820,请优先检查 M.2 安装情况和 PCIe 链路,而不是 RKNN3 Runtime。

RK1820 状态异常

运行:

Plain
sudo rknn-smi info

正常状态应为:

Plain
Online
Health: OK

如果设备离线,可进一步检查:

Plain
sudo dmesg | grep -Ei "pcie|rkep|182a"

查看与 PCIe 及 RK1820 驱动相关的日志。

测试结论

完成上述配置后,即可通过 PCIe 在 reComputer RK3576 Dev Kit 上使用 RK1820 AI 加速器。

本次测试使用 Qwen3.5-0.8B 进行验证:

Plain
Model            : Qwen3.5-0.8B
Prefill Speed    : 300.49 tokens/s
Generate Speed   : 92.89 tokens/s
Time per Token   : 10.77 ms
Result           : PASS

这表明 RK3576 → PCIe → RK1820 → RKNN3 → Qwen3.5-0.8B 整个 LLM 推理链路工作正常。

HDMI 2.1 指南

开发板配备 HDMI 2.1 接口,用于连接显示器等视频设备,最高支持 4K@120 fps。

注意

实际可用的分辨率和刷新率取决于显示设备、HDMI 线缆及系统驱动。使用 4K@120 Hz 时,建议选用支持相应带宽的 HDMI 2.1 线缆。

43.png

在 Armbian 桌面系统中,你可以通过图形界面或命令行调整 HDMI 输出参数。

通过图形界面配置

  1. 在 Armbian 桌面中打开 设置。

  2. 打开 显示。

  3. 选择已连接的 HDMI 显示设备。

  4. 设置分辨率、刷新率、屏幕方向和缩放比例。

  5. 点击 应用,确认显示正常后保存设置。

44.png

通过命令行配置

首先检查当前桌面会话类型:

Plain
echo "$XDG_SESSION_TYPE"

如果输出为 x11,你可以使用 xrandr 设置 HDMI 输出参数。请在 Armbian 桌面终端中以当前用户身份运行以下命令;不要使用 sudo。

检查显示接口及其支持的分辨率和刷新率:

Plain
xrandr --query

如果系统提示找不到 xrandr 命令,请运行:

Plain
sudo apt update
sudo apt install x11-xserver-utils

HDMI 接口名称可能显示为 HDMI-1、HDMI-A-1 或其他名称。请在以下命令中使用 xrandr --query 报告的名称。

例如,将 HDMI 输出设置为 4K 60 Hz:

Plain
xrandr --output HDMI-1 --mode 3840x2160 --rate 60

如果 xrandr --query 的模式列表中包含 4K 120 Hz,请运行:

Plain
xrandr --output HDMI-1 --mode 3840x2160 --rate 120

将 HDMI 设为主显示器:

Plain
xrandr --output HDMI-1 --primary

关闭 HDMI 输出:

Plain
xrandr --output HDMI-1 --off

注意:

  • xrandr 设置通常仅在当前图形会话中生效,重启后可能会恢复默认值。若要使其持久化,请通过图形显示设置进行配置。

  • 如果 $XDG_SESSION_TYPE 输出为 wayland,请先使用图形界面调整显示参数。

  • 如果输出为 tty,表示未运行图形桌面,因此无法直接使用图形设置或 xrandr。

  • 如果目标分辨率或刷新率未出现在支持列表中,请检查显示器规格、HDMI 线缆及系统驱动。

以太网(支持 PoE)接口指南

连接以太网端口以访问有线网络。

45.png

获取网络地址:

Plain
ip -br addr
ip route
nmcli device status

检查协商后的链路速率:

Plain
sudo apt install -y ethtool
sudo ethtool <interface>

测试网络连通性:

Plain
ping -c 4 8.8.8.8
ping -c 4 www.seeedstudio.com

速度测试:

Plain
sudo apt install -y iperf3
iperf3 -c <server_ip>

PoE 使用

reComputer RK3576 IO Board 支持连接 Raspberry Pi PoE+ HAT,可通过单根以太网线同时提供电源和网络连接。

PoE 供电由 PoE+ HAT 自动处理,无需在 Armbian 中安装驱动或进行额外配置。

请按照硬件安装说明安装 PoE+ HAT,然后连接以太网线。

系统启动后,可使用以下命令检查网络接口和 IP 地址:

Plain
ip -br addr

若成功获取到 IP 地址,则表明以太网连接可用。

PoE 和 DC 12V 可同时连接到 reComputer RK3576 IO Board。

当两种电源均连接时:

  • 断开 PoE,系统将继续通过 DC 12V 运行,不会重启。

  • 断开 DC 12V,系统将继续通过 PoE 运行,不会重启。

这意味着您可以在使用过程中切换 PoE 和 DC 12V 供电,而不会中断系统运行。

在安装或拆卸 PoE+ HAT 之前,请先断开所有电源。建议使用符合 IEEE 802.3at 标准的 PoE+ 交换机或注入器。

MIPI CSI 指南

reComputer RK3576 IO Board 提供两个 MIPI CSI 接口,即 CSI1 和 CSI2,支持直接连接 Raspberry Pi Camera Module 3。

46.png

在预装的 Armbian 系统中,Camera Module 3 无需安装额外驱动或配置设备树,正确连接后即可直接使用。

硬件连接

请勿在设备通电状态下插拔 CSI 摄像头,以免损坏摄像头或 IO Board。

安装工具

安装 GStreamer 和摄像头检测工具:

Plain
sudo apt update
sudo apt install -y \
    v4l-utils \
    gstreamer1.0-tools \
    gstreamer1.0-plugins-base \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-libav

查找摄像头节点

使用以下命令查看系统识别到的摄像头设备:

Plain
v4l2-ctl --list-devices

你也可以查看 Media Controller 拓扑结构:

Plain
media-ctl -d /dev/media2 -p

在当前系统镜像中,默认的视频设备节点如下:

视频节点可能会随系统版本、摄像头连接方式或设备启动顺序而变化。如果默认节点不可用,请通过 v4l2-ctl --list-devices 和 media-ctl 确认实际的视频节点。

使用 CSI1 拍照

当摄像头连接到 CSI1 时,运行:

Plain
gst-launch-1.0 \
    v4l2src device=/dev/video22 num-buffers=1 ! \
    videoconvert ! \
    jpegenc ! \
    filesink location=test1.jpg

拍照完成后,照片将保存在当前目录:

Plain
ls -lh test1.jpg

使用 CSI2 拍照

当摄像头连接到 CSI2 时,运行:

Plain
gst-launch-1.0 \
    v4l2src device=/dev/video31 num-buffers=1 ! \
    videoconvert ! \
    jpegenc ! \
    filesink location=test2.jpg

查看生成的照片:

Plain
ls -lh test2.jpg

47.png

故障排查

如果未找到摄像头节点,请检查:

  1. 摄像头排线是否完全插入。

  2. 排线方向是否正确。

  3. CSI 接口卡扣是否已锁定。

  4. 是否在设备断电状态下连接了摄像头。

  5. 系统是否识别到 Camera Module 3:

Plain
dmesg | grep -Ei "imx708|csi|rkisp"

Raspberry Pi Camera Module 3 使用 IMX708 传感器。如果日志中包含 imx708、rkisp 或相关的 CSI 信息,说明系统已识别该摄像头。

MIPI DSI 指南

reComputer RK3576 IO Board 支持连接 Raspberry Pi 官方 7 英寸 DSI 触摸屏。使用前,你需要连接 DSI 排线、短接 I²C 跳线,并在 Armbian 中启用对应的设备树 overlay。

48.png

硬件连接

请按照上图所示的硬件连接图进行接线。

I²C 接口用于触摸控制器通信。如果未短接此跳线,屏幕可能可以显示图像,但触摸功能将无法正常工作。

如果你购买的是 reComputer RK3576 Module Dev Kit 系列,跳线帽已预装,无需担心此问题。

49.png

启用设备树覆盖层

要启用设备树覆盖层,请先备份当前配置文件:

Plain
sudo cp /boot/armbianEnv.txt /boot/armbianEnv.txt.bak

打开配置文件:

Plain
sudo vim /boot/armbianEnv.txt

将 overlay_prefix 设置为:

Plain
overlay_prefix=recomputer-rk3576-ioboard

添加以下覆盖层:

Plain
overlays=raspi-7inch-touchscreen

配置完成后,相关内容应如下所示:

Plain
overlay_prefix=recomputer-rk3576-ioboard
overlays=raspi-7inch-touchscreen

如果 overlays= 中已启用其他覆盖层,请用空格分隔并保留原有内容,例如:

Plain
overlays=existing-overlay raspi-7inch-touchscreen

对于未启用其他覆盖层的系统,也可以使用以下命令快速完成配置:

Plain
sudo sed -i '/^overlay_prefix=/d; /^overlays=/d' /boot/armbianEnv.txt

printf '%s\n' \
    'overlay_prefix=recomputer-rk3576-ioboard' \
    'overlays=raspi-7inch-touchscreen' \
    | sudo tee -a /boot/armbianEnv.txt

配置桌面显示

创建 Xorg 配置目录:

Plain
sudo mkdir -p /etc/X11/xorg.conf.d

创建 DSI 显示配置:

Plain
sudo tee /etc/X11/xorg.conf.d/99-dsi.conf > /dev/null <<'EOF'
Section "Device"
    Identifier "DSI"
    Driver "modesetting"
    Option "kmsdev" "/dev/dri/card1"
    Option "DRI" "3"
    Option "AccelMethod" "glamor"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "DSI"
EndSection

Section "ServerLayout"
    Identifier "Layout"
    Screen 0 "Screen0" 0 0
EndSection
EOF

重启系统以使配置生效:

Plain
sudo reboot

验证显示与触摸功能

系统重启后,DSI 屏幕应显示 Armbian 桌面并支持触摸操作。

要确认触摸设备是否被识别,请运行:

Plain
sudo apt install -y evtest
sudo evtest

在设备列表中选择对应的触摸设备,然后点击或滑动屏幕。如果终端持续输出触摸坐标和按键事件,说明触摸功能正常。

当前配置使用 /dev/dri/card1 作为 DSI 显示设备。如果系统升级后 DRM 设备编号发生变化,请使用以下命令进行检查:

Plain
ls -l /dev/dri/

GPIO 接口指南

Shell
# Calculation formula: gpionum=(letter_index-1)*8+num
recomputer-rk3576-module:~:# gpioset 0 23=0
recomputer-rk3576-module:~:# gpioset 0 23=1

#Read status
gpioget 0 23
RK3576 gpio排针编号排针编号RK3576 gpio
VCC3V3_SYS12VCC5V0_SYS
GPIO0_C734VCC5V0_SYS
GPIO0_C656GND
GPIO3_A078UART0_TX_M0_DEBUG
GND910UART0_RX_M0_DEBUG
GPIO4_B4
1112GPIO2_D6
GPIO4_B5
1314
GND
GPIO3_A2
1516
GPIO2_D0
VCC3V3_SYS1718
GPIO2_D1
GPIO2_C21920
GPIO2_C3
2122
GPIO3_A1
GPIO2_C52324GPIO2_C4
2526GPIO2_C1
GPIO4_C7
2728GPIO4_C6
GPIO2_B6
2930GND
GPIO2_B7
3132GPIO2_C0
GPIO0_C4
33
34GND
GPIO2_B5
3536
GPIO3_A3
GPIO2_B4
3738GPIO4_A4
GND
3940GPIO4_A6

40 针排针 GPIO 与外设参考

reComputer RK3576 Module Dev Kit 提供了一个兼容 Raspberry Pi 的 40 针扩展排针。该排针可连接外部 GPIO 设备、UART 模块、I2C 传感器、SPI 设备、PWM 执行器以及 CAN 接口。Rockchip RK3576 的 pinctrl 复用功能用于选择每个引脚的活动功能。

支持的接口包括:

  • GPIO
  • UART
  • I2C
  • SPI
  • PWM
  • CAN

下表列出了信号引脚及其对应的 RK GPIO 名称。电源和接地引脚已在上述完整引脚定义表中列出。

引脚功能RK GPIO
3GPIOGPIO0_23
5GPIOGPIO0_22
7GPIOGPIO3_96
8UART TX/RXGPIO0_28
10UART RX/TXGPIO0_29
11GPIOGPIO4_140
12GPIOGPIO2_94
13GPIOGPIO4_141
15GPIOGPIO3_98
16GPIOGPIO2_88
18GPIOGPIO2_89
19SPI MOSIGPIO2_82
21SPI MISOGPIO2_83
22GPIOGPIO3_97
23SPI CLKGPIO2_85
24SPI CSGPIO2_84
26GPIOGPIO2_81
27GPIOGPIO4_151
28GPIOGPIO4_150
29GPIOGPIO2_78
31GPIOGPIO2_79
32GPIOGPIO2_80
33GPIOGPIO0_20
35GPIOGPIO2_77
36GPIOGPIO3_99
37GPIOGPIO2_76
38GPIOGPIO4_132
40GPIOGPIO4_134

GPIO 控制

安装 Linux GPIO 工具:

bash
sudo apt update
sudo apt install gpiod

在选择特定线路之前,请检查 GPIO 控制器、线路名称及当前占用情况:

bash
gpioinfo
gpioinfo gpiochip0

gpiochip 和行号取决于镜像和内核。请使用 gpioinfo 的输出进行确认,不要假设物理排针引脚号就是 Linux 的行号。

例如,若某线路在 gpiochip0 上暴露为第 23 行,请通过限流电阻连接一个 LED:

text
GPIO ---- resistor ---- LED ---- GND

设置输出高电平和低电平:

bash
gpioset gpiochip0 23=1
gpioset gpiochip0 23=0

将按钮连接在输入端与 3.3 V 之间(使用适当的下拉电阻或板载配置的上拉/下拉电阻),然后读取该线路状态:

text
3.3V
 |
Button
 |
GPIO
bash
gpioget gpiochip0 23

UART 示例

要启用 UART3,请将 overlay 添加到 /boot/armbianEnv.txt:

bash
sudo nano /boot/armbianEnv.txt
ini
overlays=recomputer-rk3576-devkit-40pin-uart3

重启并检查可用的串口设备:

bash
sudo reboot
ls /dev/tty*

向所选 overlay 暴露的 UART 设备发送测试字符串(例如 /dev/ttyS3):

bash
echo "Hello RK3576" > /dev/ttyS3

I2C 示例

在 /boot/armbianEnv.txt 中启用 I2C3:

ini
overlays=recomputer-rk3576-devkit-40pin-i2c3

安装 I2C 工具并在重启后扫描总线 3:

bash
sudo apt install i2c-tools
sudo i2cdetect -y 3

如下所示的输出行表示地址 0x50 处存在设备:

text
40: -- -- 50 --

SPI 示例

RK3576 Module Dev Kit 基础镜像可能默认启用了 40 针 SPI 总线。如果安装的镜像未启用 SPI,请添加相应的 overlay 并重启:

ini
overlays=rk3576-spi1-m1-spidev

检查 spidev 节点并运行基本测试:

bash
ls /dev/spidev*
spidev_test -D /dev/spidev1.0

物理 SPI 信号与某些板载扩展接口共享硬件资源。在连接其他 SPI 设备之前,请检查片选(chip-select)和总线占用情况。

PWM 示例

PWM 输出可用于驱动 LED 调光器、风扇或舵机。若尚未启用,请启用 PWM overlay:

ini
overlays=recomputer-rk3576-devkit-40pin-pwm2-ch6

重启后,在 /sys/class/pwm/ 下识别 PWM 控制器和通道,然后配置该通道。以下值代表 20 ms 周期和 1.5 ms 舵机脉冲:

bash
ls /sys/class/pwm/
echo 20000000 > period
echo 1500000 > duty_cycle
echo 1 > enable

请在选定的已导出 pwmchipX/pwmY 目录下执行 echo 命令。具体的控制器和通道可能因内核设备树而异。

CAN 示例

启用 CAN0 并应用 40 针引脚覆盖层,然后重启系统:

ini
overlays=recomputer-rk3576-devkit-40pin-can0

将接口配置为 500 kbit/s,随后发送和接收测试帧:

bash
sudo ip link set can0 up type can bitrate 500000
cansend can0 123#11223344
candump can0

引脚复用说明

RK3576 采用引脚复用机制。根据所选的设备树覆盖层,物理引脚可作为 GPIO 或外设信号使用。在使用外设功能前:

  1. 启用对应的覆盖层。
  2. 重启系统。
  3. 确认预期的设备节点已存在。
  4. 使用相应的 Linux 工具进行测试。

如果某个引脚被 UART、I2C、SPI、PWM 或其他内核驱动占用,则在禁用该功能之前,无法将其作为普通 GPIO 使用。

GPIO 与引脚复用故障排查

检查 GPIO 占用情况:

bash
sudo cat /sys/kernel/debug/gpio

检查已启用的覆盖层:

bash
cat /boot/armbianEnv.txt

检查设备树中的引脚复用配置:

bash
cat /sys/kernel/debug/pinctrl/*/pinmux-pins

40 针排针遵循 Raspberry Pi 扩展头布局,因此许多 Raspberry Pi 配件可以连接至此。但 RK3576 的引脚复用机制与 Raspberry Pi 平台不同;在连接 HAT 或其他配件前,请务必核对引脚功能表及所选的覆盖层。

风扇指南

reComputer RK3576 IO Board 支持 PWM 风扇控制。在 Armbian 中,你可以使用 Linux hwmon 接口查看风扇转速并手动调节 PWM。

50.png

系统重启后,hwmon 编号可能会发生变化,因此不要依赖固定的值(如 hwmon6)。以下命令使用通配符自动匹配风扇设备。

查看风扇转速

运行以下命令查看当前风扇转速:

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input

返回值的单位为 RPM,例如:

Plain
3200

若要持续监控转速,请运行:

Plain
watch -n 1 'cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input'

按 Ctrl+C 退出监控。

查看当前 PWM 值

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

有效的 PWM 范围为 0鈥?55。

PWM 比例与实际转速之间不一定呈线性关系。Linux pwm-fan 驱动规定 pwm1 的范围为 0–255,其中 255 表示最大输出。

设置风扇转速

停止风扇:

Plain
echo 0 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

设置为约 50% PWM:

Plain
echo 128 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

设置为最大 PWM:

Plain
echo 255 | sudo tee /sys/devices/platform/pwm-fan/hwmon/hwmon*/pwm1

设置完成后,可再次检查风扇转速:

Plain
cat /sys/devices/platform/pwm-fan/hwmon/hwmon*/fan1_input

手动设置的 PWM 值在系统重启后不会永久保留。系统将在重启后恢复默认的风扇控制策略。在高负载情况下,不建议长时间关闭风扇,以免因高温导致处理器降频。

51.png

LED 指示灯状态

reComputer RK3576 IO Board 提供电源和系统状态指示 LED。

52.png

系统状态 LED 闪烁表示 Linux 内核已启动,但这并不意味着所有系统服务或用户应用程序均已就绪。

检查 LED 设备

系统状态 LED 由 Linux LED 子系统管理。使用以下命令查看系统中的 LED:

Plain
ls /sys/class/leds/

在当前 Armbian 设备树中,系统状态 LED 通常显示为:

Plain
user-led

检查当前触发模式:

Plain
cat /sys/class/leds/user-led/trigger

输出中,方括号内的项表示当前模式,例如:

Plain
none timer default-on [heartbeat]

手动控制系统状态 LED

若要将系统状态 LED 用于应用状态指示,可先关闭心跳触发:

Plain
echo none | sudo tee /sys/class/leds/user-led/trigger

点亮 LED:

Plain
echo 1 | sudo tee /sys/class/leds/user-led/brightness

熄灭 LED:

Plain
echo 0 | sudo tee /sys/class/leds/user-led/brightness

恢复系统心跳模式:

Plain
echo heartbeat | sudo tee /sys/class/leds/user-led/trigger

上述设置仅在当前启动周期内有效。系统重启后,将恢复设备树中配置的默认心跳模式。

注意事项

  • 红色电源 LED 仅指示板卡已通电;不能据此判断 Linux 是否已完成启动。

  • 系统状态 LED 可由应用程序控制,但一旦切换至手动模式,将不再显示系统心跳信号。

  • 不建议通过固定的 hwmon 或 GPIO 编号来控制此指示灯;应使用 /sys/class/leds/user-led/ 接口。

按键说明

reComputer RK3576 IO Board 提供了三个板载按键:PWR、RESET 和 MASKROM。

53.png

PWR 按键

PWR 按键连接至电源键输入端。在 Linux 系统中,它被识别为 rk806 pwrkey,按下时会产生 KEY_POWER 事件。

不同的系统环境可能会将该事件配置为关机、休眠或弹出电源菜单。

安装按键测试工具:

Plain
sudo apt update
sudo apt install -y evtest

运行测试:

Plain
sudo evtest

在设备列表中选择:

Plain
rk806 pwrkey

按下 PWR 按键后,可以看到类似以下的输出:

Plain
Event: type 1 (EV_KEY), code 116 (KEY_POWER), value 1
Event: type 1 (EV_KEY), code 116 (KEY_POWER), value 0

若要修改短按 PWR 按键后的系统行为,可以编辑 systemd-logind 配置:

Plain
sudo nano /etc/systemd/logind.conf

例如,将短按动作设置为关机:

Plain
HandlePowerKey=poweroff

应用配置:

Plain
sudo systemctl restart systemd-logind

建议使用 sudo poweroff 或桌面系统的关机功能来安全关闭设备,以避免直接断电导致文件系统或数据损坏。

RESET 按键

按下 RESET 按键会触发硬件复位,系统将立即重启。

RESET 不会执行正常的 Linux 关机流程,因此未保存的数据可能会丢失。正常情况下,建议使用:

Plain
sudo reboot

仅当系统无响应且无法通过终端或 SSH 正常重启时,才使用 RESET 按键。

MASKROM 按键

MASKROM 按键用于强制设备进入 Rockchip MaskROM 模式。该模式主要用于以下情况:

  • 系统无法从 eMMC 或其他存储设备启动

  • Bootloader 损坏

  • 无法正常进入 Loader 模式

  • 需要重新烧录系统镜像

进入 MaskROM 模式

  1. 使用支持数据传输的 USB-C 线缆将 IO Board 连接到主机。

  2. 关闭设备电源。

  3. 按住 MASKROM 按钮。

  4. 开启设备电源。

  5. 当主机检测到 Rockchip MaskROM 设备后,松开按钮。

如果设备已处于开机状态,也可以执行以下操作:

  1. 按住 MASKROM 按钮。

  2. 短按一次 RESET 按钮。

  3. 等待主机识别设备,然后松开 MASKROM 按钮。

在 Windows 上,可以通过 RKDevTool 或 RK Driver Assistant 确认设备状态:

Plain
Found One MASKROM Device

在 Linux 主机上,可以运行:

Plain
lsusb

检查主机上是否出现了 Rockchip USB 设备。

MASKROM 是一种系统恢复功能。不建议将其用于常规应用交互。进入 MaskROM 模式后,设备将无法正常启动 Linux;需要重新上电或复位才能退出该模式。

USB 接口指南

reComputer RK3576 IO Board 提供以下 USB 接口:

USB-C 支持 Host 和 Device 角色切换。实际工作模式取决于连接方向、线缆以及所连接的设备。

54.png

检查 USB 设备

连接 USB 设备后,运行:

Plain
lsusb

查看 USB 设备的连接拓扑和协商速率:

Plain
lsusb -t

输出如下:

Plain
seeed@recomputer-rk3576-module:~$ lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 004: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 004: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M

如果 USB 3.0 设备仅显示为 480M,请检查:

  • 设备是否支持 USB 3.x

  • 线缆是否支持 SuperSpeed

  • 设备是否连接到 USB 3.0 Type-A 接口

  • USB Hub 或适配器是否支持 USB 3.x

查看设备连接日志

在插入 USB 设备之前,运行:

Plain
sudo dmesg --follow

然后连接设备,即可实时查看设备识别、驱动加载及错误信息。按 Ctrl+C 退出。

也可以查看最近的 USB 日志:

Plain
dmesg | grep -i usb

使用 USB 存储设备

插入 U 盘或外置硬盘后,检查设备节点:

Plain
lsblk

桌面版 Armbian 通常会自动挂载存储设备。您也可以手动挂载:

Plain
sudo mkdir -p /mnt/usb
sudo mount /dev/sda1 /mnt/usb

使用完毕后,请先卸载设备:

Plain
sudo umount /mnt/usb

/dev/sda1 仅为示例。请通过 lsblk 确认实际设备节点,以免误操作其他磁盘。

USB-C OTG

USB-C 接口在不同场景下可工作于不同角色:

  • Device 模式:连接 PC 进行系统烧录及 Rockchip Loader/MaskROM 通信。

  • Host 模式:通过合适的 USB-C 转接头连接 USB 外设。

  • DP Alt Mode:连接支持 DisplayPort Alt Mode 的显示设备。

进行系统烧录时,请使用支持数据传输的 USB-C 线缆。仅支持充电的线缆无法识别设备。

对于外置硬盘、AI 加速器等大功率 USB 外设,建议使用独立供电的 USB Hub,以避免因供电不足导致设备断开或系统不稳定。

板载接口包括一个 USB 3.0 Type-A 和两个通过 USB 2.0 Hub 扩展出的 Type-A 接口;在 Armbian 设备树中,USB-C 被配置为 OTG 双角色接口。

RTC 接口指南

reComputer RK3576 IO Board 集成了 RTC,可在设备断网或断电后继续维持日期和时间。

RTC 通过 I²C 连接,默认地址为:

Plain
0x51

载板提供 CR2032 备用电池座。安装电池后,即使断开 DC、PoE 和 USB-C 电源,RTC 仍可继续计时。

55.png

请使用不可充电的 3V CR2032 纽扣电池,并确认电池极性正确。

检查 RTC 设备

运行以下命令以确认系统是否已识别 RTC:

Plain
ls /dev/rtc*

查看 RTC 驱动名称:

Plain
for rtc in /sys/class/rtc/rtc*; do
    echo "$rtc: $(cat "$rtc/name")"
done

正常情况下,可以看到对应 PCF8563 的 RTC 设备。

查看内核识别日志:

Plain
dmesg | grep -i rtc

查看系统时间和 RTC 时间

查看系统时间:

Plain
timedatectl

检查 RTC 时间:

Plain
sudo hwclock --show

如果系统提示找不到 hwclock,请安装相关工具:

Plain
sudo apt update
sudo apt install -y util-linux-extra

将系统时间写入 RTC

设备联网后,可先启用网络时间同步:

Plain
sudo timedatectl set-ntp true

确认系统时间正确:

Plain
timedatectl

然后将系统时间写入 RTC:

Plain
sudo hwclock --systohc --utc

建议 RTC 使用 UTC 时间,以避免因时区或夏令时变更导致的时间偏差:

Plain
sudo timedatectl set-local-rtc 0

从 RTC 恢复系统时间

当设备无法访问网络时,可将 RTC 时间同步到系统:

Plain
sudo hwclock --hctosys

同步后进行检查:

Plain
date

手动设置时间

如果设备暂时无法联网,可以先手动设置系统时间:

Plain
sudo timedatectl set-time "2026-09-10 14:00:00"

然后将其写入 RTC:

Plain
sudo hwclock --systohc --utc

验证断电保持功能

  1. 确认 CR2032 电池已正确安装。

  2. 将当前系统时间写入 RTC:

Plain
sudo hwclock --systohc --utc
sudo hwclock --show
  1. 正常关闭设备电源:
Plain
sudo poweroff
  1. 断开所有外部电源,如 DC、PoE 和 USB-C。

  2. 等待一段时间后,重新接通电源。

  3. 再次检查 RTC 时间:

Plain
sudo hwclock --show

如果时间持续正常变化,说明 RTC 备用电源工作正常。

RTC 仅存储时间信息,主电源断开后无法继续为系统供电。若未安装电池或电池电量不足,设备完全断电后 RTC 时间可能会丢失。

PCF8563 和 CR2032 电池接口可在 RK3576 IO Board 原理图中确认;默认 Armbian 设备树中已启用 PCF8563,通常无需额外的 overlay 配置。

音频

reComputer RK3576 IO Board 集成了 ES8311 音频编解码器,并提供支持以下功能的 3.5 mm 音频接口:

  • 立体声音频输出

  • 模拟麦克风输入

  • 耳机插入检测

  • HDMI 和 USB-C DisplayPort 数字音频输出

使用普通三段式耳机时,仅支持音频输出;如需录音,请使用带麦克风的四段式耳麦。

56.png

检查音频设备

安装 ALSA 音频工具:

Plain
sudo apt update
sudo apt install -y alsa-utils

列出所有声卡:

Plain
cat /proc/asound/cards

分别检查播放和录音设备:

Plain
aplay -l
arecord -l

正常情况下,可以看到如下设备:

Plain
rockchip-es8311
rockchip-hdmi0
rockchip-dp0

注意:

ALSA 声卡编号可能会随连接的 USB、HDMI 或其他音频设备而变化。请通过 aplay -l 和 arecord -l 确认实际编号。

测试音频播放

以下示例假设 ES8311 为 card 0, device 0。如果设备编号不同,请将 0,0 替换为正确的声卡和器件编号。

使用测试音播放左右声道:

Plain
speaker-test -D plughw:0,0 -c 2 -t wav

按 Ctrl+C 停止测试。

播放 WAV 文件:

Plain
aplay -D plughw:0,0 test.wav

播放 MP3 文件:

Plain
sudo apt install -y mpg123
mpg123 -a hw:0,0 test.mp3

测试麦克风录音

连接带麦克风的 3.5 mm 耳麦,然后录制一段 5 秒的音频:

Plain
arecord -D plughw:0,0 \
    -d 5 \
    -f S16_LE \
    -r 48000 \
    -c 2 \
    recording.wav

回放录音:

Plain
aplay -D plughw:0,0 recording.wav

也可以进行实时录音与播放测试:

Plain
arecord -D plughw:0,0 -f cd |
    aplay -D plughw:0,0 -f cd

建议在测试期间使用耳机,以避免扬声器与麦克风之间产生啸叫。

调整音量

运行 ALSA Mixer:

Plain
alsamixer

在界面中:

  1. 按 F6 选择 rockchip-es8311。

  2. 使用左右方向键选择音频控制项。

  3. 使用上下方向键调整音量。

  4. 按 M 切换静音状态。

  5. 按 Esc 退出。

确保以下输出或输入通道未处于静音状态:

Plain
Headphone
DAC
ADC
MIC PGA

保存当前设置:

Plain
sudo alsactl store

恢复已保存的设置:

Plain
sudo alsactl restore

选择系统默认音频设备

在 Armbian 桌面环境中,可以通过音量图标选择 3.5 mm、HDMI 或 DisplayPort 音频设备。

在终端中查看 PipeWire/PulseAudio 音频设备:

Plain
pactl list short sinks
pactl list short sources

设置默认输出设备:

Plain
pactl set-default-sink <sink_name>

设置默认输入设备:

Plain
pactl set-default-source <source_name>

将 <sink_name> 和 <source_name> 替换为上一条命令显示的实际名称。

常见问题

3.5 mm 耳机无声音

首先确认系统已选择 ES8311,而非 HDMI 或 DisplayPort:

Plain
aplay -l
pactl list short sinks

然后检查 Mixer 中的静音状态:

Plain
alsamixer

如果使用较旧的测试镜像且启动时无声音,请参考项目中的 ES8311 播放配置脚本。

麦克风录音无输入

确认使用的是带麦克风的四段式耳机,并检查录音设备:

Plain
arecord -l

进入 Mixer 并检查 ADC、MIC PGA 及输入通道:

Plain
alsamixer

如果较旧的测试镜像录制到空数据,请参考 ES8311 录音配置脚本。

出现爆音或噪声

  • 确认耳机插头已完全插入。

  • 避免使用接触不良的转接线。

  • 降低耳机输出音量和麦克风增益。

  • 录音时,避免将麦克风过于靠近耳机。

  • 使用 plughw 设备,以便 ALSA 自动执行采样率和格式转换。