Cherry Zheng

MY-IMX6-EK200 Linux 3.14.52 test manual

Discussion created by Cherry Zheng on Apr 17, 2018

(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-EK200P410/100Mbpseth0
P310/100Mbpseth1
MY-IMX6-EK314U1210/100/1000Mbpseth0
P110/100Mbpseth1

 

(test method)

1)configure computer IP

set wired network card IP of computer as 192.168.18.18
MY-IMX6 Linux-3.14 2.1.2.1 .png

2)Eth0 connect test

  • connect lan line: connect “eth0”on evaluation board with corresponding wired network card interface on computer with lan line
  • set evaluation board IP:

# ifconfig eth0 192.168.18.36      # configure the eth0

  • execute test command:

# 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
  • figure

MY-IMX6 Linux-3.14 2.1.2.2.png

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

  • execute test command:

# 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
  • figures

MY-IMX6 Linux-3.14 2.1.2.3.png

 

(USB test)

(interface property)

(evaluation board model no.)(interface position)(interface rate standard)
MY-IMX6-EK200J8480 Mbits/s
MY-IMX6-EK314J2480 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:
MY-IMX6 Linux-3.14 2.2.3.1 .png

(SD card test)

(interface property)

(evaluation model no.)(interface position)(interface type)
MY-IMX6-EK200J8SD
MY-IMX6-EK314J25SD

 

(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)

MY-IMX6 Linux-3.14 2.3.3.1 .png

 

(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)

MY-IMX6 Linux-3.14 2.5.3.1 .png

 

(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。

  • test result

you can see the vedeo image for about 1 second on display screen of evaluation board after execution of test command。

(figures)

MY-IMX6 Linux-3.14 2.6.3.1 .png

(standard GPIO test)

(interface property)

MY-IMX6-EK200
(IO order number)(GPIO property)(interface position)(interface position)(GPIO property)(IO order number)
--gpio-ledsJ4:3J4:4GPIO6_IO11171
--gpio-ledsJ4:5J4:6GPIO2_IO2658
10GPIO1_IO10J4:7J4:8GPIO1_IO2020
--gpio-ledsJ4:9J4:10GPIO3_IO2185
--gpio-ledsJ4:11J4:12GPIO3_IO2286
11GPIO1_IO11J4:13J4:14NCNC
192GPIO7_IO00J21:12J21:11GPIO3_IO3094
MY-IMX6-EK314 & MY-IMX6-EK336
(IO order number)(IO order number)(interface position)(interface position)(GPIO property)(IO order number)
2GPIO1_IO02J23:11J23:12GPIO3_IO3094
193GPIO7_IO01U14:3U14:4GPIO7_IO00192
177GPIO6_IO17U14:5U14:6GPIO6_IO18178
176GPIO6_IO16U14:7U14:8GPIO2_IO0739
35GPIO2_IO03U14:9U14:10GPIO2_IO0638
169GPIO6_IO09U14:11U14:12GPIO6_IO11171
34GPIO2_IO02U14:13U14:14GPIO2_IO0032
36GPIO2_IO04U14:15U14:16GPIO2_IO0537
29GPIO1_IO29U14:17U14:18GPIO1_IO2727
30GPIO1_IO30U14:19U14:20GPIO1_IO2626
24GPIO1_IO24U14:21U14:22GNDGND
10GPIO1_IO10U14:23U14:24GPIO1_IO1515
12GPIO1_IO12U14:25U14:26GPIO1_IO1313
11GPIO1_IO11U14:27U14:28GPIO1_IO1414
85GPIO3_IO21U14:29U14:30GPIO3_IO2286
GNDGNDU14:31U14:32GNDGND
--gpio-ledsU14:33U14:34gpio-leds--
20GPIO1_IO20U14:35U14:36gpio-leds--
116GPIO4_IO20U14:37U14:38gpio-leds--

 

(test method)

1)GPIO output test

  • set IO order number for GPIO of which need to be tested

# OUT_IO_NUMBER=85

  • lead out GPIO

# echo ${OUT_IO_NUMBER} > /sys/class/gpio/export

  • set GPIO direction

# 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
MY-IMX6 Linux-3.14 2.7.2.1 .png

2)GPIO input test

  • set IO order number for GPIO of which need to be tested

# IN_IO_NUMBER=86

  • lead out GPIO

# echo ${IN_IO_NUMBER} > /sys/class/gpio/export

  • set GPIO方向

# echo in > /sys/class/gpio/gpio${IN_IO_NUMBER}/direction

  • check inputed electrical level

cat /sys/class/gpio/gpio${IN_IO_NUMBER} /value
MY-IMX6 Linux-3.14 2.7.2.2 .png

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
MY-IMX6 Linux-3.14 2.7.2.3 .png

 

(GPIO-LED test)

(interface property)

MY-IMX6-EK200MY-IMX6-EK314
(interface position)(GPIO property)(LED property)(interface position)(GPIO property)(LED property)
J4:3gpio-ledsheartbeatU14:24gpio-ledsheartbeat
J4:5gpio-ledstimerU14:28gpio-ledstimer
J4:9gpio-ledsdefault-onU14:26gpio-ledsdefault-on
J4:11gpio-ledsgpioU14:25gpio-ledsgpio

 

(GPIO-LED(Heartbeat)test)

after system booting is completed,check interface corresponding with heartbeat with oscilloscope,then you can see message like below:
MY-IMX6 Linux-3.14 2.8.2.1 .png
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:
MY-IMX6 Linux-3.14 2.8.3.1 .png
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-EK200MY-IMX6-EK314
(interface position)(GPIO property)(KEY property)(interface position)(GPIO property)(LED property)
SW2gpio-keysPower ButtonSW4gpio-keysPower Button
SW3gpio-keysVolume UpSW3gpio-keysVolume Up
SW5gpio-keysVolume DownSW2gpio-keysVolume 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
MY-IMX6 Linux-3.14 2.9.2.1 .png

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。
MY-IMX6 Linux-3.14 2.9.2.2 .png

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.)UARTxRxTx(system interface)
MY-IMX6-EK200UART2J1:9J1:7ttymxc1
UART3J1:13J1:11ttymxc2
UART4J1:17J1:15ttymxc3
UART5J1:16J1:18ttymxc4
MY-IMX6-EK314UART2J12:9J12:10ttymxc1
UART3J12:12J12:13ttymxc2
UART4J12:17J12:15ttymxc3
UART5J12:16J12:18ttymxc4

  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

  • prepare test

short connect sending pin and receiving pin of serial port 2(no.9 and 10 of J1)。

  • execute test command

# ./uart.out /dev/ttymxc1 "www.myzr.com.cn"

  • figures for test result

MY-IMX6 Linux-3.14 2.10.2.1 .png

4)UART3 test

  • prepare test

short connect sending pin and receiving pin of serial port 3(no.12 and 13 of J1)。

  • execute test command

# ./uart.out /dev/ttymxc2 "www.myzr.com.cn"

  • figures for test result

MY-IMX6 Linux-3.14 2.10.2.2 .png

5)UART4 test

  • prepare test

short connect sending pin and receiving pin of serial port 4(no.15 and 17 of J1)。

  • execute test command

# ./uart.out /dev/ttymxc3 "www.myzr.com.cn"

  • figures for test result

MY-IMX6 Linux-3.14 2.10.2.3 .png

6)UART5 test

  • prepare test

short connect sending pin and receiving pin of serial port 5(no.16 and 18 of J1)。

  • execute test command

# ./uart.out /dev/ttymxc4 "www.myzr.com.cn"

  • figures for test result

MY-IMX6 Linux-3.14 2.10.2.4 .png

 

(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
MY-IMX6 Linux-3.14 2.11.3.1 .png
  below image is screenshots for step3 in the test
MY-IMX6 Linux-3.14 2.11.3.2.png

 

(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。
MY-IMX6 Linux-3.14 2.12.2.1 .png

(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

  • boot WatchDog

# /unit_tests/wdt_driver_test.out 4 2 1 &

  • check current time

# date
MY-IMX6 Linux-3.14 2.12.3.1 .png

3)verify

  • check current time

after a few minutes,if system hasn't resetted yet,re-check current time。
# date

  • stop feeding dog

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
MY-IMX6 Linux-3.14 2.12.3.2 .png

 

(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.)SPIxMISOMOSI
MY-IMX6-EK200SPI1J7:7J7:9
SPI2J7:8J7:10
MY-IMX6-EK314SPI1J13:6J13:12
SPI2J13:7J13: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)

MY-IMX6 Linux-3.14 2.13.4.1 .png

(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-EK200CAN1J19:1J19:2can0
CAN2J16:1J16:2can1
MY-IMX6-EK314CAN1J17:1J17:2can0
CAN2J15:1J15:2can1

(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)

MY-IMX6 Linux-3.14 2.14.4.1 .png

 

(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)

MY-IMX6 Linux-3.14 2.15.3.1 .png

 

MY-IMX6 Linux-3.14 2.15.3.2 .png

 

(GPU test)

(test instruction)

verify functions of GPU。

(test method)

  • execute test command

# cd /opt/viv_samples/vdk/ && ./tutorial3 -f 100
# cd /opt/viv_samples/vdk/ && ./tutorial4_es20 -f 100
# cd /opt/viv_samples/tiger/ &&./tiger

  • test process

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)

MY-IMX6 Linux-3.14 2.16.3.1 .png

(VPU test)

(test instruction)

in the test,vedio file will be decoded with VPU and outputed to the display device。

 

(test method)

  • 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-vpu.sh

  • test phenomenon

in the whole test process,you can see the vedio decoded by VPU on the display screen。

 

(figure)

MY-IMX6 Linux-3.14 2.17.3.1 .png

(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:
MY-IMX6 Linux-3.14 3.0.0.1 .png

 

(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双屏异步显示:

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.

Outcomes