第三章 Buildroot系统功能测试
烧写buildroot系统镜像,buildroot系统镜像在网盘资料“iTOP-3588开发板\01_【iTOP-RK3588开发板】基础资料\06_iTOP-RK3588开发板Linux镜像\01_Buildroot镜像”目录下,本小节测试buildroot系统。
3.1系统启动
Buildroot系统启动后,串口如下图所示:
如果连接了屏幕,是可以看到系统桌面的,桌面显示如下图所示,默认已经支持wayland桌面环境及一些QT应用。
3.2多路视频播放测试
多路视频播放器用于测试设备的多路视频播放能力,显示能力以及硬件解码能力,点击启动桌面上的“multivideoplayer”应用会自动循环播放九路视频的demo,
3.3 GPU测试
glmark2是一个用于测试图形处理单元(GPU)性能的开源基准测试工具。它基于OpenGL API,并使用了一系列的渲染场景和特效来评估GPU的性能表现。点击桌面上的“glmark2”应用,启动后将进行GPU测试,
测试完成之后可以在终端得到相应的得分,
3.4系统信息查询
查看内核和 cpu 信息,输入如下命令:
uname -a
查看操作系统信息:
cat /etc/issue
查看环境变量信息:
env
3.5 U盘测试
当插入 U 盘以后,U 盘的格式必须为 FAT32 格式,大小在 32G 以下(底板上 4 个 USB 接口都可以插入U 盘),如下图所示。
方法一:
1 将U盘(U盘的格式必须为FAT32格式,大小在32G以下)插到开发板的usb接口,串口打印信息如下所示,U盘的设备节点是/dev/sda1。U盘的设备节点不是固定的,根据实际情况来查看设备节点。
2 在buildroot系统下,U盘会自动挂载到/mnt/udisk目录下,可以通过“df -h”命令查看挂载路径,
方法二:
Buildroot 支持自动挂载外部存储设备,连接屏幕以后,打开桌面上的“qfm”APP,依次点击“USB Disk”,就会进入U盘挂载目录。U 盘挂载路径:/udisk ,如下图所示:
3.6 TF卡测试
方法一:
1 将TF卡(TF 卡的格式必须为FAT32格式,大小在32G以下)插到开发板的TF 卡插槽,正常情况下串口打印信息如下图所示:
2 默认情况下TF卡挂载到 /mnt/sdcard目录下,输入以下命令查看挂载目录:
df -Th
方法二:
Buildroot 支持自动挂载外部存储设备,连接屏幕,打开桌面上的“qfm”APP,依次点击“SD Card”,进入TF卡挂载路径,如下图所示:
3.7 USB鼠标键盘测试
将USB鼠标和键盘接入iTOP-3588开发板的usb接口,串口终端的打印信息如下图所示:
此时在屏幕上出现箭头光标,鼠标和键盘已可正常使用。
当拔掉usb鼠标和键盘时,串口终端打印如下:
此时屏幕上箭头光标消失,鼠标已成功去除。
3.8 Linux 485 测试
本章节配套资料在网盘资料“ iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\01_buildroot系统测试配套资料\01_485测试配套资料”目录下。
3.8.1 485硬件连接
485电路图如下图所示:
由原理图可知,485使用的串口0,可以通过/dev/ttyS0来控制。接下来使用USB转RS485模块进行测试(需要自行准备)。USB转RS485模块如下图所示:
由原理图可知,开发板底板上1号引脚是B,2号引脚是A ,4号引脚连接地,然后将 1 2引脚连接到 USB转RS485模块上,A接A,B接B,如下图所示:
USB转RS485模块的usb端口连接到电脑上。
3.8.2 测试485
开发板发送数据测试:
注意,默认波特率为115200!
进入到测试例程目录下,如下图所示:
在电脑上打开串口助手,选择对应的串口号和波特率,注意:默认波特率为115200!
打开串口,
输入以下命令运行测试程序发送数据,发送的数据为123456789,数据信息可以自定义
./uarttest /dev/ttyS0 send 123456789
电脑端接收到信息,如下图所示:
输入以下命令开发板接收数据,如下图所示:
./uarttest /dev/ttyS0 recv
电脑端发送数据,如下图所示:
开发板收到数据,如下图所示:
485测试完毕。
3.9 wifi连接测试
方法一
qsetting 是系统设置工具,其中可以设置 WiFi 连接。进入桌面“qsetting”,点击WiFi后,点击右上角开关打开 WiFi ,设备将自动搜索周围WiFi。
点击想要连接的WiFi名,输入密码完成连接,
方法二
除此之外也可以使用命令进行连接wifi。进入到/topeet_test/02_wifi/目录下,
在测试wifi之前,将有线关闭,输入以下命令:
ifconfig eth0 down
ifconfig eth1 down
运行wifi_sta_connect.sh脚本,连接wifi,如下图所示,输入选择连接的wifi名称和密码。
wifi连接好后,ping下百度检查是否链接成功。
ping www.baidu.com
3.10 蓝牙测试
首先烧写buildroot系统,然后使用以下命令运行bluetoothctl交互命令,如下图所示:
bluetoothctl
使用命令power on打开蓝牙,蓝牙默认是关闭的,并且重启系统之后默认也会关闭。输入以下命令:
power on
使用命令agent on选择要连接的设备类型或者去选择一个特定的类型,输入以下命令:
agent on
如果你在agent命令之后按下俩次tab键,可以看到一些可以使用的类型列表,比如DisplayOnly,KeyboardDisplay等等,
使用default-agent 命令去确认并完成要连接的设备类型
default-agent
使用advertise on命令尝试打开BLE广播包,来确认Bluez的BLE模块是否初步正常, 显示如下所示即正常。
然后使用以下命令进行蓝牙扫描,一段时间之后使用第二条命令打印扫描到的设备信息,如下图所示:
scan on
使用devices命令去获得想要去配对的设备MAC地址
devices
使用命令pair MAC_address 去配对设备(使用Tab键可以自动补全MAC地址),作者连接A4:46:B4:D5:95:E6,这里作者已经连接过了。
使用命令 connect MAC_address 去连接设备。作者连接A4:46:B4:D5:95:E6。
使用命令 connect MAC_address 去连接设备。作者连接A4:46:B4:D5:95:E6。
配对成功之后,手机的显示
在手机中播放一首歌曲,在开发板上连接上耳机,便可以播放音乐。
至此,在buildroot系统下的蓝牙测试成功。
3.11 千兆以太网测试
首先准备一个千兆路由器,一根千兆网线,开发板俩个网口都可以连接外网,将网口通过网线连接到路由器的千兆口。
在串口终端也可以查看IP地址,可以根据自己的需求选择连接的网口并使用命令查看网口的IP,如下图所示:
ifconfig eth0 //查看网口0的IP
输入以下命令对网口的连通性测试,俩个网口都支持连接外网。
ping -I eth0 -c 10 www.baidu.com
3.12 4G模块测试
配套资料在网盘资料“iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\01_buildroot系统测试配套资料\02_4G模块测试配套资料”目录下。
iTOP-3588开发板上预留了一个4G /5G接口,可以连接迅为提供的 EM05-CE模块(全网通4G模块)。
首先准备一个 EM05-CE模块连接到iTOP-3588开发板的 PCIE 接口上,然后准备一个 4G天线,接到 EM05-CE模块的天线座上面,然后插入一张能联网的 SIM 卡,如下图所示:
然后进入到/topeet_test/03_4g/目录下,如下图所示:
然后执行以下命令运行连接脚本,如下图所示:
./quectel-CM &
输入命令“ifconfig”会有 wwan0 出现,如下图所示:
然后输入以下命令,ping一下百度的ip,可以看到已经能上网了,如下图所示:
ping -I wwan0 www.baidu.com
如果发现只能 ping 通 IP 不能 ping 通网址,是因为 DNS 没有设置对,在 etc 下有一个文件 resolv.conf。
vi resolv.conf
配置以下为可用的 DNS。
nameserver 8.8.8.8
nameserver 202.99.160.68
nameserver 221.130.33.52
nameserver 221.130.33.60
nameserver 192.168.1.1
nameserver 114.114.114.114
编辑完保存,即可发现可以 ping 通外网。
3.13 can测试
iTOP-3588开发板支持can接口,底板上can接口如下图所示:
本次测试使用了 usbcan 调试分析仪作为测试设备,将 usbcan 调试分析仪通道一的 L 连到开发板的L, 将通道一的 H 连到开发板的H,如下图所示:
输入以下命令,查询当前网络设备,
ifconfig -a
输入以下命令关闭CAN,
ip link set can0 down
输入以下命令,设置 can0 仲裁段1M波特率,数据段3M波特率
ip link set can0 type can bitrate 1000000 dbitrate 3000000 fd on
输入以下命令,打印can0信息,
ip -details link show can0
输入以下命令打开 can0 通道,
ip link set can0 up
自此开发板的基础配置就完成了,然后是模式的选择。 首先将iTOP-3588开发板作为接收端,使用如下命令:
candump can0 &
然后在 PC 端 usbcan 的上位机发送数据
上位机的数据发送后,开发板的终端会收到相应的数据,
接下来将iTOP-3588开发板作为发送端,使用如下命令发送相应的数据:
cansend can0 123#DEADBEEF
然后在 usncan 的 Windows 上位机会返回如下信息:
至此,can功能测试完毕
3.14 SATA硬盘测试
iTOP-3588开发板使用SATA硬盘时需要用到SATA线和电源线(默认不提供,需要自行准备),注意: 为防止烧坏的情况发生,板子请先断电再接上SATA硬盘。
iTOP-3588开发板连接硬盘如下图所示:
硬件接好后,开发板上电,会产生对应的设备,使用相同的命令进行挂载即可。如果进入了图形界面,系统会对硬盘自动进行挂载。
3.15 M2接口固态硬盘测试
磁盘驱动器的速度是以一个单位时间内读写数据量的多少来衡量的。DD 命令是一个简单的命令行工具,它可用对磁盘进行任意数据块的读取和写入,同时可以度量读取写入的速度。将会使用 DD 命令来测试 SSD 磁盘的读取和写入速度。
iTOP-3588开发板支持M.2接口的固态硬盘,这里以爱国者固态硬盘P2000为例,启动前将固态硬盘插入 M.2 接口(在开发板的背面),
pci是一种总线,而通过pci总线连接的设备就是pci设备。PC上常用的设备很多都是采用pci总线,如:网卡、存储等。输入以下命令显示所有的pci设备信息。
lspci
输入以下命令查看生成的设备节点
ls /dev/nvme0*
输入以下命令挂载固态,将固态硬盘挂载到/nvme/目录下,挂载目录可以随意指定,如下图所示:
mkdir nvme
mount /dev/nvme0n1 /nvme/
挂载完,如下图所示:
3.16 HDMI测试
开发板支持HDMI接口,首先准备一个HDMI接口的屏幕,如下图所示:
开发板上的hdmi接口如下图所示,连接上下图中的任意一个HDMI TX接口均可显示:
然后使用购买开发板配套的hdmi线,将这俩接口连接起来,屏幕便可显示。
如果将两个HDMI 接口同时接上屏幕,默认会双屏同显。
3.17 按键测试
首先启动开发板,通过调试串口登录到开发板上,
然后在串口终端输入“cat /proc/bus/input/devices”命令,查看Linux系统的输入设备,
从上图可以看到用户按键的事件号是event2(如果有接触摸屏,用户按键的事件号有可能会是event3),然后在串口终端输入“od -x /dev/input/event2”命令,接着按下开发板上的按键(VOL+或者VOL-或者HOME或者BACK),可以看到获取到的按键上报数据(十六进制方式),
3.18 RTC时钟测试
Linux系统下分为系统时钟和硬件时钟。分别使用 date 和 hwclock 命令查看。系统时钟在系统断电以后会丢失,硬件时钟在有纽扣电池的情况下,系统断电,时钟不会丢失。在系统每次启动的时候,系统时钟会和硬件时钟进行同步。
首先启动开发板,通过调试串口登录到开发板上,
查看系统时钟在串口终端输入“date”命令,
查看硬件时钟,在串口输入“hwclock -u”命令查看硬件时钟,
也可以使用 date 命令来设置系统时间,例如置系统时间为2022 年 3月4号12:30:00,在串口终端输入命令“date -s "2022-3-04 12:30:00"”,
然后使用“hwclock --systohc -u”命令把当前系统的时间同步到硬件时钟里面,然后使用“hwclock -u”命令查看硬件时钟。
3.19 UVC 摄像头测试
iTOP-rk3588 支持 OV5695 MIPI 摄像头,同时也支持 UVC 摄像头。首先来测试一下UVC 摄像头,将USB 摄像头插入开发板,将自动安装 uvc 驱动。
摄像头识别检测
v4l2-ctl --list-devices
由上图可知,/dev/video21和22 为 USB 摄像头节点
查看摄像头支持的格式
v4l2-ctl --list-formats-ext -d /dev/video20
摄像头采集格式查询
v4l2-ctl -V -d /dev/video20
终端输入“qcamera”,应用启动后将自动显示摄行头拍摄画面,
3.20 OV5695/OV13850摄像头测试
开发板默认支持摄像头接口。摄像头接口是一个20PIN,间距为2.0mm的双排插针,底板提供4个摄像头接口,默认可以使用J1接口,连接的时候需要摄像头朝向缺口处安装。
迅为提供的OV5695摄像头模块
摄像头识别检测
v4l2-ctl --list-devices
由上图可知,/dev/video11 为 USB 摄像头节点
查看摄像头支持的格式
v4l2-ctl --list-formats-ext -d /dev/video11
摄像头采集格式查询
v4l2-ctl -V -d /dev/video11
摄像头图像预览
gst-launch-1.0 v4l2src device=/dev/video11 ! \video/x-raw,format=NV12,width=800,height=1280,framerate=30/1 ! autovideosink
也可以点击桌面上的“qcamera”应用对摄像头进行预览,启动后将自动显示摄行头拍摄画面,
3.21 看门狗测试
看门狗是嵌入式系统中经常使用的功能,iTOP-3588中看门狗的设备节点为/dev/watchdog。
首先来到/topeet_test/04_watchdog目录下,在该目录中存放了看门狗的测试程序,
测试程序第一个参数为看门狗设备节点,第二个参数为看门狗重启时间,输入以下命令运行程序。
./watchdog /dev/watchdog 5
程序执行之后,程序会先启动看门狗,然后喂狗,最后停止喂狗,开发板重启。表明看门狗开启喂狗,喂狗重启功能都是正常的。
3.22 耳机测试
iTOP-3588开发板板载耳机接口,
测试音频存放路径为/topeet_test/05_headphone/,
输入以下命令播放,可以听到耳机里面发出声音。
aplay 1.wav
3.23 麦克风测试
iTOP-3588开发板板载麦克风接口,如下图所示,将麦克风连接到此接口。
输入以下命令开始录音,录音时间为10秒钟,保存为“test.wav”。
arecord -d 10 -f cd -r 44100 -c 2 -t wav test.wav
参数解析
-d 指定录音的时长,单位时秒
-f 指定录音格式
-r 指定了采样率,单位时Hz
-c 指定channel 个数
-t 指定生成的文件格式
使用以下命令用耳机播放刚刚录制的声音,耳机会传来刚刚录制的声音。
aplay test.wav
至此,声卡、麦克风和耳机测试完毕。
3.24 喇叭测试
iTOP-3588开发板板载喇叭接口,如下图所示,将喇叭接到此接口。
测试音频仍旧使用/topeet_test/05_headphone目录下的1.wav,
然后输入以下命令播放,可以听到喇叭里面发出声音。
aplay 1.wav
3.25 屏幕背光调节
背光的亮度设置范围为(0--255),255表示亮度最高,0表示关闭背光亮度。进入系统后在终端输入如下命令进行背光测试。以下的测试命令适用于迅为的MIPI 7寸屏幕,LVDS7寸屏幕,LVDS10.1寸屏幕。
查看当前屏幕背光值
cat /sys/class/backlight/backlight/brightness
背光熄灭
echo 0 >/sys/class/backlight/backlight/brightness
3.26 EMMC测试
下面简单测试 eMMC 的读写速度,以读写 ext4 文件系统为例。注意:为确保数据准确,请重启开发板后测试读取速度。
dd if=/dev/zero of=/test bs=1M count=500 conv=fsync//写入测试
dd if=/test of=/dev/null bs=1000M //读取测试
3.27 HDMI IN测试
注:主机不能同时接多个视频线,且不能使用转接头。
将HDMI_RX与电脑端口连接,如下图所示:
HDMI-IN 设备在内核中会被注册为video设备,生成的节点如:/dev/video20,输入以下命令查看hdmiin生成的设备节点:
v4l2-ctl --list-devices
打开桌面的Qt V4L2 test Utility应用,点击左上角蓝色文件夹图标,选择video20打开,
选择打开后,点击左上角绿色箭头图标即可开始运行,
运行后,即可显示HDMI桌面。
3.28 NPU查询
查询NPU驱动版本
cat /sys/kernel/debug/rknpu/driver_version
查询NPU利用率
cat /sys/kernel/debug/rknpu/load
查询NPU电源状态
cat /sys/kernel/debug/rknpu/power
打开/关闭NPU电源
echo on > /sys/kernel/debug/rknpu/power
echo off > /sys/kernel/debug/rknpu/power
3.29蜂鸣器测试
PWM 提供了用户层的接口,在 /sys/class/pwm/ 节点下面,PWM 驱动加载成功后,会在 /sys/class/pwm/ 目录下产生 pwmchipX 目录,
设备树中打开了3个 PWM,系统会将已经打开的 PWM 按照 PWM 编号顺序放置在/sys/class/pwm 目录,此处 pwmchip0 对应的是 PWM1,pwmchip1 对应 PWM12,pwmchip2 对应 PWM15,其中蜂鸣器使用的是PWM15 ,我们进入到 pwmchip2 目录,
使用以下命令测试蜂鸣器:
echo 0 > /sys/class/pwm/pwmchip2/export
echo 366300 > /sys/class/pwm/pwmchip2/pwm0/period
echo 260000 > /sys/class/pwm/pwmchip2/pwm0/duty_cycle
echo 1 > /sys/class/pwm/pwmchip2/pwm0/enable //开启
echo 0 > /sys/class/pwm/pwmchip2/pwm0/enable //关闭
修改第二句和第三句命令中的参数以修改 pwm 的占空比来控制蜂鸣器发出声音的大小。
3.30 mpp测试
调用mpi_dec_test,解码视频,将h264转为yuv,如下图所示:
mpi_dec_test -i /oem/200frames_count.h264 -t 7 -n 250 -o /test.yuv -w 640 -h 480
使用命令tail -f /var/log/messages监控输出,
调用mpi_enc_test,编码视频,将yuv转为h264,
mpi_enc_test -i /test.yuv -t 7 -n 250 -o /test.h264 -w 640 -h 480 -fps 25
使用命令tail -f /var/log/messages监控输出,
全部0条评论
快来发表一下你的评论吧 !