03-功能测试
此文档用于用户快速使用或测试主板外设接口。
SDK - 下文指代源码路径
console - 下文指代主板调试命令行控制台
ADB - Android Debug Bridge命令行工具,下文指代可运行ADB的环境
WIFI
WIFIRK356x系列开发板 配备RTL8822CS高性能WIFI模块
支持2.4G/5G双频段,WIFI5,2T2R

图形界面配置WIFI

命令连接WIFI
扫描WiFi
$ sudo nmcli device wifi rescan
查看扫描到的WiFi网络
$ sudo nmcli device wifi list
连接命令
$ sudo nmcli dev wifi connect "you_WIFI_name" password "WiFi_password" ifname wlan0
you_WIFI_name : 你要连接的WiFi名称
WiFi_password :你要连接的WiFi密码
连接后WiFi的信息在这个目录下:
$ ls /etc/NetworkManager/system-connections
wifi_oranth_5G.nmconnection
取消对应WiFi自动连接,例如WiFi:wifi_oranth_5G
$ sudo rm -rf /etc/NetworkManager/system-connections/wifi_oranth_5G.nmconnection
蓝牙
RK356x系列的开发板配备了 RTL8822CS 高性能蓝牙模块。下面介绍的是蓝牙的测试方法
Android
Android系统一般通过图形化界面测试
打开系统设置

查看连接设备,选择设配新的设备

等扫描结果出来后,会出现扫描到的设备

点击你要连接的设备,出现下面提示开始适配连接

两边设备都选择连接后,便可连接成功

Linux
图像化界面测试
1.点击蓝牙图标
2.打开蓝牙Devices

点击扫描设备

先点击信任设备,然后鼠标右键打开菜单,再点击配对,右上角会有配对的弹窗,点击允许配对

配对成功后

连接成功后,设备的右边会有连接的标志,正常关机后,你下次开机的时候会自动连接你的设备, 如果你连接的是蓝牙耳机,你可以打开音乐播放。
命令行测试
命令行一般使用bluetoothctl工具,下面举例怎么连使用bluetoothctl连接蓝牙耳机
进入bluetoothctl命令行
bluetoothctl
进入bluetoothctl命令行后,类似:[bluetooth]#
Controller代表arm板上的蓝牙设备,Device代表连接蓝牙耳机
按如下步骤初始化蓝牙设备,并连接蓝牙耳机
查看帮组
help
power on
agent on
default-agent
启动扫描
scan on
假如蓝牙耳机地址为:00:11:22:33:44:55
trust 00:11:22:33:44:55
配对
pair 00:11:22:33:44:55
连接
connect 00:11:22:33:44:55
查看蓝牙耳机信息
info 00:11:22:33:44:55
断开连接
disconnect 00:11:22:33:44:55
不想自动连接上蓝牙耳机,可以删除配对信息
remove 00:11:22:33:44:55
更多关于命令行蓝牙连接,可参考 https://blog.csdn.net/chenjk10/article/details/90317028
SATA硬盘
K1开发板 配备一路SATA3.0 硬盘接口
硬件接线
SATA硬盘接线 分为硬盘供电接口、硬盘数据接口
特别注意:SATA硬盘供电接口是PH2.0端子,需要另外购买PH2.0端子转SATA电源线
电源部分包含5V、12V,必须确认线序正确后方可接入硬盘,否则会烧坏硬盘
保持开发板断电状态,接入硬盘后上电开机,Android/Linux会自动挂载硬盘分区
特别注意:硬盘尽量提前做好分区,并且分区格式

M.2 SSD
K1开发板 配备一路PCIE3.0 M.2 SSD硬盘接口
Android系统 仅支持 NTFS
或 Fat32
格式分区
建议提前格式化固态硬盘,并且创建支持格式分区
若SSD分区非系统支持格式的话,也可按照系统提示,进行分区格式化,默认格式化为Fat32
硬件接线
M.2接口支持当下主流2280规格硬盘,并且配备固定螺柱
确保开发板断电状态,接入硬盘后上电开机

性能测试
测试SSD型号:三星PM981 256G
测试结果:
K1 Android13.0
243 MB/s
604 MB/s
K1 Debian11
若没特殊需求,建议使用Fat32格式分区
RTC
K1开发板配备HYM8563 RTC芯片,可实现掉电保存时间功能
硬件接线
测试RTC功能 必须外接纽扣电池,并且确认电池电量充足

掉电保存时间测试
测试步骤:
开发板连接网络,自动同步正确网络时间
断开网络连接,并且断开开发板供电电源
等待若干时间后,重新接上开发板电源
若系统时间与当前时间一致,则RTC功能正常
MIPI CAMERA
K1开发板支持单路MIPI CSI 4Lane 摄像头接口,最多可接两路摄像头
K1B开发板支持单路MIPI CSI 4Lane 摄像头接口,最多可接两路摄像头
K3开发板支持双路MIPI CSI 4Lane 摄像头接口,最多可接四路摄像头
硬件接线
K1、K3均接口为立式的抽拉式上接FPC接口
K1B 在板子背面为 翻盖式下接FPC接口

排线要求
引脚数40Pin、排线方向为反向
建议使用随屏附赠排线,否则有可能会导致屏幕损坏
任何FPC接口外设插拔前,必须保证板卡完全断电
cheese 预览
命令行输入
$ export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu/:$LD_LIBRARY_PATH
$ cheese
命令行执行启动cheese程序后,直接显示相机图像
Ubuntu目前存在ISP库问题,预览效果会很差很暗。

Debian gst-launch-1.0预览图像
Debian文件系统 内置gst-launch-1.0测试脚本
/rockchip-test/camera/camera_rkisp_test.sh
根据连接摄像头数量不同,会导致/dev/video节点编号偏移,使脚本不能打开正确的摄像头
此时可修改脚本指定正确的video编号,device=/dev/video-camera0
保存视频流文件参考命令:
gst-launch-1.0 \
v4l2src device=/dev/video-camera0 ! \
video/x-raw,format=NV12,width=640,height=480,framerate=30/1 ! \
videoconvert ! \
mpph264enc ! \
h264parse ! \
mp4mux ! \
filesink location=output.mp4 -e
HDMI in
K8 支持一路HDMI输入,目前驱动代码中EDID支持的分辨率包括:
3840x2160P60、3840x2160P50、3840x2160P30、3840x2160P25、3840x2160P24、
1920x1080P60、1920x1080P50、1920x1080P30、1920x1080i60、1920x1080i50、
1600x900P60、1440x900P60、1280x800P60、
1280x720P60、1280x720P50、1024x768P60、
720x576P50、720x480P60、720x576i50、720x480i60、
800x600P60、640x480P60
支持输入的格式包括:
RGB888、YUV420、YUV422、YUV444
GPU
GPU使⽤率
$ cat /sys/devices/platform/*gpu/utilisation
移动鼠标或窗口或进行GPU测试,可以查看GPU使⽤率来确定硬加速是否有⽤起来
Debian GLmark2性能测试
RK Linux文件系统内置glmark2-es性能测试工具
板卡连接显示设备,打开虚拟终端 或 调试串口终端,执行以下命令开始GPU性能测试
$ source /rockchip-test/gpu/test_fullscreen_glmark2.sh
# 终端打印最终测试成绩分数
=======================================================
glmark2 Score: 471
=======================================================
外接显示屏可查看GPU渲染图形(得分约49),调试串口可查看GPU渲染日志(得分约203)
根据GPU性能差异,大概需要等待10分钟左右可完成性能测试
K8 测试结果
$ source /rockchip-test/gpu/test_fullscreen_glmark2.sh
=======================================================
glmark2 Score: 676
=======================================================
接入HDMI_OUT0,测试结果为 676
NPU
RK3568 配备0.8T算力NPU单元
查看NPU使用情况
$ watch cat /sys/kernel/debug/rknpu/load
$ cat /sys/kernel/debug/rknpu/load
Debian 图像分类
打开虚拟终端 或 调试串口终端,执行以下命令开始NPU功能测试
$ source /rockchip-test/npu2/npu_stress_test.sh
rknn_api/rknnrt version: 1.4.0 (a10f100eb@2022-09-09T09:07:14), driver version: 0.8.2
model input num: 1, output num: 1
input tensors:
index=0, name=input, n_dims=4, dims=[1, 224, 224, 3], n_elems=150528, size=150528, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=0, scale=0.007812
output tensors:
index=0, name=MobilenetV1/Predictions/Reshape_1, n_dims=2, dims=[1, 1001, 0, 0], n_elems=1001, size=1001, fmt=UNDEFINED, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003906
custom string:
Begin perf ...
0: Elapse Time = 4.95ms, FPS = 201.82
1: Elapse Time = 4.84ms, FPS = 206.61
2: Elapse Time = 4.86ms, FPS = 205.85
3: Elapse Time = 4.79ms, FPS = 208.68
4: Elapse Time = 4.82ms, FPS = 207.47
5: Elapse Time = 4.82ms, FPS = 207.25
6: Elapse Time = 4.81ms, FPS = 207.77
7: Elapse Time = 4.82ms, FPS = 207.25
8: Elapse Time = 4.82ms, FPS = 207.34
9: Elapse Time = 4.82ms, FPS = 207.60
---- Top5 ----
0.984375 - 156
0.007812 - 155
0.003906 - 205
0.000000 - 0
0.000000 - 1
在
Begin perf...
后的内容展示了模型多次运行的性能数据:
每次记录了运行的序号以及对应的耗时(
Elapse Time
)和每秒处理帧数(FPS
)。例如,0: Elapse Time = 2.85ms, FPS = 351.12
表示第 1 次运行模型推理时,总共花费了 2.85 毫秒的时间,由此计算出每秒可以处理 351.12 帧的数据(FPS 的计算方式就是 1000 除以每次的耗时,单位换算后得到每秒的帧数)。
---- Top5 ----
部分呈现了模型推理输出结果中概率排名前 5 的类别及其对应的概率值和类别编号:
0.935059 - 156
表示模型认为输入的数据(比如可能是一张图像)最有可能属于编号为 156 的类别,其对应的概率高达 0.935059,这个概率值相对较高,说明模型对该判断有比较高的置信度。后续的
0.057037 - 155
、0.003881 - 205
、0.003119 - 284
、0.000172 - 285
分别列出了概率排名第 2 到第 5 的类别编号及其概率值,这些概率值依次递减,表明模型对它们属于相应类别判断的把握程度也逐渐降低。
K8 NPU 压力测试结果
接入HDMI_OUT0
$ source /rockchip-test/npu2/npu_stress_test.sh
...
Begin perf ...
0: Elapse Time = 2.32ms, FPS = 431.97
1: Elapse Time = 2.29ms, FPS = 437.64
2: Elapse Time = 2.22ms, FPS = 450.05
3: Elapse Time = 2.17ms, FPS = 461.47
4: Elapse Time = 2.10ms, FPS = 475.51
5: Elapse Time = 2.15ms, FPS = 464.25
6: Elapse Time = 2.08ms, FPS = 481.70
7: Elapse Time = 2.09ms, FPS = 478.24
8: Elapse Time = 2.09ms, FPS = 479.62
9: Elapse Time = 2.20ms, FPS = 454.13
---- Top5 ----
0.984375 - 156
0.007812 - 155
...
从打印信息可知平均每秒处理 450 帧的数据
Debian 目标检测
检测数据流 可从摄像头 或 视频文件获取
检测结果直接输出到显示屏上,所以需要连接显示屏才能看到结果
$ source /rockchip-test/npu2/rknn_yolov5_demo_Linux.sh
MPP
Debian / Ubuntu (RK3562-K3 Ubuntu系统无法使用)
Rockchip 提供了 MPP 相关工具进行使用
硬编码测试
mpi_enc_test
usage: mpi_enc_test [options]
-i input_file input frame file
-o output_file output encoded bitstream file
-w width the width of input picture
-h height the height of input picture
-hstride hor_stride the horizontal stride of input picture
-vstride ver_stride the vertical stride of input picture
-f format the format of input picture
-t type output stream coding type
-tsrc source type input file source coding type
-n max frame number max encoding frame number
-g gop reference mode gop_mode:gop_len:vi_len
-rc rate control mode set rc_mode, 0:vbr 1:cbr 2:fixqp 3:avbr
-bps bps target:min:max set tareget:min:max bps
-fps in/output fps set input and output frame rate
-qc quality control set qp_init:min:max:min_i:max_i
-fqc frm quality control set fqp min_i:max_i:min_p:max_p
-s instance_nb number of instances
-v trace option q - quiet f - show fps
-l loop count loop encoding times for each frame
-ini ini file encoder extra ini config file
-slt slt file slt verify data file
-sm scene mode scene_mode, 0:default 1:ipc
编码H.264 4096x2160 100帧测试
console$ mpi_enc_test -w 4096 -h 2160 -t 7 -o ./test.h264 -n 100
查看结果
$ tail -f /var/log/syslog
kickpi mpp[3557]: mpi_enc_test: chn 0 encode 100 frames time 3763 ms delay 27 ms fps 26.57 bps 10605252
编码H.265 4096x2160 100帧测试
console$ mpi_enc_test -w 4096 -h 2160 -t 16777220 -o ./test.h265 -n 100
查看结果
$ tail -f /var/log/syslog
kickpi mpp[3560]: mpi_enc_test: chn 0 encode 100 frames time 4086 ms delay 36 ms fps 24.47 bps 19594276
K8 编解码测试结果
编码 H.264 4096x2160 100帧测试 fps 44.65
编码 H.265 4096x2160 100帧测试 fps 45.53
解码 H.264 4096x2160 100帧测试 fps 206.22
解码 H.265 4096x2160 100帧测试 fps 386.86
硬解码测试
mpi_dec_test
usage: mpi_dec_test [options]
-i input_file input bitstream file
-o output_file output decoded frame file
-w width the width of input bitstream
-h height the height of input bitstream
-t type input stream coding type
-f format output frame format type
-n frame_number max output frame number
-s instance_nb number of instances
-v trace option q - quiet f - show fps
-slt slt file slt verify data file
-help help show help
-bufmode buffer mode hi - half internal (default) i -internal e - external
解码H.264 4096x2160 100帧测试
console$ mpi_dec_test -t 7 -i test.h264 -n 100
查看结果
$ tail -f /var/log/syslog
kickpi mpp[3564]: mpi_dec_test: decode 100 frames time 596 ms delay 25 ms fps 167.53
解码H.265 4096x2160 100帧测试
console$ mpi_dec_test -t 16777220 -i test.h265 -n 100
查看结果
$ tail -f /var/log/syslog
kickpi mpp[3569]: mpi_dec_test: decode 100 frames time 803 ms delay 49 ms fps 124.47
chromium视频测试
板卡连接显示设备,打开虚拟终端 或 调试串口终端,执行以下命令开始 chromium 视频测试
console$ source /rockchip-test/chromium/test_chromium_with_video.sh
ubuntu 中 rockchip chromium 和 gstreamer 配置硬解码存在兼容性问题!
默认配置 chromium 进行调用,若chromium未调用硬解码,需要以下命令进行修复
console$ source /rockchip-test/chromium/chromium_mpp_fix.sh
配置后,默认 chromium 可调用硬解码
gstreamer视频测试
sudo GST_DEBUG=2 gst-launch-1.0 playbin uri=file:///usr/local/test.mp4 video-sink="autovideosink" audio-sink=fakesink
如果有mpp调⽤的字样,说明硬件解码成功调用。
ubuntu 中 rockchip chromium 和 gstreamer 配置硬解码存在兼容性问题!
默认配置 chromium 进行调用,若需要 gstreamer 调用硬解码,需要以下命令进行修复
console$ source /rockchip-test/gstreamer/gstreamer_mpp_fix.sh
此命令需要联网,保证'apt update'成功
配置后,默认 gstreamer 可调用硬解码
WatchDog
RK3568配备一路看门狗,上电默认开启开门狗,内核线程自动喂狗
用户层配置手动喂狗
可用以下命令修改为用户层手动喂狗,并且每44秒必须重复执行以下命令喂狗,否则系统重启
$ echo A > /dev/watchdog
FAN
风扇供电电压为5V,连接方式如下图所示

风扇开机就自动启动,开关控制节点及命令如下:
开启风扇:
$ echo 1 > /sys/class/leds/fan/brightness
关闭风扇:
$ echo 0 > /sys/class/leds/fan/brightness
4G通讯模块
目前适配支持 Quecte EC20、Quecte EC200M-CN 型号模块、
MiniPCIE接口的USB_4G模块

测试方法:
只要USB_4G模块 、天线、SIM卡都正常装配,系统开机会自动检测,获取IP。
UART接口的uART_4G模块

UART模块的需要手动执行连接脚本
$ sudo /etc/ppp/peers/quectel-pppd.sh /dev/ttyS4
/dev/ttyS4(UART4):使用的UART口

喇叭

Linux 播放测试
alsa工具
Linux 系统一般可以通过alsa工具控制声卡配置以及音频播放,目前Linux系统软件已内置相关工具。
如无相关工具,可执行下列命令进行安装
$ sudo apt install alsa-utils
安装后 aplay 、arecord 、amixer 等命令可使用
工具使用说明
$ amixer -h
Usage: amixer <options> [command]
Available options:
-h,--help this help
...
$ aplay -h
Usage: aplay [OPTION]... [FILE]...
-h, --help help
--version print current version
-l, --list-devices list all soundcards and digital audio devices
...
$ arecord -h
Usage: arecord [OPTION]... [FILE]...
-h, --help help
--version print current version
-l, --list-devices list all soundcards and digital audio devices
-L, --list-pcms list device names
...
使用命令 -h 即可查看对应命令的使用说明
列举查看声卡
$ cat /proc/asound/cards
0 [rockchiphdmiin ]: rockchip_hdmiin - rockchip,hdmiin
rockchip,hdmiin
1 [rockchipes8388 ]: rockchip-es8388 - rockchip-es8388
rockchip-es8388
2 [rockchiphdmi0 ]: rockchip-hdmi0 - rockchip-hdmi0
rockchip-hdmi0
3 [rockchiphdmi1 ]: rockchip-hdmi1 - rockchip-hdmi1
rockchip-hdmi1
喇叭声卡为 es8388,即声卡1
查看声卡控制配置列表
$ amixer -c 1
Simple mixer control 'Headphone',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Speaker',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
...
$ amixer controls -c 1
numid=36,iface=CARD,name='Headphone Jack'
numid=37,iface=CARD,name='Headset Mic Jack'
numid=38,iface=MIXER,name='Headphone Switch'
numid=31,iface=MIXER,name='PCM Volume'
...
获取声卡指定配置
$ amixer cget -c 1 name='Speaker Switch'
numid=39,iface=MIXER,name='Speaker Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
设置声卡指定配置
$ amixer sget -c 1 numid=39,iface=MIXER,name='Speaker Switch' 1
喇叭播放测试
$ amixer cset -c 1 name='Speaker Switch' 1
$ amixer cset -c 1 name='Output 2 Playback Volume' 20 20
$ amixer cset -c 1 name='Right Mixer Right Playback Switch' 1
$ amixer cset -c 1 name='Left Mixer Left Playback Switch' 1
$ aplay -D hw:1,0 1.wav
amixer 配置适用于 es8388 声卡
耳机播放测试
$ amixer cset -c 1 name='Headphone Switch' 1
$ amixer cset -c 1 name='Output 1 Playback Volume' 20 20
$ aplay -D hw:1,0 1.wav
amixer 配置适用于 es8388 声卡
麦克风
Linux 录音测试
MIC录音测试
$ amixer cset -c 1 numid=25,iface=MIXER,name='Capture Digital Volume' 192 192
$ amixer cset -c 1 numid=26,iface=MIXER,name='Capture Mute' 0
$ amixer cset -c 1 numid=27,iface=MIXER,name='Left Channel Capture Volume' 3
$ amixer cset -c 1 numid=28,iface=MIXER,name='Right Channel Capture Volume' 3
$ amixer cset -c 1 numid=42,iface=MIXER,name='Left PGA Mux' 2
$ amixer cset -c 1 numid=43,iface=MIXER,name='Right PGA Mux' 2
$ amixer cset -c 1 numid=44,iface=MIXER,name='Differential Mux' 1
$ arecord -D hw:1,0 a.wav -r 48000 -f S16_LE -d 5 -c 2
amixer 配置适用于 es8388 声卡
Headset MIC录音测试
$ amixer cset -c 1 numid=25,iface=MIXER,name='Capture Digital Volume' 192 192
$ amixer cset -c 1 numid=26,iface=MIXER,name='Capture Mute' 0
$ amixer cset -c 1 numid=27,iface=MIXER,name='Left Channel Capture Volume' 3
$ amixer cset -c 1 numid=28,iface=MIXER,name='Right Channel Capture Volume' 3
$ amixer cset -c 1 numid=42,iface=MIXER,name='Left PGA Mux' 2
$ amixer cset -c 1 numid=43,iface=MIXER,name='Right PGA Mux' 2
$ amixer cset -c 1 numid=44,iface=MIXER,name='Differential Mux' 0
$ arecord -D hw:1,0 a.wav -r 48000 -f S16_LE -d 5 -c 2
amixer 配置适用于 es8388 声卡
PCI-E
适用平台:KICKPI-K8 RK3588 Android/Linux
目前仅有RK3588支持一路4Lane PCIE3.0接口,理论传输速率可达3.938GB/s
标准PCI-E扩展口可外接市面上通用的PCIE USB扩展卡、PCIE 以太网扩展卡、PCIE SSD扩展卡
PCIE to USB 3.0测试
硬件接线(PCIE X1模块)

软件测试
PCIE to SSD测试
硬件接线(PCIE X4模块)

软件测试
以太网
适用平台:全平台
Android系统
以太网默认均为自动获取IP(DHCP)
**注意:**双网口的以太网(DHCP)因为优先级原因,会互相抢占,因此只会一个有效果
连接上可以正常使用的网线,Android系统界面会出现有线网络标志

浏览器访问网页正常

Linux系统
KEY测试
Android系统
点击"loader"按钮,Android系统中配置为”音量+“,显示画面右侧出现音量进度条
点击"power"按钮,系统休眠/唤醒
点击"复位"按钮,板子断电上电,重新开机
UART转RS485/RS232模块
接线方式
RS485模块(3.3V/5V 供电均可):

4PIN端连接板子UART口接线方式为(上下对应):
主板: RX TX GND VCC
模块:RXD TXD GND VCC
3PIN端连接RS485设备,接线方式为(上下对应):
模块: A GND B
RS485 设备: A GND B
RS232模块(3.3V/5V 供电均可):

4PIN端连接板子UART口,接线方式为(上下对应):
主板: TX RX GND VCC 模块:RXD TXD GND VCC
3PIN端连接RS232设备,接线方式为(上下对应):
模块: RXD GND TXD
RS232 设备: TXD GND RXD
测试方式:
Android
可以使用串口APP 或 命令行使用microcom验证:
microcom命令如下:
# microcom -s 115200 /dev/ttyAS3
接收的内容会打印出来,发送的内容无打印
Linux系统
可以安装 使用minicom验证:
安装minicom
$ sudo apt update
$ sudo apt install minicom
接收的内容会打印出来,发送的内容无打印
# minicom -b 115200 -D /dev/ttyAS3
crt+A 进入控制 B-Z命令 Z为help
Ctrl+A W
启用/禁用自动换行,默认禁用
Ctrl+A E
启用/禁用输入显示,默认禁用
Ctrl+A C
清屏
如果退出后串口被不正常占用:
$ minicom -s
Serial port setup >> F Hardware Flow Control 关掉 >> Save setup as dfl 保存 >> Exit from Minicom 退出
或者使用echo直接发送
# stty -F /dev/ttyAS3 -a //可以看默认波特率
# stty -F /dev/ttyAS3 115200 //可以设置
# echo "123" > /dev/ttyAS3
常见问题
Linux网络链接密钥问题
连接WiFi时,提示authentication-required-an-application-wants-access-to-the-keyring-default-key
image-20250226113656533 原因:第一次连wifi时会产生的keyring,这时Keyring的密码设置为空,才会避免以后的问题。 解决办法:已经出现可以手动删除目录中的密钥环文件。
~/.local/share/keyrings
Last updated