Skip to main content

Rockchip Linux 系统测试操作指南

:::info 文档信息

文档标识:RK-SM-YF-352 · 发布版本:V1.1.3 · 发布日期:2020-12-18 · 页数:17 · 语言:中文

原始文档:Rockchip_User_Guide_Linux_Software_Test_CN.pdf

:::

章节大纲​

  • Rockchip Linux 系统测试操作指南(P1)
    • 功能测试(P4)
      • Buildroot(P4)
        • 图层下移恢复(P4)
        • 后台应用删除(P4)
        • 录像(P4)
        • 录音(P4)
        • Wi-Fi 连接(P5)
        • 音频播放(P5)
        • 系统时间查看/设置(P6)
        • RTC 时钟测试(P6)
        • 屏幕旋转问题(P6)
        • 视频播放(P7)
        • SD 卡升级、启动(P7)
        • 查找文件(P8)
        • 查内存(P8)
        • 查磁盘空间使用情况(P8)
        • U盘/SD卡自动挂载默认路径(P9)
        • 文件拷贝(P9)
      • Debian(P9)
        • 禁止待机(P9)
        • 连接 Wi-Fi(P9)
        • 双屏异显(P9)
        • 双屏异声(P10)
        • 显示屏旋转(P11)
        • U盘自动挂载默认路径(P11)
    • 性能测试(P11)
      • 磁盘读写测试(P11)
        • e读写(P11)
        • U盘读写(P12)
      • 设置性能模式(P12)
      • 查看当前CPU频率(P12)
      • glmark2 跑分(P12)
    • 压力测试(P13)
      • glmark2(P13)
      • reboot test(P14)
      • recovery test(P14)
      • memtester test(P14)
      • stressapptest(P14)
      • cpufreq test(P15)
      • flash stress test(P15)
      • bluetooth test(P15)
      • suspend_resume test(P15)
      • Wi-Fi test(P16)
      • ddr freq scaling test(P16)
      • npu stress test(P16)
      • camera test(P17)
      • video test(P17)

在线预览​

若预览无法显示,请直接下载 PDF 后用本地阅读器打开。


1. 功能测试​

1.1 Buildroot​

1.1.1 图层下移恢复​

当设备触屏无效,串口内可以输入时定为图层下移,可以用如下指令恢复:

/etc/init.d/S50launcher stop (先关闭lanucher)
/etc/init.d/S50launcher start (再开启lanucher)

1.1.2 后台应用删除​

例:删除后台音频 查找在播放的音频

1 ps | grep audio 2 [root@rk3399pro:/]# ps | grep audio 3 569 root 557m S /usr/bin/audioservice 4 1248 root 2412 S grep audio
1 2 3 4ps | grep audio [root@rk3399pro:/]# ps | grep audio 569 root 557m S /usr/bin/audioservice 1248 root 2412 S grep audio

删除后台音频播放: kill 569

1.1.3 录像​

录像:

rkisp_demo --device=/dev/video1 --output=/tmp/isp.yuv --
iqfile=/etc/iqfiles/OV5695.xml

播放录像:

将/tmp/cif.yuv下的文件pull到电脑端: adb pull /tmp/cif.yuv /tmp/cif.yuv ,通过 YUV 工具播放。

1.1.4 录音​

arecord -c 通道 -r 采样频率 –f 采样位数 –d 录音时长 /录音存放路径/录音文件名。通道 ch_tbl="2 4 6 8" 采样频率 fs_tbl="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 176400 192000" 采样位数bits_tbl="S16_LE S24_LE S32_LE" 封装格式=”wmv、wav、mp3 等” 例:

限时录音-录音10秒自动退出并保存:

1 arecord -c 2 -r 44100 -f S16 LE –d 10 /tmp/record.wav _
1arecord -c 2 -r 44100 -f S16 LE –d 10 /tmp/record.wav _

不限时录音-ctrl+c退出即可保存:

1 arecord -c 2 -r 44100 -f S16 LE /tmp/record.wav _
1arecord -c 2 -r 44100 -f S16 LE /tmp/record.wav _

播放录音文件:

1 aplay /tmp/record.wav
1aplay /tmp/record.wav

1.1.5 Wi-Fi 连接​

方法1:

cp data/cfg/wpa_supplicant.conf userdata/
vi /userdata/cfg/wpa_supplicant.conf

添加如下配置项:

1 network={ 2 ssid="WiFi-AP" // Wi-Fi 名字 3 psk="12345678" // Wi-Fi 密码 4 key mgmt=WPA-PSK // 加密方式 _ 5 key mgmt=NONE // 不加密 _ 6 } 7
1 2 3 4 5 6 7network={ ssid="WiFi-AP" // Wi-Fi 名字 psk="12345678" // Wi-Fi 密码 key mgmt=WPA-PSK // 加密方式 _ key mgmt=NONE // 不加密 _ }
重新

并重新连接:wpa_cli reconnect

ping baidu.com

方法2

1 ./usr/sbin/wpa supplicant -D nl80211 -i wlan0 -c /etc/wpa supplicant.conf & _ _ #打开Wi-Fi 2 wpa cli -i wlan0 add network #添加一个网络连接ID号,这里的ID号在第3-6步的时候用到 _ _ 3 wpa cli -i wlan0 set network 0 ssid \"pzb\" #添加要连接的路由器SSID,如:pzb _ _ 4 wpa cli -iwlan0 set network 0 psk \"123456789\" #添加要连接的ap密码,如: _ _ 123456789 5 wpa cli -iwlan0 enable network 0 #这里的0是根据第2步得来的,使该网络ID可以使用 _ _ 6 wpa cli -iwlan0 select network 0 #这里的0是根据第2步得来的,连接该ID _ _ 7 wpa cli -iwlan0 set network 0 psk \"" #(无密码) _ _ 8 ifconfig 以及ping baidu.com #能获取正常IP地址以及能ping通就代表可以上网
1 2 3 4 5 6 7 8./usr/sbin/wpa supplicant -D nl80211 -i wlan0 -c /etc/wpa supplicant.conf & _ _ #打开Wi-Fi wpa cli -i wlan0 add network #添加一个网络连接ID号,这里的ID号在第3-6步的时候用到 _ _ wpa cli -i wlan0 set network 0 ssid \"pzb\" #添加要连接的路由器SSID,如:pzb _ _ wpa cli -iwlan0 set network 0 psk \"123456789\" #添加要连接的ap密码,如: _ _ 123456789 wpa cli -iwlan0 enable network 0 #这里的0是根据第2步得来的,使该网络ID可以使用 _ _ wpa cli -iwlan0 select network 0 #这里的0是根据第2步得来的,连接该ID _ _ wpa cli -iwlan0 set network 0 psk \"" #(无密码) _ _ ifconfig 以及ping baidu.com #能获取正常IP地址以及能ping通就代表可以上网

1.1.6 音频播放​

1 aplay /media/usb0/musicdemo.wmv
1aplay /media/usb0/musicdemo.wmv

1.1.7 系统时间查看/设置​

1 date #查看系统时间 2 date --set='2018-12-24 15:17:42' #设置系统时间 3 hwclock --show #查看硬件时间 4 hwclock --systohc #硬件时间同步显示系统时间
1 2 3 4date #查看系统时间 date --set='2018-12-24 15:17:42' #设置系统时间 hwclock --show #查看硬件时间 hwclock --systohc #硬件时间同步显示系统时间

1.1.8 RTC 时钟测试​

cat /路径/time 用于查看当前状态下或重启后时间是否有变化。 如: RK3399 挖掘机 EVB:

1 cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-001b/rk808-rtc/rtc/rtc0/time
1cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-001b/rk808-rtc/rtc/rtc0/time

PX30 EVB:

1 cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-001b/rk808-rtc/rtc/rtc0/time
1cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-001b/rk808-rtc/rtc/rtc0/time

RK3399Pro EVB:

1 cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-0020/rk808-rtc/rtc/rtc0/time
1cat /sys/devices/platform/ff3c0000.i2c/i2c-0/0-0020/rk808-rtc/rtc/rtc0/time

不同平台对应的time所在节点路径不同,可以通过 find ./ -name time 来查找以上类似节点。

1.1.9 屏幕旋转问题​

在/etc/xdg/weston/weston.ini 配置文件中写入:

1 [output] 2 name=eDP-1 3 transform=90
1 2 3[output] name=eDP-1 transform=90

其中name需要根据实际的情况写入,通过 ls /sys/class/drm 获取:

[root@rk3399:/]# ls /sys/class/drm/
card0 card0-HDMI-A-1 controlD64 version card0-DP-1 card0-eDP-1
renderD128

比如这里用的drm设备是card0-eDP-1,那么name="eDP-1"。

1.1.10 视频播放​

单窗口视频播放:

1 gst-play-1.0 /oem/SampleVideo 1280x720 5mb.mp4 _ _
1gst-play-1.0 /oem/SampleVideo 1280x720 5mb.mp4 _ _

多窗口视频播放:

先找着多窗口的脚本再执行:

cd rockchip_test/video/
sh test_gst_multivideo.sh test #pro,有可能名称不是这个,可能是test_multivideo.sh

停止多窗口:

1 killall videowidget 2 etc/init.d/S50launcher stop 3 etc/init.d/S50launcher start
1 2 3killall videowidget etc/init.d/S50launcher stop etc/init.d/S50launcher start

1.1.11 SD 卡升级、启动​

SD 卡插入 PC 端,在 PC 端执行SD_Firmware_Tool.exe,选择固件升级/SD启动,选择固件- update.img,开始创建。将 SDK 进入maskrom擦除flash后,断电。插入制作好的 SD 卡,将 SDK 上电开机,会自动烧写固件。

1.1.12 查找文件​

1 find ./ -name \*.sh
1find ./ -name \*.sh

1.1.13 查内存​

1 cat /proc/meminfo或 free –h
1cat /proc/meminfo或 free –h

1.1.14 查磁盘空间使用情况​

df -h:

1.1.15 U盘/SD卡自动挂载默认路径​

U盘:/media/usb0/ SD卡:/sdcard/

1.1.16 文件拷贝​

从U盘拷贝文件至机器

1 cp -r /media/usb0/3399-linux/ /userdata
1cp -r /media/usb0/3399-linux/ /userdata

1.2 Debian​

1.2.1 禁止待机​

在Debian终端上输入命令:

1 sudo xset –dpms 2 sudo xset s off 3 xset dpms force off (立即关闭屏幕)
1 2 3sudo xset –dpms sudo xset s off xset dpms force off (立即关闭屏幕)

备注:重启样机后,以上设置就失效。

终端位置:主界面左下角开始-> System Tools -> LXTerminal

1.2.2 连接 Wi-Fi​

在串口输入如下命令:

1 nmcli r wifi on #第1步:开启Wi-Fi 2 nmcli dev wifi #第2步:扫描附近AP 3 #第3步:连接AP 4 nmcli dev wifi connect "DIR-803" password "839919060" ifname wlan0 5 nmcli r wifi off #第4步:关闭Wi-Fi
1 2 3 4 5nmcli r wifi on #第1步:开启Wi-Fi nmcli dev wifi #第2步:扫描附近AP #第3步:连接AP nmcli dev wifi connect "DIR-803" password "839919060" ifname wlan0 nmcli r wifi off #第4步:关闭Wi-Fi

1.2.3 双屏异显​

使用 hdmi-toggle 来确定有几个显示设备,比如下面可以检测到 HDMI-1 和 DP-1 两个设备:xrandr 来设置两个屏幕的关系:

1 su linaro-c "DISPLAY=:0xrandr--outputHDMI-1--aboveDP-1" 其中--above
1su linaro-c "DISPLAY=:0xrandr--outputHDMI-1--aboveDP-1" 其中--above

其中 --above 可以代换成 right-of, left-of, below, same-as, preferred, off 等等。

这样就可以完成双屏异显的功能。

1.2.4 双屏异声​

打开左下角的 Sound&Video---->PulseAudio Volume Control,然后选择歌曲播放,使用哪个声卡播放可以参考如下选择:也可以使用 aplay 来确认声卡和选择声卡播放:

aplay-l

1 rt5640: aplay-Dplughw:0,0/dev/urandom 2 hdmiaudio: aplay-Dplughw:1,0/dev/urandom 3 DPaudio: aplay-Dplughw:2,0/dev/urandom
1 2 3rt5640: aplay-Dplughw:0,0/dev/urandom hdmiaudio: aplay-Dplughw:1,0/dev/urandom DPaudio: aplay-Dplughw:2,0/dev/urandom

打开一个音乐歌曲从主屏拖到副屏,然后在主屏中同样方式选择一个声卡来播放,完成双屏异声功能。

1.2.5 显示屏旋转​

旋转 normal/left/right:

1 vi /etc/X11/xorg.conf.d/20-modesetting.conf
1vi /etc/X11/xorg.conf.d/20-modesetting.conf

可以把normal改为left/right/,reboot后生效。

1.2.6 U盘自动挂载默认路径​

/media/linaro/B4EA-8716

备注:不同U盘名称不同,实际名称为准。

2. 性能测试​

2.1 磁盘读写测试​

测试前先查一下节点: fdisk –l 查看分区可读写的是mmcblk1p9,这个分区容量最大13.5G,其它P1-8的容量比较小,P8的容量3.5G ,在此盘读写后易造成系统损坏,重启机器发现无法开机,所以选择p9。

2.1.1 e读写​

写磁盘:

1 dd if=/dev/zero of=/dev/mmcblk1p9 bs=1M count=2000 oflag=direct,nonblock
1dd if=/dev/zero of=/dev/mmcblk1p9 bs=1M count=2000 oflag=direct,nonblock

读磁盘:

1 dd if=/dev/mmcblk1p9 of=/dev/null bs=1M count=2000 iflag=direct,nonblock
1dd if=/dev/mmcblk1p9 of=/dev/null bs=1M count=2000 iflag=direct,nonblock

2.1.2 U盘读写​

写磁盘:

1 dd if=/dev/zero of=/dev/sda1 bs=1M count=2000 oflag=direct,nonblock
1dd if=/dev/zero of=/dev/sda1 bs=1M count=2000 oflag=direct,nonblock

读磁盘:

dd if=/dev/sda1 of=/dev/null bs=1M count=2000 iflag=direct,nonblock

2.2 设置性能模式​

方法1:

1 echo performance | tee $(find /sys/ -name *governor)
1echo performance | tee $(find /sys/ -name *governor)

方法2:

分别设置小核和大核:

echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor

2.3 查看当前CPU频率​

cat /sys/devices/system/cpu/cpufreq/policy0/scaling_cur_freq
cat /sys/devices/system/cpu/cpufreq/policy4/scaling_cur_freq

2.4 glmark2 跑分​

Buildroot glmark2

显示屏幕跑分:

1 sh /rockchip test/gpu/test glmark2 fullscreen.sh _ _ _
1sh /rockchip test/gpu/test glmark2 fullscreen.sh _ _ _

屏幕不显示跑分:

1 sh /rockchip test/gpu/test glmark2 offscreen.sh _ _ _
1sh /rockchip test/gpu/test glmark2 offscreen.sh _ _ _

Debian glmark2显示屏幕跑分:

cd /usr/local/bin/
sh test_glmark2_fullscreen.sh

屏幕不显示跑分:

cd /usr/local/bin/
sh test_glmark2_offscreen.sh

3. 压力测试​

压力测试列表:

3.1 glmark2​

Buildroot

压力测试表下的脚本无法循环拷机,用指令测试:

1 while true; do /rockchip test/gpu/test glmark2 fullscreen.sh sleep 2; done _ _ _
1while true; do /rockchip test/gpu/test glmark2 fullscreen.sh sleep 2; done _ _ _

Debian

1 while true; do /usr/local/bin/test glmark2 fullscreen.sh sleep 2; done _ _
1while true; do /usr/local/bin/test glmark2 fullscreen.sh sleep 2; done _ _

3.2 reboot test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号10)

退出测试:

1 echo off > /data/cfg/rockchip test/reboot cnt _ _
1echo off > /data/cfg/rockchip test/reboot cnt _ _

3.3 recovery test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号6)退出测试:

1 echo off > /oem/rockchip test/reboot cnt _ _
1echo off > /oem/rockchip test/reboot cnt _ _

3.4 memtester test​

方法1:

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号1)再选择memtester test对应序号(默认memtester 128M)

方法2

直接执行 memtester 300M

注:300MB 是可以根据实际的 DDR 大小设置,例如:100MB、200MB,但是这个值不能大于DDR 的大小。

3.5 stressapptest​

方法1:

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号1)再选择 stressapptest 对应序号(默认48小时)。

方法2:

1 stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _
1stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _

3.6 cpufreq test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号2)再选择 cpu freq stress test 以及 cpu freq test:(with out stress test) 对应序号。

3.7 flash stress test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号3)

3.8 bluetooth test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号4)

3.9 suspend_resume test​

Buildroot

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号7)再选择auto suspend (resume by rtc) 对应序号3开始测试。

Debian

cd /usr/local/bin/

sh test_suspend_resume.sh再选择auto suspend (resume by rtc) 对应序号3开始测试。

3.10 Wi-Fi test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号8)

3.11 ddr freq scaling test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号11)

3.12 npu stress test​

SDK 端串口连接到 NPU 端口:

1 stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _
1stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _

3.13 camera test​

打开压力测试列表:

1 sh rockchip test/rockchip test.sh _ _
1sh rockchip test/rockchip test.sh _ _

开始测试(压力测试列表内选择测试项对应序号13)再选择camera stresstest 对应序号3开始测试。

3.14 video test​

播放放器无法设备循环所有视频播放,用脚本执行。

先把全英文视频文件的视频文件夹及脚本拷入设备内,再执行脚本测试:

1 cp -r /media/usb0/video /userdata 2 cp /media/usb0/video.sh /userdata 3 chmod 777 /userdata/video.sh 4 ./video.sh
1 2 3 4cp -r /media/usb0/video /userdata cp /media/usb0/video.sh /userdata chmod 777 /userdata/video.sh ./video.sh