(preparation before test)
1)please connect following the path of 《Linux fast boot manual》->“Linux fast boot” -> “device connection”。
2)please boot following the path of 《Linux fast boot manual》->“Linux fast boot” -> “device booting”。
(test item)
(network inferface test)
MY-IMX6-EK200 support two 100 Mbps ethernet interfaces。
MY-IMX6-EK314 support one Gbps and one 100 Mbps ethernet interface。
(interface property)
| (evaluation board model no) | (interface position) | (interface rate standard) | (system interface) |
|---|
| MY-IMX6-EK200 | P4 | 10/100Mbps | eth0 |
| P3 | 10/100Mbps | eth1 |
| MY-IMX6-EK314 | U12 | 10/100/1000Mbps | eth0 |
| P1 | 10/100Mbps | eth1 |
(test method)
1)configure computer IP
set wired network card IP of computer as 192.168.18.18

2)Eth0 connect test
- connect lan line: connect “eth0”on evaluation board with corresponding wired network card interface on computer with lan line
# ifconfig eth0 192.168.18.36 # configure the eth0
# ifconfig eth1 down # eth1 to be shut down
# ping 192.168.18.18 -c 2 -w 4 # send ICMP to HOST
- observe test result:system will output message like following
--- 192.168.18.18 ping statistics ---
2packets transmitted, 2 packets received, 0% packet loss
- test result:“0% packet loss”represent test passing

3) Eth1 connect test
- connect lan line:insert one end of lan line into “eth1”on evaluation board and another end into wired network card interface on computer。
- set the second network inter face IP:
# ifconfig eth1 192.168.18.27 # configure the eth1
after setting the system will output message on working condition of second network interface,like following:
smsc95xx 1-1.1:1.0 eth1: link up, 100Mbps, full-duplex, lpa 0x4DE1
# ifconfig eth0 down # eth0 to be shut down
# ping 192.168.18.18 -c 2 -w 4 # send ICMP to HOST
- observe test result:system will output message like following:
--- 192.168.18.18 ping statistics ---
2packets transmitted, 2 packets received, 0% packet loss
- test result:“0% packet loss”represent test passing

(USB test)
(interface property)
| (evaluation board model no.) | (interface position) | (interface rate standard) |
|---|
| MY-IMX6-EK200 | J8 | 480 Mbits/s |
| MY-IMX6-EK314 | J2 | 480 Mbits/s |
(test method)
1) start test
insert USB device into USB port on base board,system will output message like following:
usb *-*.*: new high speed USB device number * using fsl-ehci
……
2) test over
take out USB device from base board,system will output message like following:
usb *-*.*: USB disconnect, device number *
(figure)
instruction:when plug in & out U disk from USB interface,system will output message like following:

(SD card test)
(interface property)
| (evaluation model no.) | (interface position) | (interface type) |
|---|
| MY-IMX6-EK200 | J8 | SD |
| MY-IMX6-EK314 | J25 | SD |
(start test)
1) insert device into SD card slot
insert SD card into SD card port on base board。when system output following message(see attached figures),which represent that SD card interface is normal:
mmc*: new high speed SD card at address ****
mmcblk*: mmcx:xxxx SA**G *.**GiB
mmcblk*: p*
2)pop-up device from SD card slot
press again SD card against SD card slot,base board will pop-up SD card。when system output following message(see attached figures),which represent that SD card interface pop-up is normal:
mmc*: card **** removed
3) test over
take out SD card after SD card pop-pup,then test is over。
(figures)

(audio test)
(test instruction)
the test is to verify audio function of evaluation board by playing audio file。
(test method)
1)prepare test
connect audio output device to audio element in front view of base board,audio element is “J20”in front view of base board,silkscreened as“HP”。
2)execute test
play a video with gplay,commanded as below:
# aplay /unit_tests/audio8k16S.wav
the above command will play a file designated by command with gplay。
3) test result
you can see the vedeo played on display screen of evaluation board and hear the voices outputed by audio device。
(figures)

(video test)
(test instruction)
the test is to verify audio&video function of evaluation board by playing audio file。
(test method)
play a video with gplay,commanded as below:
# gplay-1.0 /unit_tests/akiyo.mp4
the above command will play a file designated by command with gplay。
you can see the vedeo image for about 1 second on display screen of evaluation board after execution of test command。
(figures)

(standard GPIO test)
(interface property)
| MY-IMX6-EK200 |
|---|
| (IO order number) | (GPIO property) | (interface position) | | (interface position) | (GPIO property) | (IO order number) |
| -- | gpio-leds | J4:3 | J4:4 | GPIO6_IO11 | 171 |
| -- | gpio-leds | J4:5 | J4:6 | GPIO2_IO26 | 58 |
| 10 | GPIO1_IO10 | J4:7 | J4:8 | GPIO1_IO20 | 20 |
| -- | gpio-leds | J4:9 | J4:10 | GPIO3_IO21 | 85 |
| -- | gpio-leds | J4:11 | J4:12 | GPIO3_IO22 | 86 |
| 11 | GPIO1_IO11 | J4:13 | J4:14 | NC | NC |
| 192 | GPIO7_IO00 | J21:12 | J21:11 | GPIO3_IO30 | 94 |
| MY-IMX6-EK314 & MY-IMX6-EK336 |
|---|
| (IO order number) | (IO order number) | (interface position) | | (interface position) | (GPIO property) | (IO order number) |
| 2 | GPIO1_IO02 | J23:11 | J23:12 | GPIO3_IO30 | 94 |
| 193 | GPIO7_IO01 | U14:3 | U14:4 | GPIO7_IO00 | 192 |
| 177 | GPIO6_IO17 | U14:5 | U14:6 | GPIO6_IO18 | 178 |
| 176 | GPIO6_IO16 | U14:7 | U14:8 | GPIO2_IO07 | 39 |
| 35 | GPIO2_IO03 | U14:9 | U14:10 | GPIO2_IO06 | 38 |
| 169 | GPIO6_IO09 | U14:11 | U14:12 | GPIO6_IO11 | 171 |
| 34 | GPIO2_IO02 | U14:13 | U14:14 | GPIO2_IO00 | 32 |
| 36 | GPIO2_IO04 | U14:15 | U14:16 | GPIO2_IO05 | 37 |
| 29 | GPIO1_IO29 | U14:17 | U14:18 | GPIO1_IO27 | 27 |
| 30 | GPIO1_IO30 | U14:19 | U14:20 | GPIO1_IO26 | 26 |
| 24 | GPIO1_IO24 | U14:21 | U14:22 | GND | GND |
| 10 | GPIO1_IO10 | U14:23 | U14:24 | GPIO1_IO15 | 15 |
| 12 | GPIO1_IO12 | U14:25 | U14:26 | GPIO1_IO13 | 13 |
| 11 | GPIO1_IO11 | U14:27 | U14:28 | GPIO1_IO14 | 14 |
| 85 | GPIO3_IO21 | U14:29 | U14:30 | GPIO3_IO22 | 86 |
| GND | GND | U14:31 | U14:32 | GND | GND |
| -- | gpio-leds | U14:33 | U14:34 | gpio-leds | -- |
| 20 | GPIO1_IO20 | U14:35 | U14:36 | gpio-leds | -- |
| 116 | GPIO4_IO20 | U14:37 | U14:38 | gpio-leds | -- |
(test method)
1)GPIO output test
- set IO order number for GPIO of which need to be tested
# OUT_IO_NUMBER=85
# echo ${OUT_IO_NUMBER} > /sys/class/gpio/export
# echo out > /sys/class/gpio/gpio${OUT_IO_NUMBER}/direction
- control outputed electrical level
# echo 0 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value

2)GPIO input test
- set IO order number for GPIO of which need to be tested
# IN_IO_NUMBER=86
# echo ${IN_IO_NUMBER} > /sys/class/gpio/export
# echo in > /sys/class/gpio/gpio${IN_IO_NUMBER}/direction
- check inputed electrical level
cat /sys/class/gpio/gpio${IN_IO_NUMBER} /value

3)verify input&output
note:this step need a short connection of evaluation board pins,if you are not sure of how to conduct this kind of connection,please ask hardware engineer for a support,otherwise it may cause a damage of evaluation board。
将前面配置的输出IO对应的管脚与配置的输入IO对应的管脚连接。即:在MY-IMX6-EK200上连接J4:10 - J4:12,在MY-IMX6-EK314上连接U14:29 - U14:30。
connect outputed IO pins configured above with inputed IO pins configured above correspondingly.。e.g:connect J4:10 - J4:12 on MY-IMX6-EK200,and connect U14:29 - U14:30 on MY-IMX6-EK314。
- check eletrical level of inputed pins
# cat /sys/class/gpio/gpio${IN_IO_NUMBER}/value
- modify electrical level of outputed pins
# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
- check electrical level of inputed pins
# cat /sys/class/gpio/gpio${IN_IO_NUMBER}/value

(GPIO-LED test)
(interface property)
| MY-IMX6-EK200 | | MY-IMX6-EK314 |
|---|
| (interface position) | (GPIO property) | (LED property) | (interface position) | (GPIO property) | (LED property) |
| J4:3 | gpio-leds | heartbeat | U14:24 | gpio-leds | heartbeat |
| J4:5 | gpio-leds | timer | U14:28 | gpio-leds | timer |
| J4:9 | gpio-leds | default-on | U14:26 | gpio-leds | default-on |
| J4:11 | gpio-leds | gpio | U14:25 | gpio-leds | gpio |
(GPIO-LED(Heartbeat)test)
after system booting is completed,check interface corresponding with heartbeat with oscilloscope,then you can see message like below:

tips:heartbeat is related to CPU heartbeat,if connect a LED wiht this GPIO,then we can adjudge whether CPU is working or not by LED。
(GPIO-LED(Timer)test)
after system booting is completed,check interface corresponding with timer with oscilloscope,then you can see message like below:

control high&low electrical time by delay_off、delay_on。
# echo 500 > /sys/class/leds/led-timer/delay_off
# echo 1000 > /sys/class/leds/led-timer/delay_on
re-check with oscilloscope,you can see the change of wave shape。
(GPIO-LED(Default ON)test)
Default-on can be controled by brightness。
Default-on is set to be on for original trigger,e.g it is high electrical level after original trigger。
# echo 1 > /sys/class/leds/Default/brightness
write 0 to brightness to detect low electrical level 。
# echo 0 > /sys/class/leds/Default/brightness
(GPIO-LED(GPIO)test)
GPIO test can be in similar way as test of default-on:
# echo 1 > /sys/class/leds/gpio1_12/brightness
test pin corresponding with LED:gpio with multi-meter,you can see the pin is high electrical level。
# echo 0 > /sys/class/leds/gpio1_12/brightness
test pin corresponding with LED:gpio with multi-meter,you can see the pin is low electrical level。
(GPIO-KEY test)
(interface property)
| MY-IMX6-EK200 | | MY-IMX6-EK314 |
|---|
| (interface position) | (GPIO property) | (KEY property) | (interface position) | (GPIO property) | (LED property) |
| SW2 | gpio-keys | Power Button | SW4 | gpio-keys | Power Button |
| SW3 | gpio-keys | Volume Up | SW3 | gpio-keys | Volume Up |
| SW5 | gpio-keys | Volume Down | SW2 | gpio-keys | Volume Down |
(test method)
1)execute test program
enter command to execute on terminal,example as below:
# evtest
2)select test device
Select the device event number [0-2]: 2
enter order number corrsponding with“gpio-keys”,here it is 2

3)proceed with interactive test
on terminal you can“Testing ... (interrupt to exit)”,this time press or release SW4、SW3、SW2。message like below will come out:
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
message of“value 1”is outputed with press of key,message of“value 0”is outputed with release of key。

3)end test
press “Ctrl”+“C”on computer to end the test program for keys。
(serial port test)
MY-IMX6-EK200 has total 5 serial ports,one is debug seiral port,the other 4 are user serial ports。
MY-IMX6-EK314 has total 5 serial ports,one is debug seiral port,the other 4 are user serial ports。
(user serial port property)
| (evaluation board model no.) | UARTx | Rx | Tx | (system interface) |
|---|
| MY-IMX6-EK200 | UART2 | J1:9 | J1:7 | ttymxc1 |
| UART3 | J1:13 | J1:11 | ttymxc2 |
| UART4 | J1:17 | J1:15 | ttymxc3 |
| UART5 | J1:16 | J1:18 | ttymxc4 |
| MY-IMX6-EK314 | UART2 | J12:9 | J12:10 | ttymxc1 |
| UART3 | J12:12 | J12:13 | ttymxc2 |
| UART4 | J12:17 | J12:15 | ttymxc3 |
| UART5 | J12:16 | J12:18 | ttymxc4 |
tips:transceiver pins of serial port are listed here,but please refer to schematic for definition of all pins of serial port。
(serial port test)
1)test instruction
- intruction of test method:
adopt method of self-sending & self-receiving of serial port。
- instruction of test result:
send charater string to serial port through test program and output charater strings received by serial port。
note:serial port test need a short connection of evaluation board pins,if you are not sure of how to conduct this kind of connection,please ask hardware engineer for a support,otherwise it may cause a damage of evaluation board。
2)enter test program directory
# cd ~/my-demo/linux-3.14.52
3)UART2 test
short connect sending pin and receiving pin of serial port 2(no.9 and 10 of J1)。
# ./uart.out /dev/ttymxc1 "www.myzr.com.cn"

4)UART3 test
short connect sending pin and receiving pin of serial port 3(no.12 and 13 of J1)。
# ./uart.out /dev/ttymxc2 "www.myzr.com.cn"

5)UART4 test
short connect sending pin and receiving pin of serial port 4(no.15 and 17 of J1)。
# ./uart.out /dev/ttymxc3 "www.myzr.com.cn"

6)UART5 test
short connect sending pin and receiving pin of serial port 5(no.16 and 18 of J1)。
# ./uart.out /dev/ttymxc4 "www.myzr.com.cn"

(RTC test)
(test instruction)
due to restrictions in transportation,MY-I.MX6 evaluation board doesn't contatin battery in delivery。before RTC test please prepare button cell to install on evaluation board。
MY-IMX6-EK200 battery holder is located in“BT1”on rear view of base board。
MY-IMX6-EK314 battery holder is located in“BT1”on front view of base board。
(test method )
1) power off then reboot device,to check the time of system and hardware。
- command to check clock of current system as below
# date
- message outputed by system as below:
Thu Aug 6 05:35:17 UTC 2015
2)command to check clock of RTC chip as below:
# hwclock
- message outputed by system as below:
Thu Aug 6 05:35:59 2015 0.000000 seconds
3)set system clock and synchronously set to RTC chip
- command to set system clock are with below reference:
# date -s "2015-08-20 12:34:56"
- command to write system clock into hardware as below:
# hwclok –w
4)power off and reboot evaluation board,to check current system clock and hardware clock
please refer to step 1
5)test Results
it will be a newly-set clock after execution until step3。
(figures)
below image is screenshots for step1 and step 2 in the test

below image is screenshots for step3 in the test

(WatchDog test)
(test instruction)
WatchDog test includes two items:one is reset test,the other is feed dog test。
(reset test)
1)test instruction
reset test will boot WatchDog,but doesn't feed dog,system will reset when timeout。
2)execute test
# /unit_tests/wdt_driver_test.out 10 15 1
3)test result
wait for 10 seconds after running of test command,WatchDog timeout,system is resetted。you can see message outputed by system rebooting on terminal。

(feed dog test)
1)test instruction
feeding dog test will boot WatchDog,and feed dog every 2 second,system won't reset because of WatchDog timeout。
2)execute test
# /unit_tests/wdt_driver_test.out 4 2 1 &
# date

3)verify
after a few minutes,if system hasn't resetted yet,re-check current time。
# date
when we stop Watchdog test program,then there won't be program to feed dog,system will reset in 4 seconds when timeout。
# pkill wdt_driver_test

(SPI test)
MY-IMX6-EK200上has two groups of SPI interfaces。
MY-IMX6-EK314 has two groups of SPI interfaces。
(interface property)
pins of MISO and MOSI need to be used for test,listed as below。
| (evaluation board model no.) | SPIx | MISO | MOSI |
|---|
| MY-IMX6-EK200 | SPI1 | J7:7 | J7:9 |
| SPI2 | J7:8 | J7:10 |
| MY-IMX6-EK314 | SPI1 | J13:6 | J13:12 |
| SPI2 | J13:7 | J13:11 |
(test specification)
1)adopt way of SPI self-sending(output)self-receiving(input)。
note:the test need a short connection of evaluation board pins,if you are not sure of how to conduct this kind of connection,please ask hardware engineer for a support,otherwise it may cause a damage of evaluation board。
2)SPI port which is matched up with SPI test program is SPI2,e.g.SPI test is SPI2 test。
(test method)
1)prepare test
short connect MISO pin and MOSI pin of SPI2。
2)execute test
# ~/my-demo/linux-3.14.52/spidev_test.out -D /dev/spidev1.0
3)test result
if SPI is normal,you can see following charaters on terminal:
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
(figures)

(CAN interface test)
MY-IMX6-EK200 has two groups of CAN interfaces。
MY-IMX6-EK314 has two groups of CAN interfaces。
(interface property)
| (evaluation model no.) | CANx | (signal:CAN_L) | (signal:CAN_H) | (system device) |
|---|
| MY-IMX6-EK200 | CAN1 | J19:1 | J19:2 | can0 |
| CAN2 | J16:1 | J16:2 | can1 |
| MY-IMX6-EK314 | CAN1 | J17:1 | J17:2 | can0 |
| CAN2 | J15:1 | J15:2 | can1 |
(test instruction)
adopt way of sending with CAN1 and receiving with CAN0。
(test method)
1)interface connection
note:this step need a short connection of evaluation board pins,if you are not sure of how to conduct this kind of connection,please ask hardware engineer for a support,otherwise it may cause a damage of evaluation board。
connect CAN1的CAN_L with CAN2的CAN_L。
connect CAN1的CAN_H with CAN2的CAN_H。
2)execute test
configure CAN0
# ip link set can0 up type can bitrate 125000
configure CAN1
# ip link set can1 up type can bitrate 125000
configure CAN0 receiving
# candump can0 &
CAN1 sending
# cansend can1 1F334455#1122334455667788
(figure)

(WIFI test)
insmod ~/my-demo/linux-3.14.52/8188eu-myimx6.ko
insmod ~/8188eu-myimx6.ko
wpa_passphrase WIFI name WIFI password > /etc/wpa_supplicant.conf
wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B
udhcpc -i wlan0
(IPU test)
(test instruction)
the whole IPU test will take over ten minutes。
(test method)
1)execute test
enter directory where test program is located(must enter directory where test program is locased for a normal test script)
# cd /unit_tests/
execute test script
# ./autorun-ipu.sh
2)test result
in the whole test process,you can see a constant change of content on the display screen。
after test,you can see message like below on terminal:
test stop at Thu Jan 1 00:33:38 UTC 1970
(figures)


(GPU test)
(test instruction)
verify functions of GPU。
(test method)
# cd /opt/viv_samples/vdk/ && ./tutorial3 -f 100
# cd /opt/viv_samples/vdk/ && ./tutorial4_es20 -f 100
# cd /opt/viv_samples/tiger/ &&./tiger
after execution of test commands,you can see a constant change of content on the display screen。for more details please refer to /unit_test/gpu.sh
(figure)

(VPU test)
(test instruction)
in the test,vedio file will be decoded with VPU and outputed to the display device。
(test method)
enter directory where test program is located(must enter directory where test program is locased for a normal test script)
# cd /unit_tests/
# ./autorun-vpu.sh
in the whole test process,you can see the vedio decoded by VPU on the display screen。
(figure)

(reveal function test)
instruction:need to re-boot system to enter u-boot command line for each reveal function test,enter command and press Enter key。
example as below:

(single screen display)
instruction:enter command and press Enter key,observe the displayed content on screen in the course of system booting,Linux Logo can be seen。
LVDS1
=> setenv display ${fb0_lvds1}
=> saveenv; boot
LVDS0
=> setenv display ${fb0_lvds0}
=> saveenv; boot
HDMI
=> setenv display ${fb0_hdmi}
=> saveenv; boot
note:if HDMI to VGA,please confirm whether need power supply to switching device 。
RGB
=> setenv display ${fb0_lcd}
=> saveenv; boot
(dual screen synchronous display)
instruction:enter command and press Enter key,Linux Logo is displayed on the two screens in kernel booting,and other operations to screen is also displayed on the two screens。
(LVDS1+LVDS0 synchronous display)
=> setenv display ${lvds_sync}
=> saveenv; boot
(dual screen asynchronous display)
(lead in test environment variables)
# 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"
(test commands probably to be used)
- play video to main display screen
# $GSTL $PLAYBIN uri=file://$MP4_FILE video-sink="imxv4l2sink device=/dev/video17"
- play video to the second display screen
# $GSTL $PLAYBIN uri=file://$MP4_FILE video-sink="imxv4l2sink device=/dev/video18"
(LVDS1 as main screen)
- LVDS1+RGB dual screen asynchronous display
=> setenv display ${fb0_lvds1} ${fb1_lcd}
=> saveenv; boot
- LVDS1+HDMI dual screen asynchronous display
=> setenv display ${fb0_lvds1} ${fb1_hdmi}
=> saveenv; boot
(LVDS0 as main screen)
- LVDS0+RGB dual screen asynchronous display
=> setenv display ${fb0_lvds0} ${fb1_lcd}
=> saveenv; boot
- LVDS0+HDMI dual screen asynchronous display
=> setenv display ${fb0_lvds0} ${fb1_hdmi}
=> saveenv; boot
(RGB as main screen)
- RGB+LVDS1 dual screen asynchronous display:
=> setenv display ${fb0_lcd} ${fb1_lvds1}
=> saveenv; boot
RGB+LVDS0 dual screen asynchronous display:
=> setenv display ${fb0_lcd} ${fb1_lvds0}
=> saveenv; boot
(HDMI as main screen)
- HDMI+LVDS1 dual screen asynchronous display
=> setenv display ${fb0_hdmi} ${fb1_lvds1}
=> saveenv; boot
- HDMI+LVDS0 dual screen asynchronous display
=> setenv display ${fb0_hdmi} ${fb1_lvds0}
=> saveenv; boot
If you would like to know more about our products, please visit www.myzr-tech.com or email to enquiry@myzr.com.cn.