工业级主板,接口布局一览
裸板背面、侧面接口与正面接口标注图三张实物照,对应接口位置逐一说明。



串口、USB、音频、显示、网络全部实测通过
六路串口逐口定位用途;USB 外设按 VID:PID 全部识别;音频支持功放与耳机双输出、内置与 USB 双话筒输入。
六路串口,各司其职
RS485 ×1
工业总线,长距离抗干扰,对接 PLC / 仪表 / 楼宇自控设备
TTL ×2
板级调试与传感器通信,直接对接 3.3V 电平外设(GPS、扫码模块、门禁)
RS232 ×2
标准串口,对接老式工控设备、打印机、串口服务器
蓝牙 HCI ×1
蓝牙协议 HCI 串口,供 WiFi/BT 一体模块使用,实现蓝牙透传与音频
DEBUG ×1
UART 调试串口,内核与 uboot 日志输出,开发排障
UBOOT ×1
Bootloader 交互串口,配合 UBOOT 按键进入烧录与引导模式
USB 外设全部识别(VID:PID 实测)
| VID:PID | 设备 | 说明 |
|---|---|---|
2c7c:6005 | Quectel EC200A 4G 模块 | ttyUSB0–2 三路串口,拨号上网 |
0bda:3035 | Realtek P1080P 摄像头 | USB UVC 摄像头 |
222a:0001 | ILI 多点触摸屏 | 电容触摸输入 |
1eab:1d22 | 新大陆 NLS-N1 POS 扫码枪 | USB 条码扫描 |
14e1:1100 | CICOE-EMIC USB 麦克风 | 降噪拾音输入 |
1a40:0201 / 0101 | USB Hub ×2 | 扩展 USB 端口 |
音频与显示重点
功放 + 耳机双输出
ES8388 完美适配,外接音箱(功放)与耳机接口同时可出声,默认音量 50%
双话筒输入
内置话筒接口 + 可选 USB 降噪话筒(CICOE-EMIC),HDMI-IN 亦可作为录音源
显示输出
eDP 主屏 1920×1080p60 已连接;HDMI 输出预留;DSI 屏已在 DTB 层按需永久关闭
网络与 4G
千兆以太网 + 2.4G WiFi 稳定在线;EC200A 4G 自动拨号 + 保活
存储与总线
eMMC 58.2G(可用 52G)· SATA0 6Gbps 就绪 · I2C×5 · GPIO 7 组 · RTC
远程运维
SSH + X11 转发 · x11vnc 开机自启 · 桌面 Cinnamon + lightdm(X11 :0)
关闭软渲染:Mali-G610 从 100 分跑到 2037 分
桌面 X11 下 glmark2 无论 GLX 还是 EGL 都回落到 llvmpipe 软渲染;改用 Mesa Panfrost 走 GBM/DRM 直连后,同一块 Mali-G610 硬件渲染性能提升约 20 倍。
软渲染基线 · llvmpipe(X11 桌面)
Mesa llvmpipe CPU 软渲染,OpenGL 4.5(LLVM 19.1.7)。X server 无 DRI3,GPU 完全不参与。
硬件渲染 · Mali-G610(GBM/DRM 直连)
Mesa 25.0.7 Panfrost 用户态接管,OpenGL ES 3.1,glmark2 全量 27 场景跑完,综合 Score 2037。
/etc/ld.so.conf.d/00-aarch64-mali.conf 把 rk 专有 libmali(仅 GBM 版)全局加载并抢占 EGL 入口,默认栈连 EGL 初始化都失败。解法是绕过 libmali 目录,强制 Mesa panfrost 接管用户态。复现命令(板 114 实测)
# 1. 编译 glmark2 2023.01(需含 GBM flavor)
meson setup build -Dflavors=x11-gl-egl,gbm-gl,gbm-glesv2
ninja -C build install
# 2. Mali-G610 硬件渲染(GBM/DRM render 节点直连,无需关闭桌面)
LD_LIBRARY_PATH=/lib/aarch64-linux-gnu \
/root/glmark2-2023.01/build/src/glmark2-es2-gbm --off-screen
# 输出关键行:GL_RENDERER = Mali-G610 (Panfrost),glmark2 Score: 2037
要点:LD_LIBRARY_PATH=/lib/aarch64-linux-gnu 强制加载 Mesa 原生 EGL/GBM,绕开 /usr/lib/aarch64-linux-gnu/mali/ 下的 rk libmali;GBM flavor 走 DRM render 节点(renderD130),与桌面会话不冲突,因此不需要关闭桌面即可获得硬件加速。X11/x11-egl flavor 仍会落 llvmpipe,属预期。
全部验收命令:照抄即可复测
以下命令均为板 114 实测使用的原命令(含 4G AT 通路、六路串口、蓝牙 HCI、WiFi 链路、声卡双出双入、FFmpeg rkmpp 硬编硬解、RetinaFace RKNN C++)。
USB 设备与 4G 模块
# 列出全部 USB 设备(VID:PID)
lsusb
# 只看 4G 模块(Quectel EC200A = 2c7c:6005)
lsusb -d 2c7c:
# 4G 拨号串口节点(ttyUSB0-2)
ls /dev/ttyUSB*
# 内核枚举日志(cp210x / ch341 / ftdi / cdc_acm)
dmesg | grep -iE "ttyUSB|cp210x|ch341|ftdi|pl2303|option|cdc_acm"
实测:6 项外设全部识别(2c7c:6005 4G / 0bda:3035 摄像头 / 222a:0001 触摸屏 / 1eab:1d22 扫码枪 / 14e1:1100 USB 麦克风 / 1a40:0201+0101 Hub×2)。
六路串口
# 板载 UART 节点(1×RS485 + 2×TTL + 2×RS232 + 1×蓝牙 HCI)
ls -la /dev/ttyS*
# 串口控制器状态与波特率
cat /proc/tty/driver/serial
# 蓝牙 HCI 串口(uart9 febc0000)内核日志
dmesg | grep -iE "uart9|febc0000"
# 4G AT 通路测试(ttyUSB2,115200 8N1)
stty -F /dev/ttyUSB2 115200 cs8 -cstopb -parity
echo "AT" > /dev/ttyUSB2
timeout 2 cat /dev/ttyUSB2
实测:ttyS0-ttyS6 全部就位;ttyUSB2 发 AT 回 OK,4G 拨号链路可用。
蓝牙状态
# 蓝牙适配器状态(hci0:UP RUNNING)
hciconfig -a
# 蓝牙子系统设备
ls -la /sys/class/bluetooth/
实测:hci0 正常注册,由 uart9(蓝牙 HCI 串口)承载。
WiFi 状态与链路
# 无线接口与关联状态
iw dev
iw dev wlan0 link
iw dev wlan0 get power_save
# 网络管理器设备状态
nmcli -t -f DEVICE,TYPE,STATE,CONNECTION device
# 驱动日志(brcmfmac 老固件不支持 sched scan,已切 2.4G)
dmesg | grep -iE "brcmfmac|brcm|wlan"
实测:wlan0 稳定关联 2.4G AP、power save 关闭;5G 掉线问题已处置。
声卡:查看与测试(功放 + 耳机双输出,内置 + USB 麦双输入)
# 列出播放/录音设备(card0 = ES8388,card1 = USB 降噪话筒)
aplay -l
arecord -l
# 功放/耳机双输出测试:440Hz 正弦波,双声道 1 次
speaker-test -D hw:0,0 -c 2 -t sine -f 440 -l 1
# 音量控制(默认 50%,测试时可开到 100%)
amixer -c 0 sset "OUT1" 100% unmute
amixer -c 0 sset "OUT2" 100% unmute
# 内置话筒 / USB 降噪话筒录音验证
arecord -D hw:0,0 -f cd -d 3 /tmp/mic-int.wav
arecord -D hw:1,0 -f cd -d 3 /tmp/mic-usb.wav
实测:功放与耳机同时出声;内置话筒 + USB 降噪话筒双输入通路正常。
FFmpeg rkmpp:硬编硬解实测
# 确认 rkmpp 编解码器与硬件加速列表
ffmpeg -hide_banner -hwaccels
ffmpeg -hide_banner -encoders | grep rkmpp
ffmpeg -hide_banner -decoders | grep rkmpp
# 硬编码:生成 1280x720 H.264(h264_rkmpp)
time ffmpeg -y -f lavfi -i testsrc=duration=3:size=1280x720:rate=25 -c:v h264_rkmpp /tmp/t.h264
# 硬解码:全帧解码输出到 null
time ffmpeg -hwaccel rkmpp -c:v h264_rkmpp -i /tmp/t.h264 -f null -
实测:h264_rkmpp / hevc_rkmpp 可用;硬编 8.61×、硬解 20.6×(相对软编软解基线)。
RetinaFace RKNN:C++ 推理实测
# RKNN C++ 推理(模型 + 单张测试图,计时)
cd /root/retinaface
time ./retinaface_demo model/RetinaFace.rknn model/test.jpg
实测:置信度 0.999,单次 0.211s(含加载与画框)。
一次刷写即用,交付物齐备
镜像基于 Armbian 26.02.0-trunk(trixie 仓库),vendor 内核 6.1.115-rk35xx,硬件适配与自启服务全部固化进镜像。
| 项目 | 实测结果 |
|---|---|
| 发行版 / 内核 | Armbian-unofficial 26.02.0-trunk · trixie · 6.1.115-vendor-rk35xx |
| 存储 | eMMC 58.2G,根分区实测 2.8G 已用 / 52G 可用 |
| 多媒体 | FFmpeg rkmpp 硬编 8.61× / 硬解 20.6×(相对软件基线);H.264 / HEVC / MJPEG 全支持 |
| 播放器 | ffplay 7.1.5 固化进镜像(/usr/local/ffplay),运行库链 ldd 无缺失 |
| AI 实测 | RetinaFace RKNN C++ 实测:置信度 0.999,单次 0.211s(含加载与画框) |
| 交付物 | 系统镜像 + SHA256 校验 + 部署包 + 验收记录,可直接量产刷写 |
整盘镜像固化,两种刷写方式
镜像为整盘 4 GiB 镜像(含分区表),配套 SHA256 校验,刷写前请核对哈希。卡刷推荐先用 TF 卡验证,量产再写入 eMMC。
| 项目 | 取值 |
|---|---|
| 镜像文件 | Armbian-unofficial_26.02.0-trunk_Shimeta-aiot-rk3588a_trixie_vendor_6.1.115_minimal.img |
| 镜像容量 | 4 GiB(4,294,967,296 B)· 配套 .img.sha / .img.txt |
| SHA256 | 982451f1181dca9297f7db5177329662d94ad364e873fcb127d70755e7c0a029 |
| 发行版 / 内核 | Armbian-unofficial 26.02.0-trunk · trixie · 6.1.115-vendor-rk35xx |
| 默认账号 | root 登录,初始密码见交付说明(.img.txt),建议首次登录立即修改 |
armbian-config 把系统安装进 eMMC。方式一 · balenaEtcher 写入 TF 卡(快速验证)
# 1. 准备 ≥8GB TF 卡 + 读卡器(镜像 4GiB,卡需 ≥8GB)
# 2. 下载并打开 balenaEtcher:
# 选择镜像 → 选择 TF 卡 → Flash!(整盘写入,自动校验)
# https://etcher.balena.io/
# 3. 备选:命令行整盘写入(Linux/macOS,of= 以实际设备为准,切勿写错盘)
sudo dd if=Armbian-unofficial_26.02.0-trunk_Shimeta-aiot-rk3588a_trixie_vendor_6.1.115_minimal.img \
of=/dev/sdX bs=4M status=progress conv=fsync
把 TF 卡插入板卡 TF 卡槽,按住 UBOOT 按键上电进入 TF 引导(或按拨码选择启动介质)。首次启动自动扩容根分区,登录后即可使用全部硬件能力。
方式二 · armbian-config 写入 eMMC(量产固化)
# 1. 先按方式一从 TF 卡启动系统并登录
armbian-config
# 2. 菜单依次选择:
# System → Install to internal storage(安装到 eMMC 内置存储)
# 3. 按提示确认覆盖 eMMC,等待写入完成
# 4. 断电 → 拔掉 TF 卡 → 上电,从 eMMC 直接启动
板 114 验收即由本镜像刷入 eMMC 后完成全硬件逐项测试;批量量产按同一流程逐台执行即可。