MY-IMX6-EK200 Linux-3.14.52 Test Manual

来自明远智睿的wiki
跳转至: 导航搜索

目录

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

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

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

  • 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 the GPIO direction

# 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)Vrify 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.
Connect outputed IO pins configured above with inputed IO pins configured above correspondingly.Namely :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-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:
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-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
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. 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

  • 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. 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</span>
# ~/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-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 CAN_L of CAN1 to CAN_L of CAN2. Connect CAN_H of CAN1 to CAN_H of CAN2.

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


  • Special notes:
When  u-boot  version u-boot-2016.03 svn315 and above
      Kernel  version Linux -3.0.35 svn31 and above
                      Linux -3.14.52 svn369 and above
                      Linux -3.14.52 svn368 and above
      Burning tool MfgTool-MYIMX6A9-L* svn181 and above 

Please refer to 《[MY-IMX6-A9 series: display functional tests》my-imx6-a9 series: display function test for testing


  • In general, it is tested as follows:

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

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. Einterface 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.
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-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:
MY-IMX6 Linux-3.14 2.2.3.1 .png

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

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

  • 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 the GPIO direction

# 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)Vrify 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.
Connect outputed IO pins configured above with inputed IO pins configured above correspondingly.Namely :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-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:
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-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
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. 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

  • 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. 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</span>
# ~/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-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 CAN_L of CAN1 to CAN_L of CAN2. Connect CAN_H of CAN1 to CAN_H of CAN2.

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

</div>