RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP,内置NPU,支持INT4/INT8/INT16/FP16混合运算能力,支持安卓12和、Debian11、Build root、Ubuntu20和22版本登系统。了解更多信息可点击迅为官网
【粉丝群】824412014
【实验平台】:迅为RK3588开发板
【内容来源】《iTOP-3588开发板快速测试手册》
【全套资料及网盘获取方式】联系淘宝客服加入售后技术支持群内下载
【视频介绍】:【强者之芯】 新一代AIOT高端应用芯片 iTOP -3588人工智能工业AI主板
第四章 Ubuntu系统功能测试
烧写Ubuntu系统镜像,Ubuntu系统镜像在网盘资料"iTOP-3588开发板\01_【iTOP-RK3588开发板】基础资料\06_iTOP-RK3588开发板Linux镜像\03_Ubuntu镜像"目录下,本小节测试Ubuntu系统。
4.1 系统启动
命令行终端显示如下,进入root用户

4.2 系统信息查询
查看内核和 cpu 信息,输入如下命令:
uname -a
查看操作系统信息:
cat /etc/issue
查看环境变量信息:
env

4.3 背光测试
背光的亮度设置范围为(0--255),255 表示亮度最高,0 表示关闭背光亮度。进入系统后在终端输入 如下命令进行背光测试。
输入以下命令查看当前屏幕背光值
cat /sys/class/backlight/backlight/brightness

输入以下命令设置背光熄灭
echo 0 >/sys/class/backlight/backlight/brightness
输入以下命令设置背光亮起
echo 200 >/sys/class/backlight/backlight/brightness

4.4 按键测试
首先给开发板上电,通过调试串口登录到开发板上,如下图所示:

然后在串口终端输入"cat /proc/bus/input/devices"命令,查看Linux系统的输入设备,如下图所示:
从上图可以看到用户按键的事件号是event2,然后在串口终端输入"od -x /dev/input/event2"命令,接下来按下开发板上的按键(VOL+或者VOL-或者HOME或者BACK),可以看到获取到的按键上报数据(十六进制方式),运行结果如下图所示:

4.5 有线网测试
首先准备一个千兆路由器,一根千兆网线,如下图所示,这俩个网口都可以连接外网,将网口通过网线连接到路由器的千兆口。

在串口终端也可以查看IP地址,可以根据自己的需求选择连接的网口并使用命令查看网口的IP,如下图所示:
ifconfig eth1 //查看网口1的IP
ifconfig eth0 //查看网口0的IP


输入以下命令对网口的连通性测试,俩个网口都支持连接外网。
ping -I eth1 -c 10 www.baidu.com
ping -I eth0 -c 10 www.baidu.com
4.6 WiFi测试
iTOP-RK3588开发板里面烧写Ubuntu64位系统,本章节将对此系统进行功能测试。将通过两种方式来连接wifi,分别为可视化界面的方式和命令行的方式。
4.6.1 图形界面连接wifi
ubuntu系统桌面启动后点击右上角的wifi设置,如下图所示连接wifi。

输入密码点击connect连接,如下图所示:
wifi连接好后,打开浏览器,说明联网成功,如下图所示:

4.6.2 命令行连接wifi
iTOP-3588开发板里面烧写64位的Ubuntu系统,系统启动后,如下图所示:

输入以下命令查看网络设备,如下图所示
nmcli dev

输入以下命令开启wifi
nmcli r wifi on

输入以下命令扫描wifi
nmcli dev wifi

输入以下命令连接wifi
nmcli dev wifi connect "wifi名" password "密码"
作者连接公司的wifi,输入以下命令:
nmcli dev wifi connect "2701" password "topeet2015"

然后输入以下命令安装ping工具
apt-get install iputils-ping

输入以下命令发现可以ping通百度,说明WiFi联网成功。
ping www.baidu.com
输入一下命令:nmcli dev 如下图所示,显示WiFi已经连接。

4.7 U盘测试
将U盘插入对应的USB接口之后,ubuntu系统默认没有打印信息,使用"fdisk -l"命令来查看disk设备信息如下图所示:

可以看到的U盘设备为/dev/sda1,然后使用以下命令来对u盘设备进行挂载:
mount /dev/sda1 /mnt/
使用命令查看U盘内的文件信息如下图所示:
使用命令"df -h"命令来查看挂载信息,如下图所示:

可以看到/dev/sda1设备已经挂载到了mnt目录下。至此U盘测试就完成了。
4.8 TF卡测试
将TF卡插入对应的接口之后,ubuntu系统默认没有打印信息,使用"fdisk -l"命令来查看disk设备信息如下图所示:

可以看到TF卡设备为/dev/mmcblk2p1,然后使用以下命令来对TF卡设备进行挂载:
mount /dev/mmcblk2p1 /mnt/
然后使用命令查看U盘内的文件信息如下图所示:

最后使用命令"df -h"命令来查看挂载信息,如下图所示:

可以看到/dev/mmcblk2p1设备已经挂载到了mnt目录下。至此TF卡测试就完成了。
4.9 Linux 485 测试
本章节配套资料在网盘资料" iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\01_485测试配套资料"目录下。
4.9.1 485硬件连接
485电路图如下图所示:
由原理图可知,485使用的串口0,可以通过/dev/ttyS0来控制。接下来使用USB转RS485模块进行测试。USB转RS485模块如下图所示:
由原理图可知,开发板底板上1号引脚是B,2号引脚是A ,4号引脚连接地,然后将 12引脚连接到 USB转RS485模块上,A接A,B接B,如下图所示:

USB转RS485模块的usb端口连接到电脑上。
4.9.2 测试485
默认波特率为115200!
将"iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\01_485测试配套资料"路径下的uarttest.c文件通过TF卡或者U盘的方式拷贝到开发板的opt目录下,拷贝完成如下图所示:

然后使用gcc进行编译
gcc -o uarttest uarttest.c

输入以下命令,开发板发送数据,如下图所示:
./uarttest /dev/ttyS0 send 123456789
电脑端接收到信息,如下图所示:
./uarttest /dev/ttyS0 send 123456789
电脑端接收到信息,如下图所示:

输入以下命令开发板接收数据,如下图所示:
./uarttest /dev/ttyS0 recv

电脑端发送数据,如下图所示:

开发板收到数据,如下图所示:
485测试完毕。
4.10 4G模块测试
配套资料在网盘资料"iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\02_4G模块测试配套资料"目录下。
iTOP-3588开发板上预留了一个 Mini PCIE 的 4G 接口,可以连接迅为提供的 EC20 模块(全网通)。首先准备一个 EC20 4G 模块连接到iTOP-3588开发板的 Mini PCIE 接口上,然后准备一个 4G天线,接到 EC20 模块的天线座上面,然后插入一张能联网的 SIM 卡,如下图所示:

拷贝网盘资料"iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\02_4G模块测试配套资料"目录下的quectel-CM脚本到开发板上,如下图所示:

然后执行以下命令运行连接脚本,如下图所示:
./quectel-CM &

输入命令"ifconfig"会有 wwan0 出现,如下图所示:

然后输入以下命令,ping一下百度的ip,可以看到已经能上网了,如下图所示:
ping www.baidu.com

4.11 can测试
Ubuntu默认是没有can工具的,开发板联网之后,输入以下命令安装can工具。
sudo apt-get update
sudo apt-get install can-utils
这样can测试工具就安装完成了。下面开始测试:
iTOP-3588开发板支持can接口,底板上can接口如下图所示:

本次测试使用了 usbcan 调试分析仪作为测试设备,将 usbcan 调试分析仪通道一的 L连到开发板的 L, 将通道一的 H 连到开发板的 H,如下图所示:

查询当前网络设备,输入以下命令:
ifconfig -a

输入以下命令关闭CAN。
ip link set can0 down

设置 can0 的波特率为 1000000,输入以下命令:
ip link set can0 type can bitrate 1000000 dbitrate 3000000 fd on

打印can0信息,输入以下命令:
ip -details link show can0

打开 can0 通道,输入以下命令:
ip link set can0 up
然后在 PC 端 usbcan 的上位机发送数据如下图所示:
上位机的数据发送后,开发板的终端会收到相应的数据,如下图所示:

接下来将iTOP-3588开发板作为发送端,使用如下命令发送相应的数据:
cansend can0 123#DEADBEEF
然后在 usncan 的 Windows 上位机会返回如下信息:

至此,can功能测试完毕。
4.12 SATA硬盘测试
iTOP-3588开发板使用SATA硬盘时需要用到SATA线和电源线(默认不提供,需要自行准备),注意: 为防止烧坏的情况发生,板子请先断电再接上SATA硬盘。
SATA线如下图所示:
电源线如下图所示:
iTOP-3588开发板连接硬盘如下图所示:

硬件接好后,开发板上电,会产生对应的设备,使用相同的命令进行挂载即可。如果进入了图形界面,系统会对硬盘自动进行挂载。
4.13 M2接口固态硬盘测试
磁盘驱动器的速度是以一个单位时间内读写数据量的多少来衡量的。DD 命令是一个简单的命令行工具,它可用对磁盘进行任意数据块的读取和写入,同时可以度量读取写入的速度。 iTOP-3588 开发板支持 M.2 接口的固态硬盘,这里以爱国者固态硬盘 P2000 为例,启动前将固态硬盘插入 M.2 接口(在开发板的背面),如下图所示:

输入以下命令显示所有的 pci 设备信息。pci 是一种总线,而通过 pci 总线连接的设备就是 pci 设备。
lspci

输入以下命令查看生成的设备节点
ls /dev/nvme0*
输入以下命令挂载固态,将固态硬盘挂载到/nvme/目录下,挂载目录可以随意指定,如下图所示:
mkdir nvme
mount /dev/nvme0n1 nvme/
cd nvme/
ls

挂载完成之后,使用df -h命令如下图所示:
df -h

4.14 HDMI测试
开发板支持HDMI接口,首先准备一个HDMI接口的屏幕,如下图所示:

开发板上的hdmi接口如下图所示,连接上下图中的任意一个HDMI TX接口均可显示:

然后使用购买开发板配套的hdmi线,将这俩接口连接起来,屏幕便可显示。
如果将两个HDMI 接口同时接上屏幕,默认会双屏异显,一个主屏幕一个副屏幕。

4.15 RTC时钟测试
Linux 系统下分为系统时钟和硬件时钟。分别使用 date 和 hwclock 命令查看。系统时钟在系统断电以后会丢失,硬件时钟在有纽扣电池的情况下,系统断电,时钟不会丢失。在系统每次启动的时候,系统时钟会和硬件时钟进行同步。
首先启动开发板,通过调试串口登录到开发板上,如图所示:

查看系统时钟在串口终端输入"date"命令,运行结果如图所示:
查看硬件时钟,在串口输入"hwclock"命令,运行结果如图所示:

也可以使用 date 命令来设置系统时间,例如在串口终端输入命令"date -s "2022-5-11 17:30:00"",就是设置系统时间为 2022 年 5月11号17:30:00,运行结果如图所示:

也可以使用"hwclock -w"命令把当前系统的时间同步到硬件时钟里面,运行结果如图所示:
4.16 UVC摄像头测试
iTOP-rk3588 支持 OV5695 MIPI 摄像头,同时也支持 UVC 摄像头。首先来测试一下UVC 摄像头,将USB 摄像头插入开发板,将自动安装 uvc 驱动。
|-------------------------|
| 摄像头识别检测 |
| v4l2-ctl --list-devices |
由上图可知,查看设备结点,可见/dev/video21和22 为 USB 摄像头结点
|---------------------------------------------|
| 查看摄像头支持的格式 |
| v4l2-ctl --list-formats-ext -d /dev/video21 |

|-----------------------------|
| 摄像头采集格式查询 |
| v4l2-ctl -V -d /dev/video21 |
ubuntu系统默认已经安装了"cheese"摄像头测试软件。在终端输入"cheese"命令打开该工具,就可以显示摄像头的摄像信息了如下图所示:

4.17 OV5695/OV13850摄像头测试
开发板默认支持摄像头接口。摄像头接口是一个20PIN,间距为2.0mm的双排插针,底板提供4个摄像头接口,默认可以使用J1接口,连接的时候需要摄像头朝向缺口处安装。
迅为提供的OV5695摄像头模块如下图所示。


|-------------------------|
| 摄像头识别检测 |
| v4l2-ctl --list-devices |

|---------------------------------------------|
| 查看摄像头支持的格式 |
| v4l2-ctl --list-formats-ext -d /dev/video11 |

|-----------------------------------------------------------------------------------------------------------------------------|
| 摄像头图像预览 |
| gst-launch-1.0 v4l2src device=/dev/video11 ! \video/x-raw,format=NV12,width=800,height=1280,framerate=30/1 ! autovideosink |


4.18看门狗测试
配套资料在网盘资料的"iTOP-3568开发板\02_【iTOP-RK3568开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\04_看门狗测试资料"目录下。
看门狗是嵌入式系统中经常使用的功能,iTOP-3588中看门狗的设备节点为/dev/watchdog设备文件。
在测试之前需要安装Ubuntu系统的编译器gcc,安装命令如下:
apt-get update
apt-get install gcc

安装完成之后,将配套资料里面的watchdog.c文件通过U盘拷贝到开发板上,拷贝完成如下图所示:

然后使用以下命令对watchdog.c进行编译,编译完成如下图所示:
gcc -o watchdog watchdog.c
并赋予权限,如下图所示:

测试程序第一个参数为看门狗设备节点,第二个参数为看门狗重启时间,输入以下命令运行程序。
./watchdog /dev/watchdog 5
程序执行之后,如下图所示,程序会先启动看门狗,然后喂狗,最后停止喂狗,开发板重启。表明看门狗开启喂狗,喂狗重启功能都是正常的。

4.19耳机测试
耳机测试资料在网盘资料"iTOP-3588开发板\02_【iTOP-RK3588开发板】开发资料\09_系统外设功能测试\02_Ubuntu系统测试配套资料\05_耳机测试配套资料"目录下。
iTOP-3588开发板板载耳机接口,如下图所示:

将测试音频通过U盘拷贝到开发板目录下,如下图所示:

然后输入以下命令播放,可以听到耳机里面发出声音。
aplay 1.wav

可以按"ctrl + c"来停止
4.20麦克风测试
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

至此,声卡、麦克风和耳机测试完毕。
4.21喇叭测试
iTOP-3588开发板板载喇叭接口,如下图所示将喇叭接到此接口。

将测试音频通过U盘拷贝到开发板的目录下,如下图所示:

然后输入以下命令播放,可以听到耳机里面发出声音。
aplay 1.wav

可以按"ctrl + c"来停止
4.22 emmc测试
下面简单测试 eMMC 的读写速度,以读写 ext4 文件系统为例。注意:为确保数据准确,请重启开发板后测试读取速度。
dd if=/dev/zero of=/test bs=1M count=500 conv=fsync//写入测试
dd if=/test of=/dev/null bs=1M //读取测试

4.23 蓝牙测试
然后进入到Ubuntu的图形界面中,点击右上角的蓝牙图标,选择Devices选项,对外部蓝牙设备进行连接,如下图所示:


点击Search搜索蓝牙,如下图所示:

右击蓝牙设备选择Connect进行连接,如下图所示:



配对成功之后,手机的显示如下图所示:

在手机中播放一首歌曲,在开发板上连接上耳机,便可以播放音乐。

如果要进行文件传输,需进行以下设置,如下图所示:

如果要进行文件传输,需进行以下设置,如下图所示:

点击Advanced Settings,弹出如下界面,输入密码:topeet

再次点击Advanced Settings,弹出如下界面选择User Privileges,勾选Send and receivefaxs,如下图所示:

配置完就可以进行文件传输了,至此,蓝牙测试完成。
4.24 HDMI IN测试
注:主机不能同时接多个视频线,且不能使用转接头。
将HDMI_RX与电脑端口连接,如下图所示:

HDMI-IN 设备在内核中会被注册为video设备,生成的节点如:/dev/video20,输入以下命令查看hdmiin生成的设备节点:
v4l2-ctl --list-devices

按照下图路径,打开Qt V4L2 test Utility应用:

点击左上角蓝色文件夹图标,选择video20打开,如下图所示:

打开后,点击左上角绿色运行图标即可显示HDMI桌面
桌面显示如图所示:

4.25 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

4.26蜂鸣器测试
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 的占空比来控制蜂鸣器发出声音的大小。
4.27 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/syslog监控输出,如下图所示:

调用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/syslog监控输出,如下图所示:
