J8
<thead>
480 Mbits/s |
</thead>
<tbody>
MY-IMX6-EK314 |
J2 |
480 Mbits/s |
} |
</tbody>
测试方法
1) 开始测试
将USB设备插入底板USB接口,系统会输出类似如下信息:
usb -.*: new high speed USB device number * using fsl-ehci
……
2) 测试结束
将USB设备从底板拔出,系统会输出类似如下信息:
usb -.*: USB disconnect, device number *
附图
说明:在USB口上插拔U盘时,系统输出信息类似如下:
SD卡测试
接口属性
评估板型号
|
接口位置
|
接口类型
|
MY-IMX6-EK200
|
J8
<thead>
SD |
</thead>
<tbody>
MY-IMX6-EK314 |
</tbody>
|
J25
|
SD
|
|
开始测试
1) 往SD卡槽插入设备
插入SD卡到底板SD卡接口。系统输出以下信息(见附图)即表示SD接口正常:
mmc*: new high speed SD card at address ****
mmcblk*: mmcx:xxxx SAG *.GiB
mmcblk*: p*
2)从SD卡槽弹出设备
再次住SD卡槽按下SD卡,底板会弹出SD卡。系统输出以下信息(见附图)表示SD卡接口弹出正常:
mmc*: card **** removed
3) 结束测试
SD卡弹出后拨出SD卡即结束测试。
附图
准备测试程序
串口、SPI、CAN需要使用单独的测试程序,请在网盘中找到app_test.tar.bz2并下载到Windows。
将测试程序复制到评估板
1)将测试程序复制到U盘或SD卡
2)挂载U盘或SD卡
# mkdir mount
- 挂载SD卡设备命令参考(这里假设SD卡设备为 /dev/mmcblk2p1 )
# mount /dev/mmcblk2p1 mount/
- 挂载USB存储设备仙境传说参考(这里假设USB存储设备为 /dev/sda4 )
# mount /dev/sda4 mount/
3)复制测试程序到评估板
# cp /mount/app_test.tar.bz2 ~/
4)解压测试程序
# tar jxf app_test.tar.bz2 –C ~/
音频测试
测试说明
这项测试是通过播放音频文件验证评估板的音频功能。
测试方法
1)准备测试
连接音频输出设备到底板正面的音频座子,音频座子在底板正面“J20”,丝印名称是“HP”。
2)执行测试
使用aplay播放一个视频,示例命令如下:
# aplay /unit_tests/audio8k16S.wav
上面这条命令会使用aplay播放命令中指定的文件。
3)测试结果
执行上面的测试命令后会听到音频设备输出的声音。
附图
视频测试
测试说明
这项测试是通过播放视频验证评估板的音频视频功能。
测试方法
使用gplay播放一个视频,示例命令如下:
# gplay-1.0 /unit_tests/akiyo.mp4
上面这条命令会使用gplay播放命令中指定的文件。
执行上面的测试命令后会在评估板显示屏上看到大约1秒钟的视频图像。
附图
标准GPIO测试
接口属性
MY-IMX6-EK2000
|
IO序号
|
GPIO属性
|
接口位置
|
|
接口位置
|
GPIO属性
<thead>
span style="color:#FFFFFF;background:#000080" |
IO序号 |
</thead>
<tbody>
-- |
|
gpio-leds |
|
J4:3 |
|
</tbody>
|
J4:4
|
GPIO6_IO11
<thead>
171 |
</thead>
<tbody>
-- |
gpio-leds |
J4:5 |
</tbody>
|
J4:6
|
GPIO2_IO26
<thead>
58 |
</thead>
<tbody>
10 |
GPIO1_IO10 |
J4:7 |
</tbody>
|
J4:8
|
GPIO1_IO20
<thead>
20 |
</thead>
<tbody>
-- |
gpio-leds |
J4:9 |
</tbody>
|
J4:10
|
GPIO3_IO21
<thead>
85 |
</thead>
<tbody>
-- |
gpio-leds |
J4:11 |
</tbody>
|
J4:12
|
GPIO3_IO22
<thead>
86 |
</thead>
<tbody>
11 |
GPIO1_IO11 |
J4:13 |
</tbody>
|
J4:14
|
NC
<thead>
NC |
</thead>
<tbody>
192 |
GPIO7_IO00 |
J21:12 |
</tbody>
|
J21:11
|
GPIO3_IO30
|
94
|
MY-IMX6-EK314
|
IO序号
|
GPIO属性
|
接口位置
|
|
接口位置
|
GPIO属性
<thead>
span style="color:#FFFFFF;background:#000080" |
IO序号 |
</thead>
<tbody>
2 |
|
GPIO1_IO02 |
|
J23:11 |
|
</tbody>
|
J23:12
|
GPIO3_IO30
<thead>
94 |
</thead>
<tbody>
192 |
GPIO7_IO01 |
U14:3 |
</tbody>
|
U14:4
|
GPIO7_IO00
<thead>
192 |
</thead>
<tbody>
177 |
GPIO6_IO17 |
U14:5 |
</tbody>
|
U14:6
|
GPIO6_IO18
<thead>
178 |
</thead>
<tbody>
176 |
GPIO6_IO16 |
U14:7 |
</tbody>
|
U14:8
|
GPIO2_IO07
<thead>
39 |
</thead>
<tbody>
35 |
GPIO2_IO03 |
U14:9 |
</tbody>
|
U14:10
|
GPIO2_IO06
<thead>
38 |
</thead>
<tbody>
169 |
GPIO6_IO09 |
U14:11 |
</tbody>
|
U14:12
|
GPIO6_IO11
<thead>
171 |
</thead>
<tbody>
34 |
GPIO2_IO02 |
U14:13 |
</tbody>
|
U14:14
|
GPIO2_IO00
<thead>
32 |
</thead>
<tbody>
36 |
GPIO2_IO04 |
U14:15 |
</tbody>
|
U14:16
|
GPIO2_IO05
<thead>
37 |
</thead>
<tbody>
29 |
GPIO1_IO29 |
U14:17 |
</tbody>
|
U14:18
|
GPIO1_IO27
<thead>
27 |
</thead>
<tbody>
30 |
GPIO1_IO30 |
U14:19 |
</tbody>
|
U14:20
|
GPIO1_IO26
<thead>
26 |
</thead>
<tbody>
24 |
GPIO1_IO24 |
U14:21 |
</tbody>
|
U14:22
|
GND
<thead>
GND |
</thead>
<tbody>
10 |
GPIO1_IO10 |
U14:23 |
</tbody>
|
U14:24
|
gpio-leds
<thead>
-- |
</thead>
<tbody>
-- |
gpio-leds |
U14:25 |
</tbody>
|
U14:26
|
gpio-leds
<thead>
-- |
</thead>
<tbody>
11 |
GPIO1_IO11 |
U14:27 |
</tbody>
|
U14:28
|
gpio-leds
<thead>
-- |
</thead>
<tbody>
85 |
GPIO3_IO21 |
U14:29 |
</tbody>
|
U14:30
|
GPIO3_IO22
<thead>
86 |
</thead>
<tbody>
GND |
GND |
U14:31 |
</tbody>
|
U14:32
|
GND
<thead>
GND |
</thead>
<tbody>
18 |
GPIO1_IO18 |
U14:33 |
</tbody>
|
U14:34
|
GPIO1_IO16
<thead>
16 |
</thead>
<tbody>
20 |
GPIO1_IO20 |
U14:35 |
</tbody>
|
U14:36
|
GPIO1_IO17
<thead>
17 |
</thead>
<tbody>
116 |
GPIO4_IO20 |
U14:37 |
</tbody>
|
U14:38
|
GPIO1_IO19
|
19
|
测试方法
1)GPIO输出测试
# OUT_IO_NUMBER=85
# echo ${OUT_IO_NUMBER} > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio${OUT_IO_NUMBER}/direction
# echo 0 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
2)GPIO输入测试
# IN_IO_NUMBER=86
# echo ${IN_IO_NUMBER} > /sys/class/gpio/export
# echo in > /sys/class/gpio/gpio${IN_IO_NUMBER}/direction
cat /sys/class/gpio/gpio${IN_IO_NUMBER} /value
3)验证输入输出
注意:这一步需要短接评估板的管脚,如果不确定自己能正确短接的请找硬件工程师支持,否则可能会损坏评估板。
将前面配置的输出IO对应的管脚与配置的输入IO对应的管脚连接。即:在MY-IMX6-EK200上连接J4:10 - J4:12,在MY-IMX6-EK314上连接U14:29 - U14:30。
# cat /sys/class/gpio/gpio${IN_IO_NUMBER}/value
# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
# cat /sys/class/gpio/gpio${IN_IO_NUMBER}/value
GPIO-LED测试
接口属性
MY-IMX6-EK200
|
|
MY-IMX6-EK314
|
接口位置
|
GPIO属性
|
LED属性
|
接口位置
|
GPIO属性
<thead>
span style="color:#FFFFFF;background:#000080" |
LED属性 |
</thead>
<tbody>
J4:3 |
|
gpio-leds |
|
heartbeat |
|
</tbody>
|
U14:24
|
gpio-leds
<thead>
heartbeat |
</thead>
<tbody>
J4:5 |
gpio-leds |
timer |
</tbody>
|
U14:28
|
gpio-leds
<thead>
timer |
</thead>
<tbody>
J4:9 |
gpio-leds |
default-on |
</tbody>
|
U14:26
|
gpio-leds
<thead>
default-on |
</thead>
<tbody>
J4:11 |
gpio-leds |
gpio |
</tbody>
|
U14:25
|
gpio-leds
|
gpio
|
GPIO-LED(Heartbeat)测试
系统启动完成后,用示波器检测heartbeat对应的接口,可看到如下类似信号:
提示:heartbeat是与CPU心跳关联的,如果在此GPIO上接上LED,即可通过观察LED来判断CPU是否工作。
GPIO-LED(Timer)测试
系统启动完成后,用示波器检测timer对应的接口,可看到如下类似信号:
通过delay_off、delay_on来控制高低电平持续的时间。
# echo 500 > /sys/class/leds/led-timer/delay_off
# echo 1000 > /sys/class/leds/led-timer/delay_on
再用示波器检测的时候,会看到波形发生的变化。
GPIO-LED(Default ON)测试
Default-on可以通过brightness控制。
Default-on的实现是初始触发状态为on,即初始触发后为高电平。
# echo 1 > /sys/class/leds/Default/brightness
往brightness写0即可检测到低电平。
# echo 0 > /sys/class/leds/Default/brightness
GPIO-LED(GPIO)测试
GPIO的测试可以使用跟default-on类似的方法:
# echo 1 > /sys/class/leds/gpio1_12/brightness
使用万用表测试LED:gpio对应的引脚,可以看到该引脚是高电平。
# echo 0 > /sys/class/leds/gpio1_12/brightness
使用万用表测试LED:gpio对应的引脚,可以看到该引脚是低电平。
GPIO-KEY测试
接口属性
MY-IMX6-EK200
|
|
MY-IMX6-EK314
|
接口位置
|
GPIO属性
|
KEY属性
|
接口位置
|
GPIO属性
<thead>
span style="color:#FFFFFF;background:#000080" |
LED属性 |
</thead>
<tbody>
SW2 |
|
gpio-keys |
|
Power Button |
|
</tbody>
|
SW4
|
gpio-keys
<thead>
Power Button |
</thead>
<tbody>
SW3 |
gpio-keys |
Volume Up |
</tbody>
|
SW3
|
gpio-keys
<thead>
Volume Up |
</thead>
<tbody>
SW5 |
gpio-keys |
Volume Down |
</tbody>
|
SW2
|
gpio-keys
|
Volume Down
|
测试方法
1)执行测试程序
在终端下键入命令执行测试,示例如下:
# evtest
2)选择测试设备
Select the device event number [0-2]: 2
输入“gpio-keys”对应的序号,这里是2
3)进行交互测试
在终端会看到“Testing ... (interrupt to exit)”,这时我们按下或松开SW4、SW3、SW2。会看到如下类似信息:
Event: time 1452590477.115958, type 1 (EV_KEY), code 116 (KEY_POWER), value 0
Event: time 1452590477.115958, -------------- SYN_REPORT ------------
Event: time 1452590478.415953, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
其中“value 1”信息是在按键被按下的时候被输出,“value 0”信息是在按键被松开的时候被输出。
3)结束测试
按计算机上的“Ctrl”+“C”可结束按键测试程序。
串口测试
MY-IMX6-EK200共5个串口,其中1个调试串口,4个用户串口。
MY-IMX6-EK314共5个串口,其中1个调试串口,4个用户串口。
用户串口属性
评估板型号
|
UARTx
|
Rx
|
Tx
|
系统接口
|
MY-IMX6-EK200
|
UART2
|
J1:9
|
J1:7
<thead>
ttymxc1 |
</thead>
<tbody>
|
</tbody>
|
UART3
|
J1:13
|
J1:11
<thead>
ttymxc2 |
</thead>
<tbody>
|
</tbody>
|
UART4
|
J1:17
|
J1:15
<thead>
ttymxc3 |
</thead>
<tbody>
|
</tbody>
|
UART5
|
J1:16
|
J1:18
<thead>
ttymxc4 |
</thead>
<tbody>
rowspan=4|MY-IMX6-EK314 |
UART2 |
J12:9 |
J12:10 |
ttymxc1 |
- |
</tbody>
|
UART3
|
J12:12
|
J12:13
<thead>
ttymxc2 |
</thead>
<tbody>
|
</tbody>
|
UART4
|
J12:17
|
J12:15
<thead>
ttymxc3 |
</thead>
<tbody>
|
</tbody>
|
UART5
|
J12:16
|
J12:18
|
ttymxc4
|
提示:这里列出串口的收发管脚,串口其它管脚的定义请看原理图。
串口测试
1)测试说明
采用串口自发自收的方式进行。
通过测试程序向串口发送字符串,并输出串口接收到的字符串。
注意:串口测试需要短接评估板的管脚,如果不确定自己能正确短接的请找硬件工程师支持,否则可能会损坏评估板。
2)进入测试程序目录
# cd ~/app_test
3)UART2测试
短接串口2的发送发接收管脚。
# ./uart.out /dev/ttymxc1 "www.myzr.com.cn"
4)UART3测试
短接串口3的发送发接收管脚。
# ./uart.out /dev/ttymxc2 "www.myzr.com.cn"
5)UART4测试
短接串口4的发送发接收管脚(J1的15和17号)。
# ./uart.out /dev/ttymxc3 "www.myzr.com.cn"
6)UART5测试
短接串口5的发送发接收管脚(J1的16和18号)。
# ./uart.out /dev/ttymxc4 "www.myzr.com.cn"
RTC测试
测试说明
受快递运输影响,MY-IMX6 系列评估板发货时不带电池。测试RTC前请自备纽扣电池并安装到评估板上。
MY-IMX6-EK200的电池座在底板背面的“BT1”位置。
MY-IMX6-EK314的电池座在底板正面的“BT1”位置。
测试方法
1)断电重启设备,查看当前系统时间和硬件时间。
# date
Thu Aug 6 05:35:17 UTC 2015
2)查看当前RTC芯片时钟命令如下:
# hwclock
Thu Aug 6 05:35:59 2015 0.000000 seconds
3)设置系统时钟,并同步到RTC芯片
# date -s "2015-08-20 12:34:56"
# hwclok –w
4)断电重启评估板,查看当前系统时钟和硬件时钟
请参考第1步
5)测试结果
执行第3步以后看到的时钟为新设定的时钟。
附图
下图为测试方法中步骤1和2的截图
下图为测试方法中步骤3的截图
WatchDog测试
测试说明
WatchDog测试包括2项:一项是复位测试,一项是喂狗测试。
复位测试
1)测试说明
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。
2)执行测试
# /unit_tests/wdt_driver_test.out 10 15 1
3)测试结果
运行测试命令后等待10秒后,WatchDog超时,系统被复位。将会在终端看到系统重新启动输出的信息。
喂狗测试
1)测试说明
喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将不会因为WatchDog超时而复位。
2)执行测试
# /unit_tests/wdt_driver_test.out 4 2 1 &
# date
3)验证
经过几分钟之后,系统依然没有复位。我们再查看当前时间。
# date
这时我们终止Watchdog测试程序,这样就没有程序进行喂狗了,系统将会在超时时间(这里是4秒)内复位。
# pkill wdt_driver_test
SPI测试
MY-IMX6-EK200上有两组SPI接口。
MY-IMX6-EK314上有两组SPI接口。
接口属性
测试需要用到SPI接口的MISO和MOSI管脚,在下表中列出。
评估板型号
|
SPIx
|
MISO
|
MOSI
|
MY-IMX6-EK200
|
SPI1
|
J7:7
<thead>
J7:9 |
</thead>
<tbody>
|
</tbody>
|
SPI2
|
J7:8
<thead>
J7:10 |
</thead>
<tbody>
rowspan=2|MY-IMX6-EK314 |
SPI1 |
J13:7 |
J13:11 |
- |
</tbody>
|
SPI2
|
J13:6
|
J13:12
|
测试说明
1)采用SPI自发送(输出)自接收(输入)的方式。
注意:测试需要短接评估板的管脚,如果不确定自己能正确短接的请找硬件工程师支持,否则可能会损坏评估板。
2)与SPI测试程序匹配的SPI接口是SPI2,所以我们的SPI测试是测试SPI2。
测试方法
1)准备测试
短接SPI2的MISO和MISO管脚。
2)执行测试
# ~/app_test/spi.out -D /dev/spidev1.0
3)测试结果
如果SPI正常,在终端上会看到如下字符:
FF FF FF FF FF FF
40 00 00 00 00 95
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
DE AD BE EF BA AD
F0 0D
附图
CAN接口测试
MY-IMX6-EK200上有两组CAN接口。
MY-IMX6-EK314上有两组CAN接口。
接口属性
评估板型号
|
CANx
|
信号:CAN_L
|
信号:CAN_H
|
系统设备
|
MY-IMX6-EK200
|
CAN1
|
J19:1
|
J19:2
<thead>
can0 |
</thead>
<tbody>
|
</tbody>
|
CAN2
|
J16:1
|
J16:2
<thead>
can1 |
</thead>
<tbody>
rowspan=2|MY-IMX6-EK314 |
CAN1 |
J17:1 |
J17:2 |
can0 |
- |
</tbody>
|
CAN2
|
J15:1
|
J15:2
|
can1
|
测试说明
采用CAN1发送,CAN0接收的方式。
测试方法
1)接口连接
注意:这一步需要连接评估板的管脚,如果不确定自己能正确连接的请找硬件工程师支持,否则可能会损坏评估板。
将CAN1的CAN_L与CAN2的CAN_L连接。
将CAN1的CAN_H与CAN2的CAN_H连接。
2)执行测试
配置CAN0
# ip link set can0 up type can bitrate 125000
配置CAN1
# ip link set can1 up type can bitrate 125000
配置CAN0接收
# candump can0 &
CAN1发送
# cansend can1 1F334455#1122334455667788
附图
IPU测试
测试说明
整个IPU测试过程完成需要十几分钟。
测试方法
1)执行测试
进入测试程序所在目录(一定要进入测试程序所在目录才能正常执行测试脚本)
# cd /unit_tests/
执行测试脚本
# ./autorun-ipu.sh
2)测试结果
在整个测试过程中,可以看到显示屏显示的内容在不停的变化。
测试完成后,在终端上可以看到类似如下信息:
test stop at Thu Jan 1 00:33:38 UTC 1970
附图
GPU测试
测试说明
验证GPU功能。
测试方法
# cd /opt/viv_samples/vdk/ && ./tutorial3 -f 100
# cd /opt/viv_samples/vdk/ && ./tutorial4_es20 -f 100
# cd /opt/viv_samples/tiger/ &&./tiger
执行测试命令时,可以看到显示屏显示的内容在变化。更多请参照/unit_test/gpu.sh
附图
VPU测试
测试说明
测试过程将使用VPU解码视频文件并输出到显示设备。
测试方法
进入测试程序所在目录(一定要进入测试程序所在目录才能正常执行测试脚本)
# cd /unit_tests/
# ./autorun-vpu.sh
在整个测试过程中,从显示屏上可以看到VPU解码的视频。
附图
= 显示功能测试 =
说明:每项显示功能测试都需要重启系统进入到u-boot命令行,输入命令并按确认键。
示例如下:
单屏显示
说明:输入命令并按确定键,观察系统启动过程中显示屏的显示内容,即可看到Linux Logo。
LVDS1
=> setenv display ${fb0_lvds1}
=> saveenv; boot
LVDS0
=> setenv display ${fb0_lvds0}
=> saveenv; boot
HDMI
=> setenv display ${fb0_hdmi}
=> saveenv; boot
注意:如果使用HDMI转VGA的,请确认转接装置是否需要供电。
RGB
=> setenv display ${fb0_lcd}
=> saveenv; boot
双屏同步骤显示
说明:输入命令并按确定键,在内核启动过程中可以看到两个屏幕都显示Linux Logo,并且其它对显示屏的操作也会同样显示在两个屏幕上。
LVDS1+LVDS0同步显示
=> setenv display ${lvds_sync}
=> saveenv; boot
双屏异步显示
导入测试环境变量
# export GSTL=gst-launch-1.0
# export PLAYBIN=playbin
# export GPLAY=gplay-1.0
# export GSTINSPECT=gst-inspect-1.0
# export MP4_FILE="/home/root/test.mp4"
会用到的测试命令
# $GSTL $PLAYBIN uri=file://$MP4_FILE video-sink="imxv4l2sink device=/dev/video17"
# $GSTL $PLAYBIN uri=file://$MP4_FILE video-sink="imxv4l2sink device=/dev/video18"
LVDS1作为主屏
=> setenv display ${fb0_lvds1} ${fb1_lcd}
=> saveenv; boot
=> setenv display ${fb0_lvds1} ${fb1_hdmi}
=> saveenv; boot
LVDS0作为主屏
=> setenv display ${fb0_lvds0} ${fb1_lcd}
=> saveenv; boot
=> setenv display ${fb0_lvds0} ${fb1_hdmi}
=> saveenv; boot
RGB作为主屏
=> setenv display ${fb0_lcd} ${fb1_lvds1}
=> saveenv; boot
=> setenv display ${fb0_lcd} ${fb1_lvds0}
=> saveenv; boot
HDMI作为主屏
=> setenv display ${fb0_hdmi} ${fb1_lvds1}
=> saveenv; boot
=> setenv display ${fb0_hdmi} ${fb1_lvds0}
=> saveenv; boot
|