MYZR-IMX8M-EK300 Linux-4.14.98 测试手册

测试环境

【开发板型号】:MYZR-IMX8M-EK300
【内核版本】:Linux-4.14.98
【文件系统】:fsl-image-validation-myimx8m.tar.bz2
【工具版本】:UUU-MYIMX8M-L4.14.98
说明: 为保证测试无误,需要使用的烧录工具版本应不低于20190903

接口标识图

1800px-IMX8MEK300-interface.jpg

网口测试(ETH1)

【测试说明】:采用开发板向PC发送ICMP报文的方式进行测试
【接口标识】:Ethernet
【接口丝印】:J16
【系统接口】:eth0

测试操作

配置电脑有线网卡IP为 192.168.137.99。
用网线连接开发板的ETH1和电脑。
配置开发板网口:
=====> 输入指令:
ifconfig eth0 192.168.137.81
测试ETH1(eth0):
=====> 输入指令:
ping 192.168.137.99 -c 2 -w 4

=====> 输出信息:
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.685 ms
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.374 ms

--- 192.168.137.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.374/0.529/0.685/0.157 ms

测试结果

“0% packet loss”表示测试通过。

USB测试

【测试说明】:采用插拔USB存储设备(U盘)的方式进行测试
【接口标识】:USB3.0/USB2.0
【接口丝印】:J18

测试方法

将USB设备插入底板USB接口,系统输出类似如下信息。
=====> 输出信息:
usb 1-1.1: new high-speed USB device number 3 using xhci-hcd
usb-storage 1-1.1:1.0: USB Mass Storage device detected
scsi host0: usb-storage 1-1.1:1.0
scsi 0:0:0:0: Direct-Access     Generic  STORAGE DEVICE   1402 PQ: 0 ANSI: 6
sd 0:0:0:0: [sda] 7774208 512-byte logical blocks: (3.98 GB/3.71 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn\'t support DPO or FUA
 sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
将USB设备从底板拔出。
=====> 输出信息:
usb 1-1.1: USB disconnect, device number 3

测试结果

USB存储设备插入时可查看到sda1设备。

SD接口测试

【测试说明】:采用插入并识别TF卡的方式进行测试
【接口标识】:MicroSD
【接口丝印】:J9

测试方法

为开发板断电,把TF卡安装到SD接口。
=====> 输入指令:
dmesg | grep -E "mmc1|mmcblk1"

=====> 输出信息:
mmc1: SDHCI controller on 30b50000.usdhc [30b50000.usdhc] using ADMA
mmc1: host does not support reading read-only switch, assuming write-enable
mmc1: new high speed SDHC card at address 1234
mmcblk1: mmc1:1234 SA04G 3.71 GiB
 mmcblk1: p1

测试结果

SD存储设备插拔时系统输出如上类似信息即表示正常。

标准 GPIO 测试

【测试说明】:控制GPIO的输出电平
【接口标识】:NAND/SAI/S/PDIF/PCIe/I2C/GPIO
【接口丝印】:J12
【系统接口】:/sys/class/gpio/

GPIO输出低电平测试

配置 J12:70 为输出低电平的操作方法:
=====> 输入指令:
OUT_IO_OUT_NUM=4
echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction
echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
用万用表测试管脚J12:70,电压为0V,则表示OK

GPIO输出高电平测试

配置 J12:70 为输出高电平的操作方法:
=====> 输入指令:
echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
用万用表测试管脚J12:70,电压为3.3V,则表示OK

GPIO输入测试

控制 GPIO 为输入低电平方法:杜邦线连接J12:70和地脚
=====> 输入指令:
echo "in" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction
cat /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
控制 GPIO 为输入高电平方法:杜邦线连接J12:70和J12:49脚:
=====> 输入指令:
cat /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
可看到对应的电平分别为0和1

CPU温度测试

【测试说明】:查看CPU温度
【接口标识】:无
【系统设备】:/sys/class/thermal/thermal_zone0/temp

测试操作

  1. 输入命令

=====> 输入指令:
echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]
=====> 输出信息:
53

测试结果

53表示CPU的温度为53°

音频播放测试

【测试说明】:通过播放音频文件验证评估板的音频播放功能。
【接口标识】:HP
【接口位置】:P1
【系统设备】:wm8524-audio

测试操作

把耳机插入开发板的“HP”口。
执行测试指令:
=====> 输入指令:
aplay /unit_tests/ASRC/audio8k16S.wav

=====> 输出信息:
Playing WAVE '/unit_tests/ASRC/audio8k16S.wav' : Signed 16 bit Little
Endian, Rate 8000 Hz, Stereo

测试结果

执行上面的测试命令后会听到音频设备输出的声音。

HDMI显示测试

【测试说明】:通过连接HDMI显示屏观察开发板显示功能。
【接口标识】:HDMI
【接口位置】:J12
【系统设备】:/dev/fb0

测试操作

为开发板断电,用HDMI线连接HDMI显示器和开发板,并为HDMI显示屏供电。
建议使用HDMI接口的显示屏,而不是其它接口转HDMI的。
建议使用1920x1080分辨率的HDMI显示屏。

测试结果

U-Boot启动阶段可以看到U-Boot Logo;
内核启动阶段可以看到内核Logo;
文件系统启动阶段可以看到OpenEmbedded Logo;
系统启动完成后可以看到一个简单的GUI。

mipi与HDMI的转换

进入u-boot控制台
输入setenv fdt_file myimx8mek300-8mq-hdmi.dtb
saveenv保存设置,重新启动即可切换到HDMI显示。
进入u-boot控制台
输入setenv fdt_file myimx8mek300-8mq.dtb
saveenv保存设置,重新启动即可切换到mipi显示。

WIFI模块(AP6354)测试

【测试说明】:WIFI连接到AP后,开发板向外网发送ICMP报文来验证连接正常。
【接口标识】:WIFI&BT,WIFI_ANT
【接口丝印】:U3,ANT1/ANT2/ANT3 【系统设备】:wlan0

测试操作

  1. 确定“WIFI+BT”标识处有贴上模块,否则无需进行测试。

  2. 把WIFI天线连接到“WIFI_ANT”标识的接口上。

  3. 生成 SSID 的 WPA PSK 文件

命令格式: wpa_passphrase <ssid> [passphrase]
=====> 输入指令:
wpa_passphrase MY-TEST-AP myzr2012 > /etc/wpa_supplicant.conf
pkill wpa_supplicant
  1. 连接

=====> 输入指令:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

=====> 输出信息:
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
ioctl[SIOCSIWAP]: Operation not permitted
  1. 获取 IP

=====> 输入指令:
udhcpc -i wlan0

=====> 输出信息:
udhcpc (v1.23.2) started
Sending discover...
Sending select for 192.168.43.99...
Lease of 192.168.43.99 obtained, lease time 3600
/etc/udhcpc.d/50default: Adding DNS 192.168.43.1
  1. 测试连接

=====> 输入指令:
ping -I wlan0 www.baidu.com -c 2 -w 4

=====> 输出信息:
PING www.baidu.com (14.215.177.38): 56 data bytes
64 bytes from 14.215.177.38: seq=0 ttl=49 time=15.753 ms
64 bytes from 14.215.177.38: seq=1 ttl=49 time=11.835 ms

--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 11.835/13.794/15.753 ms

测试结果

“0% packet loss”表示WIFI连接正常。

蓝牙测试(AP6354)

【测试说明】:扫描到蓝牙设备后,发送L2CAP回应请求并接收回答。
【接口标识】:WIFI+BT,BL_ANT
【接口丝印】:U24,E1
【系统设备】:hci0

测试操作

  1. 确定“WIFI+BT”标识处有贴上模块,否则无需进行测试。

  2. 把蓝牙天线连接到“BL_ANT”标识的接口上。

  3. 通过UART HCI连接到BlueZ堆栈

=====> 输入指令:
hciattach /dev/ttymxc2 bcm43xx 2000000 flow

=====> 输出信息:
bcm43xx_init
Patch not found, continue anyway
Set Controller UART speed to 2000000 bit/s
Setting TTY to N_HCI line discipline
Device setup complete
  1. 配置蓝牙系统接口

=====> 输入指令:
hciconfig hci0 up
hciconfig hci0 piscan
hciconfig -a


=====> 输出信息:
hci0:   Type: Primary  Bus: UART
    BD Address: 76:5E:F9:C6:B5:86  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN
    RX bytes:1381 acl:0 sco:0 events:75 errors:0
    TX bytes:1210 acl:0 sco:0 commands:75 errors:0
    Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
    Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
    Link policy: RSWITCH SNIFF
    Link mode: SLAVE ACCEPT
    Name: 'imx8mqevk'
    Class: 0x200000
    Service Classes: Audio
    Device Class: Miscellaneous,
    HCI Version: 4.0 (0x6)  Revision: 0x1000
    LMP Version: 4.0 (0x6)  Subversion: 0x610c
    Manufacturer: Broadcom Corporation (15)
  1. 查看板子蓝牙设备信息

=====> 输入指令:
hcitool dev

=====> 输出信息:
Devices:
    hci0    76:5E:F9:C6:B5:86
  1. 扫描外部蓝牙设备

=====> 输入指令:
hcitool scan

=====> 输出信息:
Scanning ...
    ......
    E4:B2:FB:DA:39:1D   iPhone
  1. 发送发送L2CAP包测试

=====> 输入指令:
l2ping E4:B2:FB:DA:39:1D -c 2
=====> 输出信息:
Ping: E4:B2:FB:DA:39:1D from 76:5E:F9:C6:B5:86 (data size 44) ...
0 bytes from E4:B2:FB:DA:39:1D id 0 time 7.10ms
0 bytes from E4:B2:FB:DA:39:1D id 1 time 103.84ms
2 sent, 2 received, 0% loss

测试结果

“0% packet loss”表示蓝牙连接正常。

tftp更新镜像

【测试说明】:可更新dtb、Image
【接口标识】:无
【系统设备】:无

测试操作

电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。
把开发板的这个网口用网线跟电脑网口连接起来。
进入u-boot命令行。
  1. 设置IP

=====> 输入指令:
设置开发板IP:setenv ipaddr 192.168.137.9
设置电脑IP:setenv serverip 192.168.137.99
设置MAC地址:setenv ethaddr 00:00:00:00:00:03
测试网络: ping 192.168.137.99
=====> 输出信息:
Using FEC device
host 192.168.137.99 is alive
  1. 设置环境变量

=====> 输入指令:
setenv update_dtb   'if tftpboot ${loadaddr} ${fdt_file}; then '\
'fatwrite mmc ${mmcdev}:${mmcpart} ${loadaddr} ${fdt_file} ${filesize}; fi;'

setenv update_kern  'if tftpboot ${loadaddr} ${image}; then '\
'fatwrite mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image} ${filesize}; fi;'

saveenv
  1. 烧写dtb

=====> 输入指令:
run update_dtb
=====> 输出信息:
Using ethernet@30be0000 device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'myimx8mek300-8mq.dtb'.
Load address: 0x40480000
Loading: ###
     4.5 MiB/s
done
Bytes transferred = 42713 (a6d9 hex)
writing myimx8mek300-8mq.dtb
42713 bytes written
  1. 烧写zImage

=====> 输入指令:
run update_kern
=====> 输出信息:
Using ethernet@30be0000 device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'Image'.
Load address: 0x40480000
Loading: #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     #################################################################
     5.9 MiB/s
done
Bytes transferred = 24805888 (17a8200 hex)
writing Image
24805888 bytes written

复制更新镜像

【测试说明】:可更新dtb、Image、kernel-modules
【接口标识】:无
【系统设备】:无

测试操作

  1. 复制相应文件到开发板当前目录,以tftp为例

电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。
把开发板的这个网口用网线跟电脑网口连接起来。
  1. 测试连接

=====> 输入指令:
ping 192.168.137.99 -c 2 -w 4
=====> 输出信息:
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.522 ms
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.415 ms

--- 192.168.137.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.415/0.468/0.522/0.057 ms
“0% packet loss”表示连接正常。
  1. 传输文件

=====> 输入指令:
tftp -g 192.168.137.99 -r Image
tftp -g 192.168.137.99 -r myimx8mek300-8mq.dtb
tftp -g 192.168.137.99 -r kernel-modules.tar.bz2
  1. 复制相应的文件到/run/media/mmcblk1p1/目录,将原文件替换。

=====> 输入指令:
cp Image /run/media/mmcblk1p1/
cp myimx8mek300-8mq.dtb /run/media/mmcblk1p1/
  1. 解压更新内核模块

  =====> 输入指令:

t ar xjvf kernel-modules.tar.bz2 -C /
  1. 保存并重启

=====> 输入指令:
reboot

usb识别为U盘测试

【测试说明】:通过 usb线在PC识别开发板为U盘
【接口标识】:J15
【系统设备】:devtmpfs

测试操作

  1. 创建一个10M大小的文件

=====> 输入指令:
# dd if=/dev/zero of=/dev/shm/disk bs=1024 count=10240

=====> 输出信息:
10240+0 records in
10240+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.163177 s, 64.3 MB/s
  1. 载入模块

=====> 输入指令:
# modprobe g_mass_storage stall=0 file=/dev/shm/disk removable=1

=====> 输出信息:
Mass Storage Function, version: 2009/09/11
LUN: removable file: (no medium)
LUN: removable file: /dev/shm/disk
Number of LUNs=1
Number of LUNs=1
g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
g_mass_storage gadget: userspace failed to provide iSerialNumber
g_mass_storage gadget: g_mass_storage ready
imx8mqevk login:~# g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
  1. 识别U盘

此时PC“我的电脑”会出现U盘的驱动器,将其格式化后,便可对其读写
  1. 挂载

# mount /dev/shm/disk /mnt

测试结果

在/mnt/下看到在电脑写入的文件,在开发板写入文件,重新插拔MINI USB可在PC看到在开发板写入的新文件。

usb识别为网口测试

【测试说明】:通过usb线将usb识别为网口
【接口标识】:J15
【系统设备】:usb0

测试操作

  1. 载入模块

=====> 输入指令:
# modprobe g_ether
=====> 输出信息:
using random self ethernet address
using random host ethernet address
usb0: HOST MAC 4a:d6:a1:ff:e6:53
usb0: MAC 12:e3:37:e8:7a:ab
using random self ethernet address
using random host ethernet address
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
imx8mqevk login:/# IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
g_ether gadget: high-speed config #2: RNDIS
IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
  1. 设置IP

=====> 输入指令:
# ifconfig usb0 192.168.7.2
将PC识别的rndis的本地连接IP设置为192.168.7.8
  1. 测试网口

=====> 输入指令:
# ping 192.168.7.8 -c 2 -w 4
=====> 输出信息:
PING 192.168.7.8 (192.168.7.8) 56(84) bytes of data.
64 bytes from 192.168.7.8: icmp_seq=1 ttl=64 time=0.609 ms
64 bytes from 192.168.7.8: icmp_seq=2 ttl=64 time=0.630 ms

--- 192.168.7.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.609/0.619/0.630/0.027 ms

测试结果

“0% packet loss”表示测试通过
注:若WIN10识别rndis为COM口,则需要下载驱动kindle_rndis.inf_amd64-v1.0.0.1.zip 解压后,以管理员权限执行5-runasadmin_register-CA-cer.cmd,然后在COM口处双击,在计算机中查找解压的驱动程序,这样就会有rndis网络了。

Mipi-CSI显示测试

【测试说明】:通过连接Mipi摄像头检查开发板Mipi-CSI接口。
【接口位置】:J1
【系统设备】:/dev/video0
【测试操作】:为开发板断电,用fpc排线连接mipi摄像头和开发板。

测试操作

gst-launch-1.0 v4l2src ! video/x-raw,format=YUY2,width=720,height=480 ! queue max-size-time=0 ! waylandsink enable-tile=true sync=false

测试结果

可以在显示屏看到摄像头所拍摄的内容