版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

Sv translation
languageen

Test File Download

uart file download uart
test.wav download :test.wav
UartAssist.exe download:UartAssist.exe

Basic Equipment Information

1. Basic Equipment Information

ItemDetails
Device ModelEDGE-RK3588 Development Board
Hardware VersionV1.2A
System VersionDebian 11 Xfce
Firmware Versionrk3588_edge_v12_debian_xfce_rk7_v1.2 (Neutral Version)
Kernel VersionLinux 5.10

2. Core Hardware Configuration

ItemConfiguration Details
CPU8-core heterogeneous architecture: 4×Cortex-A76 (High-performance Core) + 4×Cortex-A55 (Energy-efficient Core), max main frequency up to 2.4GHz
GPUMali-G610 MP4 Graphics Processor
 Supported standards: OpenGL ES 1.1/2.0/3.2, OpenCL 2.2, Vulkan 1.2
DDR MemoryLPDDR4X, optional capacity: 4GB/8GB/16GB
NPU AI Computing Power6.0 TOPS, supports INT4/INT8/FP16 computing precision
Onboard StorageSupports eMMC 5.1 / SDIO 3.0 interface
 Optional capacity: 16GB/32GB/64GB/128GB

3. Power Supply Parameters

ItemSpecification
DC Power RequirementInput: 12V 2A DC
 Interface: 5.5mm × 2.0mm DC barrel port
 ⚠️ Note: Voltage lower than 12V may cause boot failure
Extended Power SupplyReserved POE power interface, supports external POE module power supply (separate configuration required)

I. Basic Power Supply Test

1. Power Interface Function Verification

  • Verify the compatibility, electrical performance and safety of the device power interface to ensure compliance with power supply parameter requirements.。

2. Test Environment and Tool Adaptability

Tools / EnvironmentSpecifications
DC Power Adapter12V 2A DC (Compatible with 5.5mm×2.0mm interface)
MultimeterSupports voltage and current measurement
POE Module (Optional)Matches reserved POE interface of the device
DUTTarget product (with power interface)

3. Basic Test Procedure Specifications

1. DC Power Interface Compatibility Test

  • Test Steps:

    1.Confirm the DC power adapter is 12V 2A DC with 5.5mm×2.0mm interface size.

    2.Connect the adapter to the device power interface, then check if the device powers on normally.

  • Judgment Standard:

    The power plug can be smoothly inserted and pulled out, and the device starts up normally without any abnormality. 

2. Input Voltage Lower Limit Verification

  • Test Steps:

    1.Adjust the adjustable DC power supply to 11.5V (lower than 12V) and connect it to the device.

    2.Observe whether the device fails to boot or other abnormal conditions occur.

     
  • Judgment Standard:

    The device cannot start normally when the voltage is lower than 12V, which is consistent with the notes of power supply parameters.

3. POE Interface Extended Power Supply Test (Optional) 

  • Test Steps:

    1.Connect the POE module to the reserved POE interface of the device.

    2.Power on the POE module and observe the operating state of the device.

     
  • Judgment Standard:

          The device can be stably powered by the POE module and operates normally.

2.Wired Communication Interface Test 

1.RS232 Serial Port Test

 RS232 corresponding device node: ttyS3 (V1.2 version) / ttyS4 (V1.4 version)

 Test Preparation:

1.Confirm the serial port node

代码块
languageshell
titlebash
# Method 1: List all serial ports
ls -la /dev/ttyS*

# Method 2: Determine by hardware version
# Check board version label or run:
cat /proc/device-tree/model
# If output contains V1.4, use /dev/ttyS4
# If output contains V1.2, use /dev/ttyS3

2.Two-minute Loopback Test

代码块
languageshell
titlebash
# Step 1: Hardware Short Connection (Required)
# Short TX (Pin 2) and RX (Pin 3) of the RS232 interface using a jumper wire

# Step 2: Prepare Test Tool
# Upload the UART test program to the device (if transferring from Windows)
adb push C:\Users\Administrator\Desktop\uart ./

# Step 3: Grant Permissions
chmod 777 ./uart

# Step 4: Execute Test
# Terminal 1: Receive data
cat /dev/ttyS3

# Terminal 2: Send data
./uart /dev/ttyS3
# Enter test text and check the reception result in Terminal 1

Output Example

代码块
languageshell
titlebash
# Terminal 2 Program Output Example:
# fcntl=0
# isatty success!
# fd-open=3
# set done!
# please input:         # Waiting for user input (e.g. 45 3A F7 98)

# Terminal 1 receives the data input from Terminal 2 (e.g. 45 3A F7 98)





2. RS485 Serial Port Test 

  1. Test Purpose
     Verify the bidirectional data communication function of the RS485 serial port (mapped to system device /dev/ttyS0) of the RK3588 device with the UART Assist tool on the computer side, ensuring the availability of the serial port hardware, driver and communication link.
  2. Test Environment

Device / ToolConfiguration Information
RK3588 DeviceSystem: Embedded Linux (e.g. Armbian)
 RS485 Serial Port: /dev/ttyS0 (Baud Rate 115200, 8N1)
PCTool: UART Assist (Serial Debug Assistant)
 Hardware: USB to RS485 Module (e.g. CH340+MAX485)
ConnectionRS485 Wiring: Connect RS485_A of RK3588 to Module A, RS485_B to Module B, Common Ground (GND)

3. Hardware Wiring 

  1. Connect RK3588 RS485 pins to the USB-to-RS485 module:
    • RK3588 RS485_A → Module A
    • RK3588 RS485_B → Module B
    • RK3588 GND → Module GND (Common ground is required to avoid signal interference)
  2. Connect the USB-to-RS485 module to the computer's USB port and install the corresponding driver (e.g. CH340 driver).

4. Test Steps

4.1 PC-side UART Assist Configuration 

  1. Open the UART Assist tool and select the serial port corresponding to the USB-to-RS485 adapter (e.g. COM3);
  2. Configure parameters: Baud rate 115200, Data bits 8, Parity none, Stop bits 1, Flow control none;
  3. Click "Open Serial Port" to confirm a successful connection.

4.2 Unidirectional Transceiver Test (PC → RK3588)

  1. Start serial port reception on the RK3588 side:
代码块
languageshell
titlebash
# Step 1: Prepare Test Tool
# Upload the UART test program to the device (if transferring from Windows)
adb push C:\Users\Administrator\Desktop\uart ./

# Step 2: Grant Permissions
chmod 777 ./uart

# Step 3: Execute Test
# Terminal 1: Receive data
cat /dev/ttyS0

# Terminal 2: Run the command tool to configure correct serial port parameters
./uart /dev/ttyS0

      2.Enter test data (e.g. "RK3588 RS485 Test") in UART Assist on the PC side, and click "Send" (as shown in the figure below);

      3.Observe RK3588 Terminal 1 (as shown in the figure below). If the received test data is displayed, the unidirectional receiving function is normal.

4.3 Unidirectional Transceiver Test (RK3588 → PC)

  1.  Keep UART Assist on the PC side in the "Open" state;
  2. Send test data on the RK3588 side:
代码块
languageshell
titlebash
# Step 1: Prepare Test Tool
# Upload the UART test program to the device (if transferring from Windows)
adb push C:\Users\Administrator\Desktop\uart ./

# Step 2: Grant Permissions
chmod 777 ./uart

# Step 3: Execute Test
# Send data
./uart /dev/ttyS0
# Enter test text (as shown in the figure below)

     

3.Observe UART Assist on the PC side (as shown in the figure below). If the received test data is displayed, the unidirectional transceiver function is normal.

3. USB Interface Test 

1.Device Connection Status Identification 
Use the following commands to confirm whether the device is connected to the system and obtain device node information:

代码块
languageshell
titlebash
# View all block devices and identify the USB device node (e.g. /dev/sda1)
lsblk
# View detailed USB device information, including controller and device ID
lsusb

Result Description: In the output of lsusb, ID 1d6b:0002 stands for USB 2.0 controller, and ID 1d6b:0003 stands for USB 3.0 controller. The corresponding USB version can be judged by the bus where the device is mounted.

2.USB Version Compatibility Test
 Accurately confirm USB version via device speed parameters. USB2.0 corresponds to High-Speed (480Mbps), USB3.0 corresponds to Super-Speed (5000Mbps). Operations are as follows:

1.Check device speed file

代码块
languageshell
titlebash
# Traverse all USB devices and output their transfer speed
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.通过详细信息验证Verify through detailed information

代码块
languageshell
titlebash
# 查看指定USB设备的详细参数,搜索Speed字段 View detailed parameters of specified USB device, filter Speed field
lsusb -v | grep -E "Speed|Device"

 结果说明:输出中 Result description: In the output, Speed: 480Mbit/s 对应 corresponds to USB2.0,0, and Speed: 5000Mbit/s 对应 corresponds to USB3.0。0.

3.

传输性能测试传输速率是

Transmission Performance Test

 Transmission speed is the core difference between USB2.0

and USB3.0

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

. The theoretical speed of USB2.0 is 480Mbps, while that of USB3.0 is 5Gbps. Two commonly used test methods are provided below, applicable to USB storage devices and network USB devices respectively.

1. Simple Test: dd Command

 The dd command can quickly test read and write speeds for preliminary verification. Mount the USB device first before testing.
 
1.1 Mount the USB device:

1. 简易测试:dd 命令

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

 1.1.挂载 USB 设备:

代码块
languageshell
titlebash
# 假设通过lsblk确认USB设备节点为/dev/sda1,创建挂载点并挂载 Assume the USB device node is /dev/sda1 confirmed by lsblk, create mount point and mount
mkdir -p /mnt/usb
mount /dev/sda1 /mnt/usb

 1 1.2 . 试顺序写速率:Test sequential write speed:

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

 1.3.测试顺序读速率:

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

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

代码块
languageshell
titlebash
rm /mnt/usb/testfile

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

2. 专业测试:fio 工具

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

 2.1.安装 fio:

代码块
languageshell
titlebash
# Ubuntu/Debian
sudo apt install fio -y

 2.2.fio测试命令代码块

代码块
languageshell
titlebash
# 顺序写测试
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.显示接口及分辨率列表查询

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

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

代码块
languageshell
titlebash
# 步骤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. 查看系统视频设备列表

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

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

查询结果:

代码块
languageshell
titlebash
-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.查询设备详细信息
代码块
languageshell
titlebash
执行命令:
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.查询设备驱动信息:
代码块
languageshell
titlebash
readlink -f /sys/class/video4linux/video0/device/driver

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

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

1.执行视频播放命令:


代码块
languageshell
titlebash
# 切换到具备图形显示权限的用户
su - blueberry

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


2. 执行结果验证

代码块
languageshell
titlebash
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.准备测试视频:
代码块
languageshell
titlebash
#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 格式为例)
代码块
languageshell
titlebash
# 使用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等报错,需呈现正常启动流程(示例如下);
  • 显示效果:执行播放命令后,显示界面应呈现完整、清晰的视频画面(无解码异常导致的画面畸变、色彩失真)。

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

代码块
languageshell
titlebash
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操作步骤

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

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

代码块
languageshell
titlebash
#
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.音频输出功能验证

代码块
languageshell
titlebash
# 步骤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.列出所有音频采集设备

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

2.典型输出示例

代码块
languageshell
titlebash
**** 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.录音测试(实时采集+播放)

代码块
languageshell
titlebash
# 功能:实时采集音频输入(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.设备识别验证

代码块
languageshell
titlebash
# 查看系统是否识别到M.2 SSD
lsblk

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

2.磁盘信息读取

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

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

3.读写性能测试

代码块
languageshell
titlebash
# 安装测试工具
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.硬盘识别与健康状态检测

代码块
languageshell
titlebash
# 查看硬盘信息及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服务

代码块
languageshell
titlebash
sudo systemctl start NetworkManager

2.扫描并连接WiFi网络

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

3.网络连通性测试

代码块
languageshell
titlebash
ping www.baidu.com

4.示例命令

代码块
languageshell
titlebash
sudo nmcli dev wifi connect "Hi nova 9 Pro" password "12345678" ifname wlan1

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

1.环境准备:

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

安装 Iperf3


代码块
languageshell
titlebash
# Debian/Ubuntu
sudo apt install iperf3

2.角色定义:

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

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

3.TCP 带宽测试(常用)

步骤 1:启动服务端

代码块
languageshell
titlebash
# 服务端默认监听5201端口
iperf3 -s

步骤 2:客户端发起测试

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

扩展命令(自定义参数)

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

4.UDP 丢包 / 延迟测试

步骤 1:启动服务端

代码块
languageshell
titlebash
iperf3 -s

步骤 2:客户端发起测试

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

5.结果解读(示例)

TCP 测试结果

代码块
languageshell
titlebash
[  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测试结果

代码块
languageshell
titlebash
[  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.进入蓝牙命令模式

代码块
languageshell
titlebash
# 通过adb连接设备
adb shell
# 启动蓝牙控制工具
sudo bluetoothctl

3.扫描并连接蓝牙设备

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

4.操作示例

代码块
languageshell
titlebash
# 扫描后,对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.检查初始状态

代码块
languageshell
titlebash
# 查看服务当前状态
systemctl status quectel.service

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

预期结果

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

2.启动服务

代码块
languageshell
titlebash
# 启动quectel服务
systemctl start quectel.service

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

预期结果

务状态显示为 active (running)

3.设置开机自启

代码块
languageshell
titlebash
# 配置服务开机自启
systemctl enable quectel.service

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

预期结果

自启配置返回 enabled

4.重启验证

代码块
languageshell
titlebash
# 重启设备
reboot

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

预期结果

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


5.网络连通性测试

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

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

预期结果

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

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

代码块
languageshell
titlebash
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卡网络状态

代码块
languageshell
titlebash
# 步骤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 网络连通正常。