此文档用于用户快速使用或测试主板外设接口。
SDK - 下文指代源码路径
console - 下文指代主板调试命令行控制台
ADB - Android Debug Bridge命令行工具,下文指代可运行ADB的环境
WIFI
WIFIRK356x系列开发板 配备RTL8822CS高性能WIFI模块
支持2.4G/5G双频段,WIFI5,2T2R
图形界面配置WIFI
命令连接WIFI
Copy $ sudo nmcli dev wifi connect "you_WIFI_name" password "WiFi_password" ifname wlan0
you_WIFI_name : 你要连接的WiFi名称
WiFi_password :你要连接的WiFi密码
Copy $ ls /etc/NetworkManager/system-connections
wifi_oranth_5G.nmconnection
取消对应WiFi自动连接,例如WiFi:wifi_oranth_5G
Copy $ sudo rm -rf /etc/NetworkManager/system-connections/wifi_oranth_5G.nmconnection
蓝牙
RK356x系列的开发板配备了 RTL8822CS 高性能蓝牙模块。下面介绍的是蓝牙的测试方法
Android
Android系统一般通过图形化界面测试
打开系统设置
查看连接设备,选择设配新的设备
等扫描结果出来后,会出现扫描到的设置
点击你要连接的设备,出现下面提示开始适配连接
两边设备都选择连接后,便可连接成功
Linux
1.点击蓝牙图标
2.打开蓝牙Devices
点击扫描设备
先点击信任设备,然后鼠标右键打开菜单,再点击配对,右上角会有配对的弹窗,点击允许配对
配对成功后
连接成功后,设备的右边会有连接的标志,正常关机后,你下次开机的时候会自动连接你的设备, 如果你连接的是蓝牙耳机,你可以打开音乐播放。
命令行一般使用bluetoothctl工具,下面举例怎么连使用bluetoothctl连接蓝牙耳机
进入bluetoothctl命令行
进入bluetoothctl命令行后,类似:[bluetooth]#
Controller代表arm板上的蓝牙设备,Device代表连接蓝牙耳机
按如下步骤初始化蓝牙设备,并连接蓝牙耳机
查看帮组
Copy power on
agent on
default-agent
启动扫描
假如蓝牙耳机地址为:00:11:22:33:44:55
Copy trust 00:11:22:33:44:55
配对
Copy pair 00:11:22:33:44:55
连接
Copy connect 00:11:22:33:44:55
查看蓝牙耳机信息
Copy info 00:11:22:33:44:55
断开连接
Copy disconnect 00:11:22:33:44:55
不想自动连接上蓝牙耳机,可以删除配对信息
Copy 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
测试结果:
若没特殊需求,建议使用Fat32格式分区
RTC
K1开发板配备HYM8563 RTC芯片,可实现掉电保存时间功能
硬件接线
测试RTC功能 必须外接纽扣电池,并且确认电池电量充足
掉电保存时间测试
测试步骤:
MIPI CAMERA
K1开发板支持单路MIPI CSI 4Lane 摄像头接口,最多可接两路摄像头
K3开发板支持双路MIPI CSI 4Lane 摄像头接口,最多可接四路摄像头
硬件接线
排线要求
引脚数40Pin、排线方向为反向
建议使用随屏附赠排线,否则有可能会导致屏幕损坏
任何FPC接口外设插拔前,必须保证板卡完全断电
cheese 预览
命令行输入
命令行执行启动cheese程序后,直接显示相机图像
Ubuntu目前存在ISP库问题,预览效果会很差很暗。
Debian gst-launch-1.0预览图像
Debian文件系统 内置gst-launch-1.0测试脚本
Copy /rockchip-test/camera/camera_rkisp_test.sh
根据连接摄像头数量不同,会导致/dev/video节点编号偏移,使脚本不能打开正确的摄像头
此时可修改脚本指定正确的video编号,device=/dev/video-camera0
HDMI in
K8 支持一路HDMI输入,目前驱动代码中EDID支持的分辨率包括:
Copy 3840x2160P60、3840x2160P50、3840x2160P30、3840x2160P25、3840x2160P24、
1920x1080P60、1920x1080P50、1920x1080P30、1920x1080i60、1920x1080i50、
1600x900P60、1440x900P60、1280x800P60、
1280x720P60、1280x720P50、1024x768P60、
720x576P50、720x480P60、720x576i50、720x480i60、
800x600P60、640x480P60
支持输入的格式包括:
Copy RGB888、YUV420、YUV422、YUV444
GPU
GPU使⽤率
Copy $ cat /sys/devices/platform/*gpu/utilisation
移动鼠标或窗口或进行GPU测试,可以查看GPU使⽤率来确定硬加速是否有⽤起来
Debian GLmark2性能测试
RK Linux文件系统内置glmark2-es性能测试工具
板卡连接显示设备,打开虚拟终端 或 调试串口终端,执行以下命令开始GPU性能测试
Copy $ source /rockchip-test/gpu/test_fullscreen_glmark2.sh
# 终端打印最终测试成绩分数
=======================================================
glmark2 Score: 471
=======================================================
外接显示屏可查看GPU渲染图形(得分约49),调试串口可查看GPU渲染日志(得分约203)
根据GPU性能差异,大概需要等待10分钟左右可完成性能测试
K8 测试结果
Copy $ source /rockchip-test/gpu/test_fullscreen_glmark2.sh
=======================================================
glmark2 Score: 676
=======================================================
接入HDMI_OUT0,测试结果为 676
NPU
RK3568 配备0.8T算力NPU单元
查看NPU使用情况
Copy $ watch cat /sys/kernel/debug/rknpu/load
$ cat /sys/kernel/debug/rknpu/load
Debian 图像分类
打开虚拟终端 或 调试串口终端,执行以下命令开始NPU功能测试
Copy $ 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
Copy $ 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 目标检测
检测数据流 可从摄像头 或 视频文件获取
检测结果直接输出到显示屏上,所以需要连接显示屏才能看到结果
Copy $ source /rockchip-test/npu2/rknn_yolov5_demo_Linux.sh
MPP
Rockchip MPP提供mpi_enc_test、mpi_dec_test等测试工具
可直接命令行调用MPI进行硬件编解码测试
硬编码测试
Copy $ mpi_enc_test -w 4096 -h 2160 -t 7 -o ./test.h264 -n 100
Copy $ mpi_enc_test -w 4096 -h 2160 -t 16777220 -o ./test.h265 -n 100
参数解析:
mpi_enc_test MPP编码测试工具
-w 4096 -h 2160 指定编码视频分辨率为4096x2160
-t 16777220 指定编码类型为H.265
-o ./test.h265 指定编码内容输出文件
-n 100 指定编码帧数
硬解码测试
Copy $ mpi_dec_test -t 7 -i test.h264 -n 100
Copy $ mpi_dec_test -t 16777220 -i test.h265 -n 100
K8 编解码测试结果
Copy 编码 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
chromium视频测试
板卡连接显示设备,打开虚拟终端 或 调试串口终端,执行以下命令开始chromium视频测试
Copy $ source /rockchip-test/chromium/test_chromium_with_video.sh
ADC
RK3568 配备8路ADC,K1开发板引出ADC3通道到扩展引脚座
读取ADC3值
Copy $ cat /sys/bus/iio/devices/iio\:device0/in_voltage3_raw
WatchDog
RK3568配备一路看门狗,上电默认开启开门狗,内核线程自动喂狗
用户层配置手动喂狗
可用以下命令修改为用户层手动喂狗,并且每44秒必须重复执行以下命令喂狗,否则系统重启
Copy $ echo A > /dev/watchdog
FAN
风扇供电电压为5V,连接方式如下图所示
4G通讯模块
目前适配支持 Quecte EC20、Quecte EC200M-CN 型号模块、
MiniPCIE接口的USB_4G模块
测试方法:
只要USB_4G模块 、天线、SIM卡都正常装配,系统开机会自动检测,获取IP。
UART接口的uART_4G模块
UART模块的需要手动执行连接脚本
Copy $ sudo /etc/ppp/peers/quectel-pppd.sh /dev/ttyS4
/dev/ttyS4(UART4):使用的UART口
喇叭
Linux 播放测试
alsa工具
Linux 系统一般可以通过alsa工具控制声卡配置以及音频播放,目前Linux系统软件已内置相关工具。
如无相关工具,可执行下列命令进行安装
Copy $ sudo apt install alsa-utils
安装后 aplay 、arecord 、amixer 等命令可使用
工具使用说明
Copy $ 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 即可查看对应命令的使用说明
列举查看声卡
Copy $ 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
查看声卡控制配置列表
Copy $ 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'
...
获取声卡指定配置
Copy $ amixer cget -c 1 name='Speaker Switch'
numid=39,iface=MIXER,name='Speaker Switch'
; type=BOOLEAN,access=rw------,values=1
: values=on
设置声卡指定配置
Copy $ amixer sget -c 1 numid=39,iface=MIXER,name='Speaker Switch' 1
喇叭播放测试
Copy $ 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 声卡
耳机播放测试
Copy $ 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录音测试
Copy $ 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录音测试
Copy $ 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 to SSD测试
以太网
适用平台:全平台
Android系统
连接上可以正常使用的网线,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命令如下:
Copy # microcom -s 115200 /dev/ttyAS3
接收的内容会打印出来,发送的内容无打印
Linux系统
可以安装 使用minicom验证:
安装minicom
Copy $ sudo apt update
$ sudo apt install minicom
接收的内容会打印出来,发送的内容无打印
Copy # minicom -b 115200 -D /dev/ttyAS3
crt+A 进入控制 B-Z命令 Z为help
如果退出后串口被不正常占用:
Serial port setup >> F Hardware Flow Control 关掉 >> Save setup as dfl 保存 >> Exit from Minicom 退出
或者使用echo直接发送
Copy # stty -F /dev/ttyAS3 -a //可以看默认波特率
# stty -F /dev/ttyAS3 115200 //可以设置
# echo "123" > /dev/ttyAS3