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)
- Buildroot(P4)
- 性能测试(P11)
- 磁盘读写测试(P11)
- e读写(P11)
- U盘读写(P12)
- 设置性能模式(P12)
- 查看当前CPU频率(P12)
- glmark2 跑分(P12)
- 磁盘读写测试(P11)
- 压力测试(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)
- 功能测试(P4)
在线预览
若预览无法显示,请直接下载 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 4 | ps | 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 _ | |
|---|---|
| 1 | arecord -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 _ | |
|---|---|
| 1 | arecord -c 2 -r 44100 -f S16 LE /tmp/record.wav _ |
播放录音文件:
| 1 aplay /tmp/record.wav | |
|---|---|
| 1 | aplay /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 7 | network={ 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 | |
|---|---|
| 1 | aplay /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 4 | date #查看系统时间 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 | |
|---|---|
| 1 | cat /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 | |
|---|---|
| 1 | cat /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 | |
|---|---|
| 1 | cat /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 _ _ | |
|---|---|
| 1 | gst-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 3 | killall 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 | |
|---|---|
| 1 | find ./ -name \*.sh |
1.1.13 查内存
| 1 cat /proc/meminfo或 free –h | |
|---|---|
| 1 | cat /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 | |
|---|---|
| 1 | cp -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 3 | sudo 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 5 | nmcli 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 | |
|---|---|
| 1 | su 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 3 | rt5640: 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 | |
|---|---|
| 1 | vi /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 | |
|---|---|
| 1 | dd 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 | |
|---|---|
| 1 | dd 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 | |
|---|---|
| 1 | dd 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) | |
|---|---|
| 1 | echo 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 _ _ _ | |
|---|---|
| 1 | sh /rockchip test/gpu/test glmark2 fullscreen.sh _ _ _ |
屏幕不显示跑分:
| 1 sh /rockchip test/gpu/test glmark2 offscreen.sh _ _ _ | |
|---|---|
| 1 | sh /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 _ _ _ | |
|---|---|
| 1 | while 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 _ _ | |
|---|---|
| 1 | while true; do /usr/local/bin/test glmark2 fullscreen.sh sleep 2; done _ _ |
3.2 reboot test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号10)
退出测试:
| 1 echo off > /data/cfg/rockchip test/reboot cnt _ _ | |
|---|---|
| 1 | echo off > /data/cfg/rockchip test/reboot cnt _ _ |
3.3 recovery test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号6)退出测试:
| 1 echo off > /oem/rockchip test/reboot cnt _ _ | |
|---|---|
| 1 | echo off > /oem/rockchip test/reboot cnt _ _ |
3.4 memtester test
方法1:
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh 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 _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号1)再选择 stressapptest 对应序号(默认48小时)。
方法2:
| 1 stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _ | |
|---|---|
| 1 | stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _ |
3.6 cpufreq test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh 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 _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号3)
3.8 bluetooth test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号4)
3.9 suspend_resume test
Buildroot
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh 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 _ _ | |
|---|---|
| 1 | sh rockchip test/rockchip test.sh _ _ |
开始测试(压力测试列表内选择测试项对应序号8)
3.11 ddr freq scaling test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh 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小时自动停止 _ _ | |
|---|---|
| 1 | stressapptest -s 86400 -i 4 -C 4 -W --stop on errors -M 300 #测试24小时自动停止 _ _ |
3.13 camera test
打开压力测试列表:
| 1 sh rockchip test/rockchip test.sh _ _ | |
|---|---|
| 1 | sh 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 4 | cp -r /media/usb0/video /userdata cp /media/usb0/video.sh /userdata chmod 777 /userdata/video.sh ./video.sh |