“MYZR-IMX6-EK140P Linux-4.1.15 Test Manual”的版本间的差异

来自明远智睿的wiki
跳转至: 导航搜索
(创建页面,内容为“<div> == '''Test of network interface''' == *Interface property: <br> {| class="wikitable" |Evaluation board model |CPU interface |System interface |Interface s...”)
 
第1行: 第1行:
<div>
+
 
 +
[^_^]: 
 +
MY-IMX6-EK140P Linux-4.1.15 Test Manual 
 +
 
 +
<br />
 +
 
 +
### Test Environment 
 +
* Development board model:MY-IMX6-EK140P-6Y-512M-4G 
 +
* Kernel version:Linux-4.1.15 
 +
* File system:L4115-core-image-base-myimx6a7.tar.bz2
 +
 +
### 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   
  
== '''Test of network interface''' ==
+
### Network inferface test 
 +
MY-IMX6-EK140P support two 100 Mbps ethernet interfaces.
 +
####Interface property   
 +
Eth0 Interface position:P10 
 +
Eth1 Interface position::P8 
  
*Interface property:
+
#####Test method
<br>
+
1)Configure computer IP 
{| class="wikitable"
+
Set wired network card IP of computer as 192.168.137.99   
|Evaluation board model
 
|CPU interface
 
|System interface
 
|Interface silk screen
 
|-
 
|MY-IMX6-EK140
 
|ENET1
 
|eth0
 
|P10
 
|-
 
|MY-IMX6-EK140
 
|ENET1
 
|eth1
 
|P8
 
|}
 
  
===Test method===
+
2)Eth0 connect test  
1)Configure computer IP <br>
+
Connect lan line: connect “eth0”on evaluation board with corresponding wired network card interface on computer with lan line.    
Set IP of cable network interface card for computer as 192.168.18.18<br>
+
Note: check jumper cap to ensure it is attached.     
<br>
+
*Set evaluation board IP: 
[[File:MY-IMX6-ek140p L41115 1.1 .jpg|520px]]<br>
+
<pre>
2) Eth0 test for Wth0 connection<br>
+
# ifconfig eth0 192.168.137.81
*Lan line connection:connect interface corresponding to “eth0”on evaluation board with interface of cable network interface card on computer through lan line. <br>
+
</pre>
*Set IP for evaluation board:<br>
+
*Execute test command:
::# ifconfig eth0 192.168.18.36 ::# configure the eth0<br>
+
<pre>
*Execute test command:<br>
+
# ifconfig eth1 down
::# ping 192.168.18.18 -c 2 -w 4 ::# send ICMP to HOST<br>
+
# ping 192.168.137.99 -c 2 -w 4  
*View test result,you can see information outputed by system like below:<br>
+
</pre>
::--- 192.168.18.18 ping statistics ---<br>
 
::2packets transmitted, 2 packets received, 0% packet loss<br>
 
*Test reuslt:“0% packet loss” represent passing of test<br>
 
<br>
 
Figures<br>
 
[[File:MY-IMX6-ek140p L41115_1.2.jpg|642px]]
 
<br>
 
<br>
 
3)eth1 test is the same as eth0 <br>
 
  
 +
*Observe test result:system will output message like following: 
 +
<pre>
 +
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
 +
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.685 ms
 +
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.374 ms
 +
 
 +
--- 192.168.137.99 ping statistics ---
 +
2 packets transmitted, 2 received, 0% packet loss, time 999ms
 +
rtt min/avg/max/mdev = 0.374/0.529/0.685/0.157 ms   
 +
</pre>
 +
*Test result:“0% packet loss”represent test passing. 
  
== '''USB test''' ==
+
3)Eth1 connect test     
 +
Connect lan line: connect “eth1”on evaluation board with corresponding wired network card interface on computer with lan line.   
 +
Note: check jumper cap to ensure it is attached. 
 +
*Set the second network port IP:     
 +
<pre>
 +
# ifconfig eth1 192.168.137.82
 +
</pre> 
 +
   
 +
*After setting, the system will output the working status information of the second network port: 
 +
<pre>
 +
fec 20b4000.ethernet eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
 +
IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
 +
fec 20b4000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
 +
IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
 +
</pre>
 +
*Execute test command:   
 +
<pre>
 +
# ifconfig eth0 down
 +
# ping 192.168.137.99 -c 2 -w 4
 +
</pre>
  
*Interface property:
+
*Observe test result:system will output message like following:  
<br>
+
<pre>
{| class="wikitable"
+
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
|Evaluation board model
+
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.705 ms
|CPU interface
+
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.386 ms
|System interface
 
|Interface silk screen
 
|-
 
|rowspan=2|MY-IMX6-EK140
 
|USB_OTG1
 
|USB OTG
 
|P18
 
|-
 
|USB_OTG2
 
|USB HOST
 
|P20
 
|}
 
  
===USB OTG test===<br>
+
--- 192.168.137.99 ping statistics ---
1)Connect to USB1 with USB switch wiring from MicroUSB,system will output information like below:<br>
+
2 packets transmitted, 2 received, 0% packet loss, time 999ms
::ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2<br>
+
rtt min/avg/max/mdev = 0.386/0.545/0.705/0.161 ms
::ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00<br>
+
</pre>
2)Connect USB device,e.g insert U disk to USD port on the switch wiring,system will output information like below:<br>
 
::usb 2-1: new high-speed USB device number 12 using ci_hdrc<br>
 
::usb-storage 2-1:1.0: USB Mass Storage device detected<br>
 
3)Take out USB device,system will output information like below:<br>
 
::usb 2-1: USB disconnect, device number 12<br>
 
4)Take out USB switch wiring,system will output information like below.<br>
 
::ci_hdrc ci_hdrc.0: remove, state 4<br>
 
::usb usb2: USB disconnect, device number 1<br>
 
::ci_hdrc ci_hdrc.0: USB bus 2 deregistered<br>
 
<br>
 
  
===USB HOST test===
+
*Test result:“0% packet loss”represent test passing. 
1)MY-IMX6-EK140 USB HOST is socket type,if need to test the function of HOST,need to connect signal line of USB HOST to the USB head self-prepared,?the operation need an assistance from hardware engineer.<br>
+
2)Moreover,please let engineer know that power supply capability of CPU的USB_VBUS is not enough,so need to connect“5V_core”with USB_VBUS<br>
+
###USB Test 
<br>
+
####Interface property   
Figure<br>
+
Interface position:P20
<br>
+
#####Test method
[[File:MY-IMX6-ek140p L41115_2.1.jpg|642px]]
+
1)Start test  
<br>
+
Insert USB device into USB port on base board,system will output message like following: 
<br>
+
<pre>
<br>
+
usb 1-1.4: new high-speed USB device number 4 using ci_hdrc 
[[File:MY-IMX6-ek140p L41115_2.2.jpg|642px]]
+
usb-storage 1-1.4:1.0: USB Mass Storage device detected 
<br>
+
scsi host0: usb-storage 1-1.4:1.0 
<br>
+
scsi 0:0:0:0: Direct-Access    Mass    Storage Device  1.00 PQ: 0 ANSI: 0 CCS 
<br>
+
sd 0:0:0:0: [sda] 7716864 512-byte logical blocks: (3.95 GB/3.67 GiB) 
[[File:MY-IMX6-ek140p L41115_2.3.jpg|642px]]
+
sd 0:0:0:0: [sda] Write Protect is off 
<br>
+
sd 0:0:0:0: [sda] No Caching mode page found 
<br>
+
sd 0:0:0:0: [sda] Assuming drive cache: write through 
<br>
+
sda: sda1 sda2 
[[File:MY-IMX6-ek140p L41115_2.4.jpg|642px]]
+
sd 0:0:0:0: [sda] Attached SCSI removable disk 
 +
</pre>
 +
 
 +
2)Test over
 +
Take out USB device from base board,system will output message like following:
 +
<pre>
 +
usb 1-1.4: USB disconnect, device number 4 
 +
</pre>  
 +
 
 +
### TF card test 
 +
####Interface property   
 +
Interface position:P13   
 +
Interface type: MicroSD     
 +
#####Test method
 +
1)Start test 
 +
Insert the equipment into the card slot, and insert the card into the card interface on the card board.  
 +
Enter the following command: 
 +
<pre>
 +
# dmesg | grep mmc0 
 +
</pre>
 +
The system will output the following information,that means the TF interface is normal: 
 +
<pre>
 +
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA 
 +
mmc0: host does not support reading read-only switch, assuming write-enable 
 +
mmc0: new high speed SDHC card at address 1234 
 +
mmcblk0: mmc0:1234 SA04G 3.67 GiB 
 +
</pre>
 +
 
 +
2)View the system's TF card equipment
 +
Enter the following command: 
 +
<pre>
 +
# ls /dev/mmcblk0* 
 +
</pre>
 +
The system will output the following information:
 +
<pre>
 +
/dev/mmcblk0    /dev/mmcblk0p1  /dev/mmcblk0p2 
 +
</pre>
  
== '''SD card test''' ==
+
 
 +
### Standard GPIO testing
 +
####Interface property   
 +
Interface position :  P21 
 +
1)GPIO output test 
 +
The test of standard GPIO takes P21:35 and P21:36 as examples. Other GPIO tests can refer to this test method. 
 +
 +
* Configure P21:35 for output   
 +
Enter the following command: 
 +
<pre>
 +
# OUT_IO_OUT_NUM=4
 +
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export   
 +
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction 
 +
# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
 +
</pre> 
 +
Note: configure P21:35 to output low level and measure by multimeter. If pin P21:35 voltage is 0V, configure OK. 
  
*Interface property:
+
* Configure P21:36 for output     
<br>
+
Enter the following command:  
{| class="wikitable"
+
<pre>
|Evaluation board model
+
# OUT_IO_OUT_NUM=
|CPU interface
+
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export
|System interface
+
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction 
|Interface silk screen
+
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
|-
+
</pre>
|MY-IMX6-EK140
+
Note: configure P21:36 to output low level and measure by multimeter. If pin P21:35 voltage is 3.3V, configure OK.  
|SD1
 
|mmc0
 
|U15
 
|}
 
===Test instruction===
 
MY-IMX6-EK140 TF card interface doesn't support hot plug<br>
 
<br>
 
===Test method===
 
1)Power off MY-IMX6-EK140<br>
 
2)Install TF card in TF card holder,and confirm the installation ok<br>
 
3)Power on MY-IMX6-EK140,enter the system after booting is finished<br>
 
5)Check TF card<br>
 
::# dmesg | grep "mmc0"<br>
 
If IF card is normal, then you can see information like below:<br>
 
::mmc0: host does not support reading read-only switch. assuming write-enable.<br>
 
::mmc0: new high speed SD card at address 0002<br>
 
<br>
 
Figure<br>
 
<br>
 
[[File:MY-IMX6-ek140p L41115_3.1.jpg|642px]]
 
  
 +
2)Control the output level 
 +
Enter the following command:
 +
<pre>
 +
# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value 
 +
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
 +
</pre> 
 +
Control output level can be achieved.
 +
* Other available GPIO: P21:33,34,23;The corresponding IO serial Number is: 2,1,110
 +
 
 +
### GPIO-LED test 
 +
 +
#### led-heartbeat 
 +
* led-heartbeat Connect to the indicator D12, and you can see the D12 flashing regularly after the system starts. 
 +
 
 +
#### led-timer 
 +
* led-timer Connect to the indicator D8, and you can see the D8 flashing regularly after the system starts. 
 +
* Control high&low electrical time     
  
== '''Standard GPIO test''' ==
+
1)Change the time of extinction   
 +
<pre>
 +
# echo 1000 > /sys/class/leds/led-timer/delay_off 
 +
</pre>
 +
2)Change the lighting time
 +
<pre>
 +
# echo 2000 > /sys/class/leds/led-timer/delay_on 
 +
</pre>
 +
 
 +
##### led-default 
 +
*led-default connect to D11, and the default state will be constant after system startup.
 +
1)Make the D11 normally on 
 +
Default - on can be controlled by brightness, Default - on the implementation of the state is the initial trigger to on, after the initial trigger for the high level.   
 +
Enter the following command: 
 +
<pre>
 +
# echo 1 > /sys/class/leds/default/brightness 
 +
</pre>
 +
2)Destroy the D11   
 +
To write 0 brightness can detect low level.   
 +
Enter the following command: 
 +
<pre>
 +
# echo 0 > /sys/class/leds/default/brightness 
 +
</pre>
  
*Interface property:
+
### PWM Test 
<br>
+
##### PWM-LED
{| class="wikitable"
+
Enter the following command:
|Evaluation board model
+
<pre>
|CPU interface
+
# PWM_DEV=pwmchip4
|System device
+
# echo 0 > /sys/class/pwm/$PWM_DEV/export  
|Signal Name
+
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
|Interface position
+
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
|-
+
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
|MY-IMX6-EK140
+
</pre>
|SNVS_TAMPER1
+
* Note: the LED(D7) can be seen flashing once in 1 second (1000000000 ns) (high level duration is 100000000 ns = 0.1 s).
|gpio129
 
|SNVS_TAMPER1
 
|P21:16
 
|}
 
===Test instruction===
 
Take GPIO129 as an example of standard GPIO test,other GPIO tests refer to the test method of GPIO129<br>
 
<br>
 
===Test method===
 
1)Set IO order number of GPIO which need to be tested<br>
 
::# OUT_IO_NUMBER=129<br>
 
2)Lead out GPIO<br>
 
::# echo ${OUT_IO_NUMBER} > /sys/class/gpio/export<br>
 
3)Set direction for GPIO<br>
 
::# echo "out" > /sys/class/gpio/gpio${OUT_IO_NUMBER}/direction<br>
 
4)Control output electrical level<br>
 
::# echo 0 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value<br>
 
Leads detected by multimeter accordingly will be low electrical level after execution of command<br>
 
::# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value<br>
 
Leads detected by multimeter accordingly will be high electrical level after execution of command<br>
 
  
 +
##### PWM-Buzzer 
 +
Enter the following command: 
 +
<pre>
 +
# PWM_DEV=pwmchip1
 +
# echo 0 > /sys/class/pwm/$PWM_DEV/export
 +
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
 +
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
 +
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
 +
</pre>
 +
* Note: the buzzer can be heard once in 1 second (1000000000 ns) (high level duration: 100000000 ns = 0.1 s).
  
== '''Serial port test''' ==
+
### Serial port test  
 +
Test instruction: adopt the test of serial port.
 +
#### UART2
 +
#### Interface property   
 +
*Interface position :P21:27,28 
 +
* Device:/dev/ttymxc1 
 +
1)Test preparation 
 +
Send and receive pin of short serial port 2 (pin no. 27 and no. 28 of P21). 
 +
2)Test conducted   
 +
Enter the following command:   
 +
<pre>
 +
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc1 "www.myzr.com.cn" 
 +
</pre>
 +
The system will output similar information:     
 +
<pre>
 +
Starting send data...finish
 +
Starting receive data:
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x6d      Character: m
 +
ASCII: 0x79      Character: y
 +
ASCII: 0x7a      Character: z
 +
ASCII: 0x72      Character: r
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x63      Character: c
 +
ASCII: 0x6f      Character: o
 +
ASCII: 0x6d      Character: m
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x63      Character: c
 +
ASCII: 0x6e      Character: n
 +
ASCII: 0x0      Character: 
 +
</pre>
 +
 
 +
#### UART3
 +
####Interface property   
 +
* Interface position :P21: 25,26   
 +
* Device:/dev/ttymxc2   
 +
1)Test preparation   
 +
Send and receive pin of short serial port 3 (no. 25 and no. 26 pin of P21). 
 +
2)Test conducted 
 +
Enter the following command: 
 +
<pre>
 +
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc2 "www.myzr.com.cn" 
 +
</pre> 
 +
The system will output similar information: 
 +
<pre>
 +
Starting send data...finish
 +
Starting receive data:
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x77      Character: w
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x6d      Character: m
 +
ASCII: 0x79      Character: y
 +
ASCII: 0x7a      Character: z
 +
ASCII: 0x72      Character: r
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x63      Character: c
 +
ASCII: 0x6f      Character: o
 +
ASCII: 0x6d      Character: m
 +
ASCII: 0x2e      Character: .
 +
ASCII: 0x63      Character: c
 +
ASCII: 0x6e      Character: n
 +
ASCII: 0x0      Character: 
 +
</pre>
 +
   
 +
### CAN Test
 +
Test instructions: My-imx6-ek140p has two groups of CAN interfaces, which are sent by CAN1 and received by CAN0. 
 +
####Interface property 
 +
Interface position :CAN1  P7:1,2 
 +
Interface position :CAN2  P9:1,2 
 +
 
 +
1)Test preparation 
 +
Connect CAN_L (p7:1) of CAN1 to CAN_L (p9:1) of CAN2;Connect CAN_H (p7:2) of CAN1 to CAN_H (p9:2) of CAN2.     
 +
2)Enter the following command
 +
* Configure CAN1 (can0)   
 +
<pre>
 +
# ip link set can0 up type can bitrate 125000 
 +
</pre>
 +
The system will output similar information:
 +
<pre>
 +
flexcan 2090000.can can0: writing ctrl=0x0e312005
 +
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
 +
</pre>
 +
* Configure CAN2 (can1) 
 +
<pre>
 +
# ip link set can1 up type can bitrate 125000 
 +
</pre>
 +
The system will output similar information:
 +
<pre>
 +
flexcan 2094000.can can1: writing ctrl=0x0e312005
 +
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
 +
</pre>
 +
* CAN1 (can0) background to receive 
 +
<pre>
 +
# candump can0 & 
 +
</pre>
 +
The system will output similar information:
 +
<pre>
 +
[1] 589
 +
</pre>
 +
* CAN2 (can1) send data 
 +
<pre>
 +
# cansend can1 1F334455#1122334455667788
 +
</pre>
 +
The system will output similar information:
 +
<pre>
 +
can0  1F334455  [8]  11 22 33 44 55 66 77 88
 +
</pre>
  
===Test instruction===
+
### SPI test 
Serial port self - collection test was used.<br>
+
Test instructions;There are two paths for SPI on the assessment board. 
*Serial port property:<br>
+
#### ECSPI1 test  
{| class="wikitable"
+
####Interface property
|Evaluation board model
+
* Interface position :P21: 3,4 
|UARTx
+
* Test Device:/dev/spidev0.0 
|TX
+
1)Test preparation
|RX
+
Short P21 on 3 and 4 pin. 
|System interface
+
2)Enter the following command :
|-
+
<pre>
|rowspan=2|MY-IMX6-EK140P
+
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev0.0 
|UART3
+
</pre>
|P21:26
+
The test results are similar to the following output, indicating that the test passed:  
|P21:25
+
<pre>
|ttymxc2
+
spi mode: 0
|-
+
bits per word: 8
|UART2
+
max speed: 500000 Hz (500 KHz)
|P21:28
 
|P21:27
 
|ttymxc1
 
|}
 
  
Tip: only the transceiver pins of the test serial port are listed here. See the schematic diagram for the definition of other pins of the serial port.<br>
+
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 
 +
</pre>
 +
 
 +
#### ECSPI2 test 
 +
####Interface property
 +
* Interface position :P21: 9,10 
 +
* Test Device:/dev/spidev1.0   
 +
1)Test preparation 
 +
Short P21 9 and 10 pin. 
 +
2)Enter the following command :
 +
<pre>
 +
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0 
 +
</pre> 
 +
The test results are similar to the following output, indicating that the test passed: 
 +
<pre>
 +
spi mode: 0
 +
bits per word: 8
 +
max speed: 500000 Hz (500 KHz)
  
===Test method===
+
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00 00 00 00 00
 +
00 00
 +
</pre>
 +
 
 +
### Watchdog Test
 +
Test instructions: WatchDog test includes 2 items: reset test and feeding dog test.
 +
##### Timeout reset test
 +
1)Test instructions   
 +
The reset test will start the WatchDog, but without feeding the dog, the system will reset after the timeout. 
 +
2)Enter the following command : 
 +
<pre>
 +
# /unit_tests/wdt_driver_test.out 10 15 1 
 +
</pre>
 +
After waiting for 10 seconds after running the test command, the WatchDog timed out and the system was reset. 
 +
The system restart output information will be seen in the terminal as follows:
 +
<pre>
 +
Starting wdt_driver (timeout: 10, sleep: 15, test: write)
 +
Trying to set timeout value=10 seconds
 +
The actual timeout was set to 10 seconds
 +
Now reading back -- The timeout is 10 seconds
 +
random: nonblocking pool is initialized
  
(1)Enter the test program directory<br>
 
::# cd /home/root/my-demo/linux-4.1.15/<br>
 
(2)Short the 26 and 25 pins of P21.<br>
 
(3)./uart_test.out /dev/ttymxc2 “www.myzr.com.cn”<br>
 
Test reuslt:<br>
 
<br>
 
[[File:MY-IMX6-ek140p L41115_5.1.jpg|642px]]
 
  
 +
U-Boot 2016.03-svn270 (Oct 08 2018 - 16:52:53 +0800)
  
== '''CAN Test''' ==
+
CPU:  Freescale i.MX6ULL rev1.0 528 MHz (running at 396 MHz)
===Test instruction===
+
CPU:  Industrial temperature grade (-40C to 105C) at 51C
There are two sets of CAN interfaces on the MY-IMX6-EK140P.<br>
+
Reset cause: WDOG
{| class="wikitable"
+
Board: MYIMX6EK140P-6Y
|Evaluation board model
+
</pre>
|CANx
+
 
|Signal Name:CAN_L
+
##### Feed the dog test
|Signal Name:CAN_H
+
1)Test instructions
|System device
+
The dog feeding test will start the WatchDog and feed the dog once every 2 seconds, and the system will reset within the timeout (in this case 4 seconds).
|-
+
2)Input test instruction
|rowspan=2|MY-IMX6-EK140P
+
<pre>
|CAN1
+
# /unit_tests/wdt_driver_test.out 4 2 1 &
|P7:1
+
</pre>  
|P7:2
+
The test results are similar to the following output, indicating that the test passed:  
|can1
+
<pre>
|-
+
[1] 585
|CAN2
+
Starting wdt_driver (timeout: 4, sleep: 2, test: write)
|P9:1
+
Trying to set timeout value=4 seconds
|P9:2
+
The actual timeout was set to 4 seconds
|can2
+
Now reading back -- The timeout is 4 seconds
|}
+
</pre>
Adopt CAN1 to send, CAN0 to receive.<br>
 
===Test method===
 
(1)Connect CAN_L of CAN1 to CAN_L of CAN2; connect CAN_H of CAN1 with CAN_H of CAN2. <br>
 
(2)::# ip link set can0 up type can bitrate 125000<br>
 
(3)::# ip link set can1 up type can bitrate 125000<br>
 
(4)::# candump can0 &<br>
 
(5)::# cansend can1 1F334455::#1122334455667788<br>
 
Test reuslt:<br>
 
<br>
 
[[File:MY-IMX6-ek140p L41115_6.1.jpg|642px]]
 
== '''WIFI Test''' ==
 
===Test method===
 
(1)insmod /home/root/my-demo/linux-3.14.52/8188eu.ko<br>
 
(2)wpa_passphrase WIFI name WIFI password > /etc/wpa_supplicant.conf<br>
 
(3)wpa_supplicant -Dwext -iwlan0 -c/etc/wpa_supplicant.conf -B<br>
 
(4)udhcpc -i wlan0<br>
 
(5)Ping baidu's IP, if it can Ping, the test is successful<br>
 
  
== '''FXLS8471 Test''' ==
+
===Test method===
+
### RTC Test  
(1)# echo 1 > /sys/class/misc/FreescaleAccelerometer/enable<br>
+
1)Test instructions   
(2)Obtain sensor data:<br>
+
Restart Device after power outage, check current system time and hardware time
::# cat /sys/class/misc/FreescaleAccelerometer/data<br>
+
* Check the current system clock command as follows:
 +
<pre>
 +
# date 
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
Wed Sep 19 17:39:19 UTC 2018
 +
</pre>
 +
 
 +
2)View the current RTC chip clock 
 +
The order is as follows:
 +
<pre>
 +
# hwclock
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
Wed Sep 19 17:40:05 2018  0.000000 seconds
 +
</pre>
 +
 
 +
3)Set the system clock and synchronize to the RTC chip 
 +
The order is as follows:
 +
<pre>
 +
# date -s "2018-09-21 12:34:56" 
 +
</pre>
 +
The system will output similar information:  
 +
<pre>
 +
Fri Sep 21 12:34:56 UTC 2018
 +
</pre>
 +
 
 +
4)Writes the system clock to the hardware clock
 +
<pre>
 +
# hwclock -w 
 +
</pre>
 +
 
 +
5)Power outage restart assessment board to view the current system clock and hardware clock 
 +
The order is as follows:
 +
<pre>
 +
# date
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
Fri Sep 21 12:36:02 UTC 2018
 +
</pre>
 +
 
 +
6)View the current RTC chip clock
 +
The order is as follows:
 +
<pre>
 +
# hwclock 
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
Fri Sep 21 12:36:12 2018  0.000000 seconds
 +
</pre>
  
 +
### Timed wake-up test
 +
1)Set to wake up event 10 seconds later 
 +
<pre>
 +
# echo +10 > /sys/class/rtc/rtc1/wakealarm
 +
</pre>
 +
2)Put the Device in
 +
<pre>
 +
# echo mem > /sys/power/state
 +
</pre>
 +
3)Sleep information
 +
<pre>
 +
PM: Syncing filesystems ... done.
 +
Freezing user space processes ...
 +
Freezing remaining freezable tasks ... (elapsed 0.006 seconds) done.
 +
Suspending console(s) (use no_console_suspend to debug)
 +
</pre>
 +
4)Wake up the information
 +
<pre>
 +
(elapsed 0.001 seconds) done.
 +
PM: suspend of devices complete after 708.601 msecs
 +
PM: suspend devices took 0.710 seconds
 +
PM: late suspend of devices complete after 2.543 msecs
 +
PM: noirq suspend of devices complete after 2.410 msecs
 +
Disabling non-boot CPUs ...
 +
PM: noirq resume of devices complete after 1.494 msecs
 +
PM: early resume of devices complete after 1.571 msecs
 +
PM: resume of devices complete after 223.182 msecs
 +
PM: resume devices took 0.230 seconds
 +
Restarting tasks ... done.
 +
</pre>
  
 +
### Audio test 
 +
##### Playback of audio
 +
Test instructions:This test is to verify the audio function of the evaluation board by playing the audio file. 
 +
1)Test preparation   
 +
2)Execute test command
 +
<pre>
 +
# aplay /unit_tests/audio8k16S.wav 
 +
</pre>
 +
3)After executing the above test command, you will hear the voice output from the audio Device.
 +
The system will output similar information: 
 +
<pre>
 +
Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo 
 +
</pre>
  
== '''MAG3110 Test''' ==
+
##### The audio recording
(1)# echo 1 > /sys/class/misc/FreescaleGyroscope/enable<br>
+
1)Test preparation   
(2)# evtest<br>
+
2)Enter the following command 
[[File:MY-IMX6-ek140p L41115_9.1.jpg|642px]]<br>
+
* Recording
Select event0 corresponding to "fxas2100x". <br>
+
<pre>
(3)Input 0<br>
+
# arecord -d 5 -f S16_LE -t wav foobar.wav 
(4)There will be data output<br>
+
</pre>
 +
* Play recording
 +
<pre>
 +
# aplay foobar.wav 
 +
</pre>
 +
3)After executing the above test command, you will hear a recording played by the audio Device. 
 +
 
 +
### 4G Module EC20(optional) test
 +
Interface position :  P19   
 +
Test instructions:When the power is cut off, access the 4G module, connect the antenna and insert the SIM card, then start the evaluation board. 
 +
Enter the following command: 
 +
<pre>
 +
# /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out &
 +
</pre>
 +
The system will output similar information:     
 +
<pre>
 +
[1] 607
 +
[09-21_13:36:14:352] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
 +
[09-21_13:36:14:353] /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out profile[1] = (null)/(null)/(null)/0, pincode = (null)
 +
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2 idVendor=2c7c idProduct=0125
 +
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/net/eth2
 +
[09-21_13:36:14:356] Find usbnet_adapter = eth2
 +
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/GobiQMI/qcqmi2
 +
[09-21_13:36:14:357] Find qmichannel = /dev/qcqmi2
 +
[09-21_13:36:14:403] Get clientWDS = 7
 +
[09-21_13:36:14:435] Get clientDMS = 8
 +
[09-21_13:36:14:467] Get clientNAS = 9
 +
[09-21_13:36:14:499] Get clientUIM = 10
 +
[09-21_13:36:14:532] Get clientWDA = 11
 +
[09-21_13:36:14:563] requestBaseBandVersion EC20CEFAR02A10M4G
 +
[09-21_13:36:14:659] requestGetSIMStatus SIMStatus: SIM_READY
 +
[09-21_13:36:14:692] requestGetProfile[1] cmnet///0
 +
[09-21_13:36:14:724] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
 +
[09-21_13:36:14:755] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
 +
[09-21_13:36:14:819] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
 +
[09-21_13:36:16:036] requestSetupDataCall WdsConnectionIPv4Handle: 0x87756f40
 +
[09-21_13:36:16:132] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
 +
[09-21_13:36:16:163] ifconfig eth2 up
 +
[09-21_13:36:16:193] busybox udhcpc -f -n -q -t 5 -i eth2
 +
[09-21_13:36:16:211] udhcpc (v1.24.1) started
 +
[09-21_13:36:16:318] Sending discover...
 +
[09-21_13:36:16:378] Sending select for 10.151.159.101...
 +
[09-21_13:36:16:438] Lease of 10.151.159.101 obtained, lease time 7200
 +
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 221.179.38.7
 +
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 120.196.165.7
 +
</pre>
  
 +
### Display (optional) test 
 +
During the system startup, you can see the Linux penguin and OpenEmbedded startup scene. 
 +
 
 +
### FXLS8471 Display (optional) test
 +
* Make the sensor Enable 
 +
<pre>
 +
# echo 1 > /sys/class/misc/FreescaleAccelerometer/enable 
 +
</pre>
 +
* View sensor data
 +
<pre>
 +
# cat /sys/class/misc/FreescaleAccelerometer/data 
 +
</pre>
 +
 
 +
### MAG3110 (optional) test
 +
* Make the sensor Enalbe 
 +
<pre>
 +
# echo 1 > /sys/class/misc/FreescaleGyroscope/enable 
 +
</pre>
 +
* Test 
 +
<pre>
 +
# evtest 
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
No device specified, trying to scan all of /dev/input/event*
 +
Available devices:
 +
/dev/input/event0:      20cc000.snvs:snvs-powerkey
 +
Select the device event number [0-0]: 
 +
</pre> 
 +
### FXAS2100 (optional) test
 +
* Test 
 +
<pre>
 +
# evtest 
 +
</pre>
 +
The system will output similar information: 
 +
<pre>
 +
No device specified, trying to scan all of /dev/input/event*
 +
Available devices:
 +
/dev/input/event0:      20cc000.snvs:snvs-powerkey
 +
Select the device event number [0-0]: 
 +
</pre>
 +
 
 +
<br /> 
  
== '''SPI Test''' ==
+
-------------------------------------------------------------------------------- 
===Test instruction===
+
<pre>
(1)There are 2 SPI channels in the evaluation board,and the corresponding device file of SPI1 is /dev/spidev0.0.The file for SPI2 is /dev/spidev1.0.<br>
+
-------------------------------------------------------------------------------- 
(2)Taking SPI1 as an example<br>
+
* Looking forward to communicating with you for more functions and field applications.   
===Test method===
+
* ZhuHai MYZR Technology CO.,LTD.
(1)Shorten the 3 and 4 feet of P21.<br>
+
* Latest Update: 2018/10/08   
(2)Execute test command: /home/root/my-demo/linux-4.1.15/spidev_test.out -D /dev/spidev0.0<br>
+
--------------------------------------------------------------------------------
(3)Test results are shown below to indicate that the test passed <br>
+
</pre>
[[File:MY-IMX6-ek140p L41115_10.1.jpg|520px]]<br>
 
 
 
Introductions:SPI2 test method with SPI1 (the same as above).<br>
 
 
 
</div>
 

2018年10月16日 (二) 15:46的版本


Test Environment

  • Development board model:MY-IMX6-EK140P-6Y-512M-4G
  • Kernel version:Linux-4.1.15
  • File system:L4115-core-image-base-myimx6a7.tar.bz2

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-EK140P support two 100 Mbps ethernet interfaces.

Interface property

Eth0 Interface position:P10
Eth1 Interface position::P8

Test method

1)Configure computer IP
Set wired network card IP of computer as 192.168.137.99

2)Eth0 connect test
Connect lan line: connect “eth0”on evaluation board with corresponding wired network card interface on computer with lan line.
Note: check jumper cap to ensure it is attached.

  • Set evaluation board IP:
# ifconfig eth0 192.168.137.81
  • Execute test command:
# ifconfig eth1 down 
# ping 192.168.137.99 -c 2 -w 4 
  • Observe test result:system will output message like following:
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.685 ms
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.374 ms 
  
--- 192.168.137.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.374/0.529/0.685/0.157 ms    
  • Test result:“0% packet loss”represent test passing.

3)Eth1 connect test
Connect lan line: connect “eth1”on evaluation board with corresponding wired network card interface on computer with lan line.
Note: check jumper cap to ensure it is attached.

  • Set the second network port IP:
# ifconfig eth1 192.168.137.82 
  • After setting, the system will output the working status information of the second network port:
fec 20b4000.ethernet eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
fec 20b4000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready 
  • Execute test command:
# ifconfig eth0 down
# ping 192.168.137.99 -c 2 -w 4 
  • Observe test result:system will output message like following:
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
64 bytes from 192.168.137.99: icmp_seq=1 ttl=64 time=0.705 ms
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.386 ms

--- 192.168.137.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.386/0.545/0.705/0.161 ms
  • Test result:“0% packet loss”represent test passing.

USB Test

Interface property

Interface position:P20

Test method

1)Start test
Insert USB device into USB port on base board,system will output message like following:

usb 1-1.4: new high-speed USB device number 4 using ci_hdrc  
usb-storage 1-1.4:1.0: USB Mass Storage device detected  
scsi host0: usb-storage 1-1.4:1.0  
scsi 0:0:0:0: Direct-Access     Mass     Storage Device   1.00 PQ: 0 ANSI: 0 CCS  
sd 0:0:0:0: [sda] 7716864 512-byte logical blocks: (3.95 GB/3.67 GiB)  
sd 0:0:0:0: [sda] Write Protect is off  
sd 0:0:0:0: [sda] No Caching mode page found  
sd 0:0:0:0: [sda] Assuming drive cache: write through  
 sda: sda1 sda2  
sd 0:0:0:0: [sda] Attached SCSI removable disk  

2)Test over Take out USB device from base board,system will output message like following:

usb 1-1.4: USB disconnect, device number 4  

TF card test

Interface property

Interface position:P13
Interface type: MicroSD

Test method

1)Start test
Insert the equipment into the card slot, and insert the card into the card interface on the card board.
Enter the following command:

# dmesg | grep mmc0  

The system will output the following information,that means the TF interface is normal:

mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA  
mmc0: host does not support reading read-only switch, assuming write-enable  
mmc0: new high speed SDHC card at address 1234  
mmcblk0: mmc0:1234 SA04G 3.67 GiB  

2)View the system's TF card equipment Enter the following command:

# ls /dev/mmcblk0*   

The system will output the following information:

/dev/mmcblk0    /dev/mmcblk0p1  /dev/mmcblk0p2  

Standard GPIO testing

Interface property

Interface position : P21
1)GPIO output test
The test of standard GPIO takes P21:35 and P21:36 as examples. Other GPIO tests can refer to this test method.

  • Configure P21:35 for output
    Enter the following command:
# OUT_IO_OUT_NUM=4 
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export    
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction  
# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value 

Note: configure P21:35 to output low level and measure by multimeter. If pin P21:35 voltage is 0V, configure OK.

  • Configure P21:36 for output
    Enter the following command:
# OUT_IO_OUT_NUM=3  
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction  
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value

Note: configure P21:36 to output low level and measure by multimeter. If pin P21:35 voltage is 3.3V, configure OK.

2)Control the output level
Enter the following command:

# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value   
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value 

Control output level can be achieved.

  • Other available GPIO: P21:33,34,23;The corresponding IO serial Number is: 2,1,110

GPIO-LED test

led-heartbeat

  • led-heartbeat Connect to the indicator D12, and you can see the D12 flashing regularly after the system starts.

led-timer

  • led-timer Connect to the indicator D8, and you can see the D8 flashing regularly after the system starts.
  • Control high&low electrical time

1)Change the time of extinction

# echo 1000 > /sys/class/leds/led-timer/delay_off  

2)Change the lighting time

# echo 2000 > /sys/class/leds/led-timer/delay_on  
led-default
  • led-default connect to D11, and the default state will be constant after system startup.

1)Make the D11 normally on
Default - on can be controlled by brightness, Default - on the implementation of the state is the initial trigger to on, after the initial trigger for the high level.
Enter the following command:

# echo 1 > /sys/class/leds/default/brightness  

2)Destroy the D11
To write 0 brightness can detect low level.
Enter the following command:

# echo 0 > /sys/class/leds/default/brightness  

PWM Test

PWM-LED

Enter the following command:

# PWM_DEV=pwmchip4
# echo 0 > /sys/class/pwm/$PWM_DEV/export 
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
  • Note: the LED(D7) can be seen flashing once in 1 second (1000000000 ns) (high level duration is 100000000 ns = 0.1 s).
PWM-Buzzer

Enter the following command:

# PWM_DEV=pwmchip1
# echo 0 > /sys/class/pwm/$PWM_DEV/export 
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
  • Note: the buzzer can be heard once in 1 second (1000000000 ns) (high level duration: 100000000 ns = 0.1 s).

Serial port test

Test instruction: adopt the test of serial port.

UART2

Interface property

  • Interface position :P21:27,28
  • Device:/dev/ttymxc1

1)Test preparation
Send and receive pin of short serial port 2 (pin no. 27 and no. 28 of P21).
2)Test conducted
Enter the following command:

# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc1 "www.myzr.com.cn"  

The system will output similar information:

Starting send data...finish
Starting receive data:
ASCII: 0x77      Character: w 
ASCII: 0x77      Character: w 
ASCII: 0x77      Character: w 
ASCII: 0x2e      Character: . 
ASCII: 0x6d      Character: m 
ASCII: 0x79      Character: y 
ASCII: 0x7a      Character: z 
ASCII: 0x72      Character: r 
ASCII: 0x2e      Character: . 
ASCII: 0x63      Character: c 
ASCII: 0x6f      Character: o 
ASCII: 0x6d      Character: m 
ASCII: 0x2e      Character: . 
ASCII: 0x63      Character: c 
ASCII: 0x6e      Character: n 
ASCII: 0x0       Character:   

UART3

Interface property

  • Interface position :P21: 25,26
  • Device:/dev/ttymxc2
    1)Test preparation
    Send and receive pin of short serial port 3 (no. 25 and no. 26 pin of P21).
    2)Test conducted
    Enter the following command:
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc2 "www.myzr.com.cn"  

The system will output similar information:

Starting send data...finish
Starting receive data:
ASCII: 0x77      Character: w 
ASCII: 0x77      Character: w 
ASCII: 0x77      Character: w 
ASCII: 0x2e      Character: . 
ASCII: 0x6d      Character: m 
ASCII: 0x79      Character: y 
ASCII: 0x7a      Character: z 
ASCII: 0x72      Character: r 
ASCII: 0x2e      Character: . 
ASCII: 0x63      Character: c 
ASCII: 0x6f      Character: o 
ASCII: 0x6d      Character: m 
ASCII: 0x2e      Character: . 
ASCII: 0x63      Character: c 
ASCII: 0x6e      Character: n 
ASCII: 0x0       Character:   

CAN Test

Test instructions: My-imx6-ek140p has two groups of CAN interfaces, which are sent by CAN1 and received by CAN0.

Interface property

Interface position :CAN1 P7:1,2
Interface position :CAN2 P9:1,2

1)Test preparation
Connect CAN_L (p7:1) of CAN1 to CAN_L (p9:1) of CAN2;Connect CAN_H (p7:2) of CAN1 to CAN_H (p9:2) of CAN2.
2)Enter the following command

  • Configure CAN1 (can0)
# ip link set can0 up type can bitrate 125000  

The system will output similar information:

flexcan 2090000.can can0: writing ctrl=0x0e312005
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
  • Configure CAN2 (can1)
# ip link set can1 up type can bitrate 125000  

The system will output similar information:

flexcan 2094000.can can1: writing ctrl=0x0e312005
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
  • CAN1 (can0) background to receive
# candump can0 &  

The system will output similar information:

[1] 589
  • CAN2 (can1) send data
# cansend can1 1F334455#1122334455667788 

The system will output similar information:

can0  1F334455   [8]  11 22 33 44 55 66 77 88

SPI test

Test instructions;There are two paths for SPI on the assessment board.

ECSPI1 test

Interface property

  • Interface position :P21: 3,4
  • Test Device:/dev/spidev0.0
    1)Test preparation Short P21 on 3 and 4 pin.
    2)Enter the following command :
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev0.0   

The test results are similar to the following output, indicating that the test passed:

spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00   

ECSPI2 test

Interface property

  • Interface position :P21: 9,10
  • Test Device:/dev/spidev1.0
    1)Test preparation
    Short P21 9 and 10 pin.
    2)Enter the following command :
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0   

The test results are similar to the following output, indicating that the test passed:

spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 00 00 00 00 
00 00 

Watchdog Test

Test instructions: WatchDog test includes 2 items: reset test and feeding dog test.

Timeout reset test

1)Test instructions
The reset test will start the WatchDog, but without feeding the dog, the system will reset after the timeout.
2)Enter the following command :

# /unit_tests/wdt_driver_test.out 10 15 1  

After waiting for 10 seconds after running the test command, the WatchDog timed out and the system was reset.
The system restart output information will be seen in the terminal as follows:

Starting wdt_driver (timeout: 10, sleep: 15, test: write)
Trying to set timeout value=10 seconds
The actual timeout was set to 10 seconds
Now reading back -- The timeout is 10 seconds
random: nonblocking pool is initialized


U-Boot 2016.03-svn270 (Oct 08 2018 - 16:52:53 +0800)

CPU:   Freescale i.MX6ULL rev1.0 528 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 51C
Reset cause: WDOG
Board: MYIMX6EK140P-6Y
Feed the dog test

1)Test instructions The dog feeding test will start the WatchDog and feed the dog once every 2 seconds, and the system will reset within the timeout (in this case 4 seconds).
2)Input test instruction

# /unit_tests/wdt_driver_test.out 4 2 1 &  

The test results are similar to the following output, indicating that the test passed:

[1] 585
Starting wdt_driver (timeout: 4, sleep: 2, test: write)
Trying to set timeout value=4 seconds
The actual timeout was set to 4 seconds
Now reading back -- The timeout is 4 seconds 

RTC Test

1)Test instructions
Restart Device after power outage, check current system time and hardware time

  • Check the current system clock command as follows:
# date  

The system will output similar information:

Wed Sep 19 17:39:19 UTC 2018 

2)View the current RTC chip clock
The order is as follows:

# hwclock 

The system will output similar information:

Wed Sep 19 17:40:05 2018  0.000000 seconds 

3)Set the system clock and synchronize to the RTC chip
The order is as follows:

# date -s "2018-09-21 12:34:56"  

The system will output similar information:

Fri Sep 21 12:34:56 UTC 2018

4)Writes the system clock to the hardware clock

# hwclock -w  

5)Power outage restart assessment board to view the current system clock and hardware clock
The order is as follows:

# date 

The system will output similar information:

Fri Sep 21 12:36:02 UTC 2018

6)View the current RTC chip clock The order is as follows:

# hwclock  

The system will output similar information:

Fri Sep 21 12:36:12 2018  0.000000 seconds 

Timed wake-up test

1)Set to wake up event 10 seconds later

# echo +10 > /sys/class/rtc/rtc1/wakealarm 

2)Put the Device in

# echo mem > /sys/power/state

3)Sleep information

PM: Syncing filesystems ... done.
Freezing user space processes ... 
Freezing remaining freezable tasks ... (elapsed 0.006 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

4)Wake up the information

(elapsed 0.001 seconds) done.
PM: suspend of devices complete after 708.601 msecs
PM: suspend devices took 0.710 seconds
PM: late suspend of devices complete after 2.543 msecs
PM: noirq suspend of devices complete after 2.410 msecs
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 1.494 msecs
PM: early resume of devices complete after 1.571 msecs
PM: resume of devices complete after 223.182 msecs
PM: resume devices took 0.230 seconds
Restarting tasks ... done.

Audio test

Playback of audio

Test instructions:This test is to verify the audio function of the evaluation board by playing the audio file.
1)Test preparation
2)Execute test command

# aplay /unit_tests/audio8k16S.wav   

3)After executing the above test command, you will hear the voice output from the audio Device. The system will output similar information:

Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo  
The audio recording

1)Test preparation
2)Enter the following command

  • Recording
# arecord -d 5 -f S16_LE -t wav foobar.wav  
  • Play recording
# aplay foobar.wav  

3)After executing the above test command, you will hear a recording played by the audio Device.

4G Module EC20(optional) test

Interface position : P19
Test instructions:When the power is cut off, access the 4G module, connect the antenna and insert the SIM card, then start the evaluation board.
Enter the following command:

# /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out &

The system will output similar information:

[1] 607
[09-21_13:36:14:352] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
[09-21_13:36:14:353] /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out profile[1] = (null)/(null)/(null)/0, pincode = (null)
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2 idVendor=2c7c idProduct=0125
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/net/eth2
[09-21_13:36:14:356] Find usbnet_adapter = eth2
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/GobiQMI/qcqmi2
[09-21_13:36:14:357] Find qmichannel = /dev/qcqmi2
[09-21_13:36:14:403] Get clientWDS = 7
[09-21_13:36:14:435] Get clientDMS = 8
[09-21_13:36:14:467] Get clientNAS = 9
[09-21_13:36:14:499] Get clientUIM = 10
[09-21_13:36:14:532] Get clientWDA = 11
[09-21_13:36:14:563] requestBaseBandVersion EC20CEFAR02A10M4G
[09-21_13:36:14:659] requestGetSIMStatus SIMStatus: SIM_READY
[09-21_13:36:14:692] requestGetProfile[1] cmnet///0
[09-21_13:36:14:724] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[09-21_13:36:14:755] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[09-21_13:36:14:819] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[09-21_13:36:16:036] requestSetupDataCall WdsConnectionIPv4Handle: 0x87756f40
[09-21_13:36:16:132] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[09-21_13:36:16:163] ifconfig eth2 up
[09-21_13:36:16:193] busybox udhcpc -f -n -q -t 5 -i eth2
[09-21_13:36:16:211] udhcpc (v1.24.1) started
[09-21_13:36:16:318] Sending discover...
[09-21_13:36:16:378] Sending select for 10.151.159.101...
[09-21_13:36:16:438] Lease of 10.151.159.101 obtained, lease time 7200
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 221.179.38.7
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 120.196.165.7

Display (optional) test

During the system startup, you can see the Linux penguin and OpenEmbedded startup scene.

FXLS8471 Display (optional) test

  • Make the sensor Enable
# echo 1 > /sys/class/misc/FreescaleAccelerometer/enable  
  • View sensor data
# cat /sys/class/misc/FreescaleAccelerometer/data  

MAG3110 (optional) test

  • Make the sensor Enalbe
# echo 1 > /sys/class/misc/FreescaleGyroscope/enable  
  • Test
# evtest  

The system will output similar information:

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      20cc000.snvs:snvs-powerkey
Select the device event number [0-0]:  

FXAS2100 (optional) test

  • Test
# evtest  

The system will output similar information:

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      20cc000.snvs:snvs-powerkey
Select the device event number [0-0]:  



--------------------------------------------------------------------------------  
* Looking forward to communicating with you for more functions and field applications.    
* ZhuHai MYZR Technology CO.,LTD.  
* Latest Update: 2018/10/08    
--------------------------------------------------------------------------------