测试文件下载

uart文件下载 uart
测试音乐下载 :test.wav
串口工具下载:UartAssist.exe

设备基础信息

1. 设备基础信息

项目详情
设备型号EDGE-RK3588 开发板硬件版本:V1.2A
系统版本Debian11 Xfce(固件版本:rk3588_edge_v12_debain_xfce_rk7_v1.2 中性
内核版本Linux 5.10

2. 核心硬件配置

项目配置详情
CPU8 核异构架构:4×Cortex-A76(高性能核) + 4×Cortex-A55(能效核),最高主频 2.4GHz
GPU

Mali-G610 MP4 图形处理器

支持标准:OpenGL ES 1.1/2.0/3.2、OpenCL 2.2、Vulkan 1.2

内存(DDR)
LPDDR4X 类型,可选容量:4GB/8GB/16GB
AI 算力(NPU)6.0 Tops(支持 INT4/INT8/FP16 计算精度)
内置存储支持 eMMC 5.1 / SDIO 3.0 接口
可选容量:16GB/32GB/64GB/128GB

3. 供电参数

项目规格说明
直流电源要求输入:12V 2A DC
 接口规格:5.5mm × 2.0mm 圆柱电源口
 ⚠️ 注意:输入电压低于 12V 可能导致设备无法开机
扩展供电

预留 POE 电源接口,支持外挂 POE 模块供电(需单独配置)

一、电源基础测试

1. 电源接口功能验证

  • 验证设备电源接口的兼容性、电气性能及安全性,确保符合供电参数要求。

2. 测试环境与工具适应性

工具 / 环境规格说明
直流电源适配器12V 2A DC(匹配 5.5mm×2.0mm 接口)
万用表支持电压 / 电流测量
POE 模块(选配)适配设备预留 POE 接口型号
待测设备目标产品(含电源接口)

3.基础测试流程规范

1.直流电源接口兼容性测试

  • 测试步骤
    1. 确认直流电源适配器规格为 “12V 2A DC”,接口尺寸 “5.5mm×2.0mm”;
    2. 将适配器接入设备电源接口,通电后观察设备是否正常开机。
  • 判定标准
     接口可稳定插入 / 拔出,设备正常开机无异常。

2.输入电压下限验证

  • 测试步骤
    1. 使用可调直流电源,将电压调至11.5V(低于 12V),接入设备;
    2. 观察设备是否出现 “无法开机” 等异常现象。
  • 判定标准
     电压低于 12V 时,设备无法正常开机(与供电参数 “注意” 项一致)。

3.POE 接口扩展供电测试(选配)

  • 测试步骤
    1. 连接 POE 模块至设备预留 POE 接口;
    2. 给 POE 模块供电,观察设备是否正常运行。
  • 判定标准
     设备可通过 POE 模块稳定供电,功能正常。

二、有线通信接口测试

1.RS232 串口测试

RS232对应设备节点:ttyS3(V1.2 版本)/ ttyS4 (V1.4 版本)

测试准备:

1.确认串口节点

bash
# 方法1:查看所有串口
ls -la /dev/ttyS*

# 方法2:根据硬件版本确定
# 查看板卡版本标记或运行:
cat /proc/device-tree/model
# 如果显示包含V1.4,则使用/dev/ttyS4
# 如果显示包含V1.2,则使用/dev/ttyS3

2.两分钟回环测试

bash
# 步骤1:硬件短接(必须)
# 使用导线短接RS232接口的TX(引脚2)和RX(引脚3)

# 步骤2:准备测试工具
# 将uart测试程序上传到设备(如果从Windows传输)
adb push C:\Users\Administrator\Desktop\uart ./

# 步骤3:赋予权限
chmod  777 ./uart

# 步骤4:执行测试
# 终端1:接收数据
cat /dev/ttyS3

# 终端2:发送数据
./uart /dev/ttyS3
# 输入测试文本,在终端1查看接收结果 

输出示例

bash
# 终端2程序输出示例:
# fcntl=0
# isatty success!
# fd-open=3
# set done!
# please input:         # 此处等待用户输入(如45 3A F7 98)

#终端1接收到终端2输入的数据(如45 3A F7 98)





2.RS485串口测试

1.测试目的

验证 RK3588 设备的 RS485 串口(映射为系统设备/dev/ttyS0)与电脑端 UART Assist 工具的双向数据通信功能,确保串口硬件、驱动及链路的可用性。

2.测试环境

设备 / 工具配置信息
RK3588 设备系统:嵌入式 Linux(如 Armbian)
 RS485 串口:/dev/ttyS0(波特率 115200、8N1)
电脑端工具:UART Assist(串口调试助手)
 硬件:USB 转 RS485 模块(如 CH340+MAX485)
链路RS485 接线:RK3588 的 RS485_A 接模块 A、RS485_B 接模块 B、共地(GND)

3.硬件接线

  1. RK3588 RS485 引脚与 USB 转 RS485 模块连接:
    • RK3588 RS485_A → 模块 A 端
    • RK3588 RS485_B → 模块 B 端
    • RK3588 GND → 模块 GND(必须共地,避免信号干扰)
  2. USB 转 RS485 模块接入电脑 USB 口,安装对应驱动(如 CH340 驱动)。

4.测试步骤

4.1 电脑端 UART Assist 配置

  1. 打开 UART Assist 工具,选择对应 USB 转 RS485 的串口(如 COM3);
  2. 配置参数:波特率 115200、数据位 8、校验位无、停止位 1、流控无;
  3. 点击 “打开串口”,确认串口连接成功。

4.2 单向收发测试(电脑→RK3588)

  1. RK3588 端启动串口接收:

bash
# 步骤1:准备测试工具
# 将uart测试程序上传到设备(如果从Windows传输)
adb push C:\Users\Administrator\Desktop\uart ./

# 步骤2:赋予权限
chmod  777 ./uart

# 步骤3:执行测试
# 终端1:接收数据
cat /dev/ttyS0

# 终端2:运行命令工具配置正确的串口参数
./uart /dev/ttyS0

      2.电脑端 UART Assist 输入测试数据(如 “RK3588 RS485 Test”),(如下图)点击 “发送”;

      3.观察 RK3588 终端1(如下图),若显示接收的测试数据,则单向接收功能正常。

4.3 单向收发测试(RK3588→电脑)

  1. 保持电脑端 UART Assist 处于 “打开” 状态;
  2. RK3588 端发送测试数据:
bash
# 步骤1:准备测试工具
# 将uart测试程序上传到设备(如果从Windows传输)
adb push C:\Users\Administrator\Desktop\uart ./

# 步骤2:赋予权限
chmod  777 ./uart

# 步骤3:执行测试
#发送数据
./uart /dev/ttyS0
# 输入测试文本(如下图)

     

3.观察 电脑端 UART Assist(如下图),若显示接收的测试数据,则单向收发功能正常。

3.USB接口测试

1. 设备连接状态识别

 通过以下命令确认设备是否接入系统并获取设备节点信息:

bash
# 查看所有块设备,识别USB对应的设备节点(如/dev/sda1)
lsblk
# 查看USB设备详细信息,包括控制器和设备ID
lsusb
结果说明lsusb输出中,ID 1d6b:0002对应 USB2.0 控制器,ID 1d6b:0003对应 USB3.0 控制器,可通过设备挂载的总线判断其关联的 USB 版本。

2. 设备配套 USB 版本兼容性

通过设备速度参数精准判断 USB 版本,USB2.0 对应高速(480Mbps),USB3.0 对应超高速(5000Mbps),操作如下:

1.查看设备速度文件


bash
# 遍历所有USB设备,输出其传输速度
for device in $(ls /sys/bus/usb/devices/); do
    if [ -f "/sys/bus/usb/devices/$device/speed" ]; then
        speed=$(cat /sys/bus/usb/devices/$device/speed)
        echo "Device: $device, Speed: $speed Mbps"
    fi
done

 2.通过详细信息验证

bash
# 查看指定USB设备的详细参数,搜索Speed字段
lsusb -v | grep -E "Speed|Device"

 结果说明:输出中Speed: 480Mbit/s对应 USB2.0,Speed: 5000Mbit/s对应 USB3.0。

3.传输性能测试

传输速率是 USB2.0 与 USB3.0 的核心差异点,USB2.0 理论速率 480Mbps,USB3.0 理论速率 5Gbps。以下提供两种常用测试方法,分别适用于存储设备和网络类 USB 设备。

1. 简易测试:dd 命令

dd命令可快速测试读写速率,适合初步验证,测试时需先挂载 USB 设备。

 1.1.挂载 USB 设备:

bash
# 假设通过lsblk确认USB设备节点为/dev/sda1,创建挂载点并挂载
mkdir -p /mnt/usb
mount /dev/sda1 /mnt/usb

 1.2. 试顺序写速率:

bash
# 写入1GB零数据到USB设备,绕过缓存确保结果真实
dd if=/dev/zero of=/mnt/usb/testfile bs=1M count=1024 conv=sync oflag=direct

 1.3.测试顺序读速率:

bash
# 读取USB设备中的测试文件并丢弃,测试读取速度
dd if=/mnt/usb/testfile of=/dev/null bs=1M iflag=direct

 1.4.测试后清理临时文件:

bash
rm /mnt/usb/testfile

 结果说明:命令执行完毕后会显示传输时间和速率,USB2.0 实际写速率通常在 10 - 30MB/s,USB3.0 实际写速率通常在 50 - 150MB/s(受设备本身性能影响)。

2. 专业测试:fio 工具

fio工具支持复杂的 IO 场景测试,结果更全面,适合深度性能评估。

 2.1.安装 fio:

bash
# Ubuntu/Debian
sudo apt install fio -y

 2.2.fio测试命令代码块

bash
# 顺序写测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=write -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 顺序读测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=read -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机写测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randwrite -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机读测试
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randread -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

# 随机读写混合测试(默认读写比例 50:50)
fio -filename=/temp/testfile -direct=1 -ioengine=psync -iodepth 128 -rw=randrw -bs=1M -size=3G -numjobs=4 -runtime=30 -group_reporting -name=iopstest -time_based=1

4.Type-C接口测试

1.ADB功能测试

1.1. ADB基础连接测试

测试目的:验证 Type‑C 接口可正常建立 ADB 连接,设备可被 PC 识别。

测试步骤:

1.用 Type‑C 数据线连接待测设备与 PC。

2.设备端开启「开发者选项」→「USB 调试」。

3.PC 端执行 adb devices,检查设备是否被识别。

4.执行 adb shell,验证是否可进入设备命令行。

预期结果:

1.adb devices 输出设备序列号,状态为 device。

2.成功进入设备 shell,无连接超时或权限拒绝。

1.2. ADB 核心指令执行测试

测试目的:验证 ADB 核心指令在 Type‑C 链路下可正常执行。

测试步骤:

1.用文件传输:

执行 adb push test_file /data/ 推送文件至设备。

执行 adb pull /data/test_file ./ 拉取文件至 PC。

2.设备控制:

执行 adb reboot 重启设备,重启后重新执行 adb devices。

3.日志抓取:

执行 adb logcat -d > adb_log.txt 抓取系统日志。

预期结果:

1.文件传输无失败,拉取文件与原文件大小一致。

2.重启后 ADB 连接可自动恢复。

3.日志文件非空,包含有效运行日志。

1.3. Type‑C 插拔与稳定性测试

测试目的:验证 Type‑C 接口在插拔、晃动等场景下 ADB 连接的稳定性。

测试步骤:

1.单次插拔:插拔数据线 10 次,每次插拔后执行 adb devices。

2.连续插拔:快速插拔 20 次,间隔 1–2 秒。

3.晃动测试:保持连接状态,轻微晃动数据线,观察连接状态。

预期结果:

1.每次插拔均可正常识别设备,无 offline 状态。

2.晃动过程中 ADB 连接不中断,无 IO 错误。

1.4. Type‑C 插拔与稳定性测试

测试目的:验证高负载场景下 Type‑C ADB 功能的稳定性。

测试步骤:

1.大文件传输:推送 1GB 文件至设备,同时执行 adb logcat。

2.多指令并发:同时执行 adb push、adb shell top、adb logcat。

3.长时间连接:保持 ADB 连接 24 小时,每小时执行 adb devices。

预期结果:

1.大文件传输过程中 ADB 不中断,日志抓取正常。

2.多指令并发无卡死或超时,CPU 占用 ≤ 80%。

3.24 小时内连接状态持续为 device,无自动断开。

2.Type-C 转 hub(USB)测试

2.1 设备识别与兼容性测试前置条件:

1.开发板上电正常,系统启动完成

2.Type-C 转 USB Hub 连接正常

操作步骤:

1.将 Type-C 端插入开发板 Type-C 接口

2.将 USB 设备(U 盘、鼠标、键盘)依次插入 Hub 的 USB 口

3.执行命令 lsusb 查看设备列表

4.查看系统日志 dmesg | grep usb

预期结果:

1.所有 USB 设备均能被系统正确识别,lsusb 输出中可见对应设备 ID

2.系统日志无 USB 设备识别失败或报错信息

3.U 盘可正常挂载 / 读写,鼠标 / 键盘可正常响应

2.2 数据传输速率测试

前置条件:

1.同 2.1

2.准备 1GB 测试文件(test.img)

操作步骤:

1.插入 USB3.0 U 盘并挂载到 /mnt/usb

2.执行文件拷贝命令:

dd if=/dev/zero of=/mnt/usb/test.img bs=1M count=1024

3.记录传输耗时,计算速率:速率 = 1024MB / 耗时(秒)

4.反向拷贝回开发板,重复测试 3 次

预期结果:

1.USB3.0 模式下传输速率 ≥ 80MB/s(约 640Mbps)

2.USB2.0 模式下传输速率 ≥ 30MB/s(约 240Mbps)

3.无数据丢失、无传输中断、无文件损坏

2.3 供电能力测试

前置条件:

1.同 3.1

2.准备 2.5 英寸移动硬盘(需 5V/0.5A 以上供电)

操作步骤:

1.将移动硬盘插入 Hub 的 USB 口

2.观察硬盘指示灯是否亮起,执行 lsblk 查看设备节点

3.进行大文件读写操作,持续 10 分钟

4.查看系统日志是否有供电不足或设备掉线信息

预期结果:

1.移动硬盘正常启动,系统可识别并读写

2.长时间读写过程中无设备掉线、无数据损坏

3.系统日志无 over-current 或供电相关报错

2.4. 异常场景测试

1.热插拔测试:在数据传输过程中插拔 USB 设备,验证系统稳定性

2.低电压测试:降低开发板供电电压至 4.5V,验证 USB 设备是否正常工作

3.多设备并发测试:同时插入多个 USB 设备,验证 Hub 负载能力

3.Type-C 转 HDMI/DP 输出测试

3.1 视频输出功能测试

前置条件:

1.开发板上电正常,系统启动完成

2.Type-C 转 HDMI/DP 转接器连接正常,显示器通电

操作步骤:

1.将 Type-C 端插入开发板 Type-C 接口,HDMI/DP 端插入显示器

2.执行显示配置命令(Linux:xrandr;Android:系统设置)

3.切换显示输出到 HDMI,设置分辨率为 1080P@60Hz

4.观察显示器画面,检查是否有花屏、黑屏、闪烁

预期结果:

1.显示器自动点亮,显示开发板桌面 / 画面

2.分辨率、刷新率可正常配置,画面清晰无失真

3.无花屏、无黑屏、无闪烁、无延迟

3.2 音视频同步输出测试

前置条件:

1.同 3.1

2.显示器支持 HDMI/DP 音频输出

操作步骤:

1.播放 1080P 测试视频(带音轨)

2.观察画面流畅度,同时监听显示器扬声器

3.检查音画是否同步,有无杂音、断音

预期结果:

1.视频画面流畅,帧率稳定(≥30fps)

2.音画同步,无延迟、无卡顿

3.声音清晰,无杂音、无断音、无爆音

3.3 热插拔测试

前置条件:

同 3.1

操作步骤:

1.先连接 Type-C 转 HDMI/DP,确认显示正常

2.拔掉 HDMI/DP 端,观察系统反应

3.重新插入 HDMI/DP 端,观察系统反应

4.重复热插拔 10 次,记录每次结果

预期结果:

1.拔掉 HDMI/DP 后,系统自动切回板载显示或黑屏(符合设计预期)

2.重新插入后,显示器自动恢复显示,无需手动配置

3.热插拔过程中无系统崩溃、无驱动报错

3.4. 异常场景测试

1.分辨率切换测试:在 720P/1080P/4K 之间切换,验证显示兼容性

2.长时间播放测试:连续播放视频 24 小时,验证稳定性

3.低分辨率输出测试:设置为 480P,验证向下兼容能力

三、显示与视频接口测试

1.HDMI/DP输出测试

1.规格说明:

接口核心规格关键限制
HDMI 2.1单接口、支持 8K@30Hz/4K@60Hz、HDCP2.3需 HDMI2.1 认证线缆,最大带宽 48Gbps
DP 1.4a(4Lane)单接口、支持 4K@60Hz、HDCP2.34K 可满帧 60Hz

2.分辨率验证(含 8K/4K)

1.显示接口及分辨率列表查询

bash
# 图形界面(X11)- 直观查看支持的分辨率/刷新率/HDCP状态
xrandr --verbose | grep -E "HDMI|DP|3840|7680|HDCP"

2.音频输出测试步骤(命令行操作)

bash
# 步骤1:通过adb连接设备(确保设备已开启调试模式)
adb shell

# 步骤2:推送测试音频文件到设备(电脑端执行)
adb push C:\Users\Administrator\Desktop\test.wav /test.wav

# 步骤3:查看设备音频输出列表(确认card编号对应关系)
aplay -l

# 步骤4:HDMI0音频输出测试
aplay -D plughw:0,0 /test.wav
# 预期现象:HDMI连接的显示设备播放音频

# 步骤5:DP1音频输出测试
aplay -D plughw:4,0 /test.wav
# 预期现象:DP连接的显示设备播放音频

2.HDMI 输入测试


1.测试准备

1.硬件连接:将有效 HDMI 信号源(如笔记本电脑、HDMI 摄像头、机顶盒等)通过标准 HDMI 线连接至开发板的 HDMI IN 接口;

2.信号源配置:确保 HDMI 信号源已开机,且输出分辨率 / 帧率与开发板 HDMI IN 接口兼容(推荐 1920×1080@60Hz,避免非标准分辨率导致识别失败);

3.系统登录:通过 SSH / 串口 / 本地终端登录开发板系统,建议使用具备图形显示权限的用户(如 blueberry)操作。

2.HDMI 输入设备节点查询与验证

1. 查看系统视频设备列表

bash
# 切换到具备图形显示权限的用户(避免权限不足导致设备访问失败)
su - blueberry

# 列出 /dev 目录下所有视频相关设备,确认 HDMI IN 对应的设备节点
ls -la /dev/video*

查询结果:

bash
-rw-rw----  1 root video     4 Dec  2 02:18 /dev/video-dec0
-rw-rw----  1 root video     4 Dec  2 02:18 /dev/video-enc0
crw-rw----+ 1 root video 81, 0 Dec  2 02:18 /dev/video0

2.查询设备详细信息
bash
执行命令:
cat /sys/class/video4linux/video0/name
输出结果: stream_hdmirx
说明: stream_hdmirx 表示这是一个视频流 HDMI 接收设备(hdmirx = HDMI Receiver)

结果分析:

设备节点设备类型功能说明权限 / 设备号
/dev/video0字符设备(c 开头)HDMI 输入视频采集设备(核心)root/video 组可读写;主设备号 81,次设备号 0
/dev/video-dec0普通文件系统视频解码设备root/video 组可读写
/dev/video-enc0普通文件系统视频编码设备root/video 组可读写

3.查询设备驱动信息:
bash
readlink -f /sys/class/video4linux/video0/device/driver

输出结果/sys/bus/platform/drivers/rk_hdmirx说明:设备使用瑞芯微官方 rk_hdmirx 驱动,为 Rockchip 平台 HDMI 输入功能的核心驱动,驱动加载正常。

3.HDMI 输入视频流播放测试

1.执行视频播放命令:


bash
# 切换到具备图形显示权限的用户
su - blueberry

# 配置显示环境变量(指定主屏输出),通过 GStreamer 播放 HDMI 输入视频流
gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink


2. 执行结果验证

bash
Setting pipeline to PAUSED ...       # 管道状态:暂停中
Using mplane plugin for capture      # 采集插件:使用mplane(多平面)模式
Pipeline is live and does not need PREROLL ...  # 管道状态:已激活,无需预滚动
Pipeline is PREROLLED ...            # 管道状态:完成预滚动(数据已就绪)
Setting pipeline to PLAYING ...      # 管道状态:播放中
New clock: GstSystemClock            # 时钟初始化:使用系统时钟同步

输出解读:

每行日志对应 GStreamer 管道的启动流程状态,无报错信息说明:

  1. 视频采集插件(mplane)加载成功;
  2. 管道完成初始化、激活、预滚动,可正常开始视频流传输;
  3. 时钟同步组件(GstSystemClock)正常工作,为视频流提供时间基准。

显示屏效果(如下图):

开发板连接的显示屏弹出视频播放窗口,窗口内实时显示 HDMI 信号源输出的画面(如笔记本桌面、摄像头画面等),画面无花屏、卡顿、黑屏即为测试通过。

4.异常排查说明


异常现象可能原因排查方法
终端提示 “No such device”/dev/video0 节点不存在

1.检查 HDMI IN 驱动是否加载:lsmod grep rk_hdmirx

2.若无输出,重新加载驱动:sudo modprobe rk_hdmirx`
3.重新插拔 HDMI 线,确保接口接触良好

显示屏无播放窗口DISPLAY 环境变量配置错误执行 echo $DISPLAY 确认值为 :0.0,或切换到本地终端执行命令
画面卡顿 / 花屏信号源分辨率不兼容将 HDMI 信号源输出分辨率调整为 1080P@60Hz 后重新测试




3.视频硬解码性能测试

1.测试环境(MPP 视频硬解码设备)

基于 Rockchip MPP(Media Process Platform)框架的硬解码工具信息:

项目详情
工具名称ppvidedec
工具版本1.14.4
依赖库路径/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so
支持编码格式HEVC/H.265、AVC/H.264、VP8、VP9
解码类型硬件加速解码
最大解码能力8K 10-bit 视频解码,支持 8K 60Hz 视频输出
2.测试步骤:
2.1.准备测试视频:
bash
#1.本地测试视频路径:
C:\Users\Administrator\Desktop\test_video\4K_60fps.mp4

# 2.通过 ADB 将视频推送至开发板:
adb push "C:\Users\Administrator\Desktop\boot\4K_60fps.mp4" /tmp/


2.2.执行硬解码测试(以 H.264 格式为例)
bash
# 使用gst-launch-1.0调用 MPP 硬解码工具,验证解码功能:
gst-launch-1.0 filesrc location=/tmp/4K_60fps.mp4 ! \
qtdemux ! \
h264parse ! \
mppvideodec ! \
videoconvert ! \
autovideosink

 2.3.测试验证要点

  • 视频播放状态:需无花屏、绿屏、卡顿等异常现象;
  • 日志信息:终端输出中不得出现decode errorResource not foundpipeline doesn't want to preroll等报错,需呈现正常启动流程(示例如下);
  • 显示效果:执行播放命令后,显示界面应呈现完整、清晰的视频画面(无解码异常导致的画面畸变、色彩失真)。

日志信息正常输出示例(说明)

bash
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Prerolled, waiting for async message to finish...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

#日志逐行说明:
#Setting pipeline to PAUSED ...:GStreamer 管道进入暂停状态,开始初始化音视频解码组件(如 MPP 硬解码器),无报错代表组件加载初始化无异常;
#Pipeline is PREROLLING ...:管道进入预滚动阶段,开始读取视频文件并解析码流,为硬解码做数据准备;
#Pipeline is PREROLLED ...:预滚动完成,视频码流解析成功,RK3566 的 MPP 硬解码单元已获取有效数据;
#Prerolled, waiting for async message to finish...:预滚动完成后等待异步消息确认,是 GStreamer 适配嵌入式设备的正常等待流程,无异常;
#Setting pipeline to PLAYING ...:管道切换至播放状态,硬解码开始输出视频帧至显示设备;
#New clock: GstSystemClock:系统时钟同步完成,音视频时序匹配,无卡顿、音画不同步风险。


(注:配图为视频正常播放时的界面示例,可直观验证画面无畸变、显示正常)

3.开启第二个终端进行cpu占用率监控

 3.1操作步骤

bash
# 操作说明:通过ADB远程执行top命令,查看系统资源占用(取前20行关键信息)
adb shell "top -n1 | head -20"

  3.2系统状态输出示例(终端执行后输出如下,红框为核心监控项)

bash
#
top - 06:01:06 up 17:57,  1 user,  load average: 2.10, 2.61, 2.56
Tasks: 276 total,   2 running, 274 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.8 us,  6.0 sy,  0.0 ni, 90.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3899.3 total,     91.5 free,    822.6 used,   2985.2 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1694.6 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
   1981 root      20   0 4747336 266284 215960 R  50.0   6.7 877:37.20 Xorg
   2456 blueber+  20   0 1839264  74872  56884 S  12.5   1.9  60:46.06 xfwm4
   2513 blueber+  20   0  314400  39220  29936 S  12.5   1.0  44:54.98 xfce4-p+
  38043 root      20   0  529528  23188  11316 S  12.5   0.6   0:13.87 gst-lau+
  38263 root      20   0    9048   3400   2712 R   6.2   0.1   0:00.02 top
      1 root      20   0  165012   9932   7220 S   0.0   0.2   5:17.56 systemd
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.45 kthreadd
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
     10 root      20   0       0      0      0 S   0.0   0.0   0:00.00 rcu_tas+
     11 root      20   0       0      0      0 S   0.0   0.0   0:04.57 ksoftir+

  3.3状态分析

监控项结果说明
CPU 整体负载用户 3.8% + 系统 6.0% + 空闲 90.2%空闲占比超 90%,CPU 资源冗余充足;当前高占比进程为桌面服务(Xorg、xfwm4),属于系统基础负载
内存状态总 3899MB,已用 829MB,可用 2968MB内存剩余充足,无内存不足风险
关键进程 CPU 占比桌面服务(Xorg)占 50%,终端(tilda)占 12.5%若此时运行视频播放进程,需重点关注其 % CPU 值(硬解码生效时通常<10%)
内存占用已用 829MB,缓存占 2864MB内存缓存占比高,系统数据读写效率有保障

 3.4测试结论:视频功能播放正常,无卡顿、花屏现象;CPU 占用率低(硬解码加速生效),系统资源负载符合预期。


四、音频接口测试

本测试针对设备的音频输出接口(含板载 Codec、HDMI),明确各接口的硬件映射关系:

card编号

设备名称

硬件接口

功能说明

0

rockchiphdmi0

HDMI0

第一个HDMI接口音频输出

1

rockchipdp0

DisplayPort0

第 1 路 DP 接口(仅支持视频输出,不支持音频

2

rockchipdp1

DisplayPort1

第 2 路 DP 接口(仅支持视频输出,不支持音频

4

rockchipes8388

ES8388 Codec

板载音频接口(3.5mm 4 节接口,支持:耳机输出、扬声器输出、MIC 输入)

1.测试准备

1.1 工具 / 文件:

  • 测试音频文件:test.wav(推荐格式:16bit、44.1kHz、立体声)

  • 调试工具:

    • 电脑端:adb(需配置环境变量)

    • 设备端:aplay(已预装)

1.2 硬件连接:

  • 测试 HDMI 音频:将 HDMI 线连接至设备的 HDMI 接口与支持音频输出的显示设备(如带音箱的显示器)

  • 测试板载音频:将 3.5mm 耳机插入板载音频接口

1.音频输出功能验证

bash
# 步骤1:通过adb连接设备(确保设备已开启调试模式)
adb shell

# 步骤2:推送测试音频文件到设备(电脑端执行)
adb push C:\Users\Administrator\Desktop\test.wav /test.wav

# 步骤3:查看设备音频输出列表(确认card编号对应关系)
aplay -l

# 步骤4:HDMI0音频输出测试
aplay -D plughw:0,0 /test.wav
# 预期现象:HDMI连接的显示设备播放音频

# 步骤5:板载音频(耳机)输出测试
aplay -D plughw:4,0 /test.wav
# 预期现象:3.5mm耳机播放音频

# 步骤6:硬件功能验证(正弦波测试,排除文件本身问题)
speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2
# 预期现象:耳机输出1000Hz双声道正弦蜂鸣声

测试结果记录

测试项

操作命令

预期结果

HDMI0 音频输出

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

显示设备正常播放音频

板载耳机输出

aplay -D plughw:4,0 /test.wav

耳机正常播放音频

硬件正弦波测试

speaker-test -D hw:4,0 -t sine -f 1000 -c 2 -l 2

耳机输出蜂鸣声

2.音频输入功能验证

1.列出所有音频采集设备

bash
# 查看系统音频设备列表(重点关注“Capture”(输入)设备)
arecord -l

2.典型输出示例

bash
**** List of CAPTURE Hardware Devices ****
card 3: rockchiphdmiin [rockchip,hdmiin], device 0: rockchip,hdmiin i2s-hifi-0 [rockchip,hdmiin i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 4: rockchipes8388 [rockchip-es8388], device 0: dailink-multicodecs ES8323.3-0010-0 [dailink-multicodecs ES8323.3-0010-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

3.结果解析

设备类型关键信息 & 用途状态说明
card 3: rockchiphdmiin
 device 0
HDMI-IN 音频采集卡对应 Rockchip 芯片的 HDMI 输入音频通道
 用于采集 HDMI 信号中的音频流
正常识别(Subdevices: 1/1)
card 4: rockchipes8388
 device 0
板载音频编解码芯片ES8388/ES8323 是低功耗音频 Codec
 用于板载麦克风 / 扬声器的音频采集 / 播放
正常识别(Subdevices: 1/1)

4.录音测试(实时采集+播放)

bash
# 功能:实时采集音频输入(hw:4,0)并输出到音频输出(hw:0,0)
# 参数说明:
# - arecord端:
#   -D hw:4,0:指定音频输入设备(需根据实际`arecord -l`结果调整)
#   -r 48000:采样率48000Hz(适配多数音频设备)
#   -c 2:立体声采集(若MIC为单声道,可改为-c 1)
#   -f s16_le:16位小端音频格式(通用兼容格式)
#   -t raw:以原始格式传输(避免文件编码开销)
# - aplay端:
#   -D hw:0,0:指定音频输出设备(如HDMI/板载扬声器)
#   - 其余参数与arecord保持一致(确保格式匹配)
# - &:后台运行(避免终端阻塞)

arecord -D hw:4,0 -r 48000 -c 2 -f s16_le -t raw | aplay -D hw:0,0 -r 48000 -c 2 -f s16_le -t raw &

测试操作与结果验证

  1. 执行命令:在终端输入上述命令并回车;
  2. 触发音频输入:对着 MIC 说话 / 播放声音;
  3. 验证效果:从音频输出设备(扬声器 / 耳机)能实时听到采集的声音,无杂音、卡顿、延迟(<200ms)即为测试通过;
  4. 停止测试:执行kill %1(后台任务编号)终止实时采集。

*注意事项

  • 若执行报错Device or resource busy:先执行killall arecord aplay关闭占用音频设备的进程,再重新测试;
  • 若无声音:检查-D参数的设备编号(通过arecord -l/aplay -l确认正确的输入 / 输出设备);
  • 若杂音较大:将-c 2改为-c 1(单声道),或调整采样率为44100
  • 系统音频输入通道配置:打开系统声音设置,切换到「Input Devices」(输入设备)标签页,在设备对应的「Port」下拉选项中,选择「Internal Microphone」(内置麦克风),确保音频输入通道已正确启用。

、存储接口测试

1.M.2接口测试

1.硬件信息完整性

  • 接口类型:M.2 Key M PCIe3.0(兼容 B&M Key 扩展卡,支持 PCIe 4x + USB3.0)
  • 硬件安装:将 M.2 SSD 插入开发板 M.2 插槽

2.基础连接有效性

1.设备识别验证

bash
# 查看系统是否识别到M.2 SSD
lsblk

预期结果:输出中显示 SSD 对应的磁盘设备(如nvme0n1)。

2.磁盘信息读取

bash
# 查看M.2 SSD的详细信息(如容量、接口协议)
sudo fdisk -l

预期结果:显示 SSD 的容量、分区表类型(如 GPT),接口协议为PCIe 3.0 x4

3.读写性能测试

bash
# 安装测试工具
sudo apt install hdparm fio

# 测试读取性能
sudo hdparm -tT /dev/nvme0n1  # 替换为实际SSD设备名

# 测试随机读写性能(示例:1GB数据)
fio --name=ssd-test --filename=/dev/nvme0n1 --size=1G --rw=randrw --bs=4k --numjobs=4 --iodepth=64 --runtime=30 --time_based

3.结果判定标准

  • 设备识别:lsblk显示 SSD 设备→识别成功;
  • 接口协议:fdisk -l显示PCIe 3.0 x4→接口匹配;
  • 性能达标:读取速度≥1000MB/s(PCIe3.0 SSD 典型值)→性能正常。

2.SATA接口测试

1.硬件连接说明

通过标准 7Pin SATA3.0 接口连接硬盘,SATA 电源支持 5V 2A 输出

2.硬盘识别与健康状态检测

bash
# 查看硬盘信息及SMART健康状态
fdisk -l

#更新软件源(可选,避免安装失败)
apt update
# 若提示权限不足,先提权(已 root 可跳过)
# sudo apt update

#安装 smartmontools
apt install -y smartmontools

# 注:/dev/sda为实际识别的SATA设备节点,需根据系统显示调整
 smartctl -a /dev/sda  

测试结果验证

1.设备识别状态fdisk -l 输出中需显示 SATA 硬盘的容量、分区等信息;

2.SMART 健康状态smartctl -a 输出中SMART overall-health self-assessment test result项需显示为PASSED(如图中红框标注项)。



六、无线通信模块测试

1.WIFI测试

1.硬件规格符合性

WiFi 型号:AP6275P,支持 WiFi6(IEEE 802.11a/b/g/n/ac/ax MIMO),双发双收。

2.基础连接稳定性

1.启动NetworkManager服务

bash
sudo systemctl start NetworkManager

2.扫描并连接WiFi网络

bash
sudo nmcli dev wifi rescan                 # 重新扫描WiFi网络
sudo nmcli dev wifi list                   # 查看可用WiFi列表(可选)
sudo nmcli dev wifi connect "WiFi名称" password "WiFi密码" ifname wlan1

3.网络连通性测试

bash
ping www.baidu.com

4.示例命令

bash
sudo nmcli dev wifi connect "Hi nova 9 Pro" password "12345678" ifname wlan1

3.Wi-Fi 网络 TCP/UDP 协议性能测试

1.环境准备:

两台测试设备(如开发板 + PC),确保处于同一网络(WiFi / 以太网);

安装 Iperf3


bash
# Debian/Ubuntu
sudo apt install iperf3

2.角色定义:

服务端(Server):接收数据的设备;

客户端(Client):发送数据的设备。

3.TCP 带宽测试(常用)

步骤 1:启动服务端

bash
# 服务端默认监听5201端口
iperf3 -s

步骤 2:客户端发起测试

bash
# 测试TCP带宽(持续10秒,默认)
iperf3 -c [服务端IP]

扩展命令(自定义参数)

bash
# 测试30秒,每2秒输出一次实时数据
iperf3 -c [服务端IP] -t 30 -i 2
# 测试双向带宽(服务端/客户端互传)
iperf3 -c [服务端IP] -d

4.UDP 丢包 / 延迟测试

步骤 1:启动服务端

bash
iperf3 -s

步骤 2:客户端发起测试

bash
# 测试UDP(指定带宽100Mbps)
iperf3 -c [服务端IP] -u -b 100M

5.结果解读(示例)

TCP 测试结果

bash
[  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec  # 实际带宽:943Mbps

UDP测试结果

bash
[  5] local 192.168.1.10 port 5001 connected to 192.168.1.20 port 5201
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  119 MBytes   100 Mbits/sec  0.035 ms  0/85000 (0%)  # 丢包率:0%

 6.常见场景测试

测试目标命令示例
长连接稳定性(1 小时)iperf3 -c [IP] -t 3600
多线程并发测试iperf3 -c [IP] -P 4(4 线程)
限制带宽测试iperf3 -c [IP] -b 500M(限制为 500Mbps)

2.蓝牙连接测试

1.硬件说明

默认适配 AP6275P 蓝牙模块(支持蓝牙 5.2)


2.进入蓝牙命令模式

bash
# 通过adb连接设备
adb shell
# 启动蓝牙控制工具
sudo bluetoothctl

3.扫描并连接蓝牙设备

bash
scan on                      # 开启蓝牙扫描(按Ctrl+C停止扫描)
trust [设备MAC地址]          # 信任目标设备
pair [设备MAC地址]           # 配对目标设备
connect [设备MAC地址]        # 连接目标设备

4.操作示例

bash
# 扫描后,对MAC为7C:B4:37:11:5B:83的设备执行操作
trust 7C:B4:37:11:5B:83
pair 7C:B4:37:11:5B:83
connect 7C:B4:37:11:5B:83

5.测试结果判定

执行connect后,终端输出[CONN] Device 7C:B4:37:11:5B:83 Connected: yes,表示蓝牙连接成功。

3.4G模块测试

验证 4G 模块对应的quectel.service服务的启动、自启配置及网络连通性。

1.检查初始状态

bash
# 查看服务当前状态
systemctl status quectel.service

# 检查开机自启配置
systemctl is-enabled quectel.service

预期结果

服务未运行,开机自启未设置

2.启动服务

bash
# 启动quectel服务
systemctl start quectel.service

# 验证服务状态
systemctl status quectel.service

预期结果

务状态显示为 active (running)

3.设置开机自启

bash
# 配置服务开机自启
systemctl enable quectel.service

# 验证自启配置
systemctl is-enabled quectel.service

预期结果

自启配置返回 enabled

4.重启验证

bash
# 重启设备
reboot

# 重启后检查服务状态
systemctl status quectel.service

预期结果

设备重启后,服务自动运行,状态显示为 active (running)


5.网络连通性测试

bash
# 检查4G模块网络接口(以eth0为例,实际需根据模块接口调整)
ifconfig -a

# 测试网络连通性(ping公网地址)
ping -c 5 8.8.8.8

预期结果

4G网络接口正常获取 IP;

ping 测试成功,返回类似如下结果(无丢包):

bash
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=109 time=60 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=109 time=60 ms

4.SIM卡功能验证

1.测试准备

硬件:已完成测试的 4G 模块、插入目标 4G SIM 卡的设备;

系统:确保quectel.service服务处于active (running)状态。

2.SIM卡网络状态

bash
# 步骤1:查看wwan0接口的链路状态(确认接口是否激活)
ip link show wwan0

# 步骤2:查看wwan0的IP地址信息(确认网络是否获取到地址)
ip addr show wwan0

# 步骤3:测试SIM网络的外部连通性(指定从wwan0接口发起请求)
ping -c 4 -I wwan0 www.baidu.com

3.结果说明

步骤 1 输出中,若wwan0状态为UP,LOWER_UP,表示接口已激活;

步骤 2 输出中,若wwan0存在inet开头的 IP 地址,说明网络已成功分配地址;

步骤 3 若返回64 bytes from xxx.xxx.xxx.xxx,表示 SIM 网络连通正常。


  • 无标签
写评论...