“MYZR-IMX6-EK140P Linux-4.1.15 测试手册”的版本间的差异

来自明远智睿的wiki
跳转至: 导航搜索
第11行: 第11行:
 
   
 
   
 
### 测试前的准备  
 
### 测试前的准备  
1)请按照《Linux快速启动手册》中的“Linux快速启动” -> “连接设备”进行连接。
+
1)请按照《[[MY-IMX6-EK140P 启动手册|Linux快速启动手册]]》中的“Linux快速启动” -> “连接设备”进行连接。
 
   
 
   
2)请按照《Linux快速启动手册》中的“Linux快速启动” -> “启动设备”进行启动。  
+
2)请按照《[[MY-IMX6-EK140P 启动手册|Linux快速启动手册]]》中的“Linux快速启动” -> “启动设备”进行启动。  
 
   
 
   
 
##测试项目  
 
##测试项目  
第64行: 第64行:
 
fec 20b4000.ethernet eth1: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
 
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
 
IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
root@myimx6ek140p:~# fec 20b4000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
+
fec 20b4000.ethernet eth1: Link is Up - 100Mbps/Full - flow control rx/tx
 
IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready  
 
IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready  
 
</pre>  
 
</pre>  
 
*执行测试命令:     
 
*执行测试命令:     
 
<pre>
 
<pre>
# ifconfig eth0 down </span>
+
# ifconfig eth0 down
 
# ping 192.168.137.99 -c 2 -w 4  
 
# ping 192.168.137.99 -c 2 -w 4  
 
</pre>  
 
</pre>  
第200行: 第200行:
 
输入如下命令:
 
输入如下命令:
 
<pre>
 
<pre>
echo 1 > /sys/class/leds/default/brightness   
+
# echo 1 > /sys/class/leds/default/brightness   
 
</pre>
 
</pre>
 
2)使 D11 灭     
 
2)使 D11 灭     
第206行: 第206行:
 
输入如下命令:  
 
输入如下命令:  
 
<pre>
 
<pre>
echo 0 > /sys/class/leds/default/brightness   
+
# echo 0 > /sys/class/leds/default/brightness   
 
</pre>
 
</pre>
  
第312行: 第312行:
 
<pre>
 
<pre>
 
# ip link set can0 up type can bitrate 125000   
 
# ip link set can0 up type can bitrate 125000   
 +
</pre>
 +
系统会输出类似如下信息:
 +
<pre>
 +
flexcan 2090000.can can0: writing ctrl=0x0e312005
 +
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
 
</pre>
 
</pre>
 
* 配置 CAN2 (can1)   
 
* 配置 CAN2 (can1)   
 
<pre>
 
<pre>
 
# ip link set can1 up type can bitrate 125000   
 
# ip link set can1 up type can bitrate 125000   
 +
</pre>
 +
系统会输出类似如下信息:
 +
<pre>
 +
flexcan 2094000.can can1: writing ctrl=0x0e312005
 +
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
 
</pre>
 
</pre>
 
* CAN1 (can0) 后台接收   
 
* CAN1 (can0) 后台接收   
 
<pre>
 
<pre>
 
# candump can0 &   
 
# candump can0 &   
 +
</pre>
 +
系统会输出类似如下信息:
 +
<pre>
 +
[1] 589
 
</pre>
 
</pre>
 
* CAN2 (can1) 发送数据   
 
* CAN2 (can1) 发送数据   
 
<pre>
 
<pre>
# cansend can1 1F334455#1122334455667788
+
# cansend can1 1F334455#1122334455667788  
 
</pre>
 
</pre>
测试结果类似如下输出:
+
系统会输出类似如下信息:
 
<pre>
 
<pre>
root@myimx6ek140p:~#  ip link set can0 up type can bitrate 125000
+
can0  1F334455  [8]  11 22 33 44 55 66 77 88
flexcan 2090000.can can0: writing ctrl=0x0e312005
 
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
 
root@myimx6ek140p:~# ip link set can1 up type can bitrate 125000random: nonblocking pool is initialized
 
 
 
flexcan 2094000.can can1: writing ctrl=0x0e312005
 
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
 
root@myimx6ek140p:~# candump can0 &
 
[1] 589
 
root@myimx6ek140p:~# cansend can1 1F334455#1122334455667788
 
root@myimx6ek140p:~#  can0  1F334455  [8]  11 22 33 44 55 66 77 88
 
 
</pre>
 
</pre>
 
  
 
### SPI测试   
 
### SPI测试   
 
测试说明;评估板一共有2路SPI。   
 
测试说明;评估板一共有2路SPI。   
##### ECSPI1 测试  
+
#### ECSPI1 测试  
 +
####接口属性
 
* 位置:P21: 3,4   
 
* 位置:P21: 3,4   
 
* 测试设备:/dev/spidev0.0   
 
* 测试设备:/dev/spidev0.0   
第367行: 第371行:
 
</pre>
 
</pre>
 
    
 
    
##### ECSPI2 测试   
+
#### ECSPI2 测试   
 +
####接口属性
 
* 位置:P21: 9,10   
 
* 位置:P21: 9,10   
 
* 测试设备:/dev/spidev1.0     
 
* 测试设备:/dev/spidev1.0     
第373行: 第378行:
 
短接P21的9和10管脚。   
 
短接P21的9和10管脚。   
 
2)输入测试指令
 
2)输入测试指令
<pre>  
+
<pre>
 
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0   
 
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0   
 
</pre>   
 
</pre>   
 
测试结果类似如下输出,则表示测试通过:
 
测试结果类似如下输出,则表示测试通过:
<pre>  
+
<pre>
 
spi mode: 0
 
spi mode: 0
 
bits per word: 8
 
bits per word: 8
第397行: 第402行:
 
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。   
 
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。   
 
2)输入测试指令   
 
2)输入测试指令   
<pre>  
+
<pre>
 
# /unit_tests/wdt_driver_test.out 10 15 1   
 
# /unit_tests/wdt_driver_test.out 10 15 1   
 
</pre>
 
</pre>
 
运行测试命令后等待10秒后,WatchDog超时,系统被复位。   
 
运行测试命令后等待10秒后,WatchDog超时,系统被复位。   
 
将会在终端看到系统重新启动输出的信息类似如下:
 
将会在终端看到系统重新启动输出的信息类似如下:
<pre>  
+
<pre>
 
Starting wdt_driver (timeout: 10, sleep: 15, test: write)
 
Starting wdt_driver (timeout: 10, sleep: 15, test: write)
 
Trying to set timeout value=10 seconds
 
Trying to set timeout value=10 seconds
第422行: 第427行:
 
喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将会在超时时间(这里是4秒)内复位。   
 
喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将会在超时时间(这里是4秒)内复位。   
 
2)输入测试指令
 
2)输入测试指令
<pre>  
+
<pre>
 
# /unit_tests/wdt_driver_test.out 4 2 1 &   
 
# /unit_tests/wdt_driver_test.out 4 2 1 &   
 
</pre>  
 
</pre>  
 
测试结果类似如下输出,则表示测试通过:  
 
测试结果类似如下输出,则表示测试通过:  
<pre>  
+
<pre>
 
[1] 585
 
[1] 585
root@myimx6ek140p:~# Starting wdt_driver (timeout: 4, sleep: 2, test: write)
+
Starting wdt_driver (timeout: 4, sleep: 2, test: write)
 
Trying to set timeout value=4 seconds
 
Trying to set timeout value=4 seconds
 
The actual timeout was set to 4 seconds
 
The actual timeout was set to 4 seconds
第439行: 第444行:
 
断电重启设备,查看当前系统时间和硬件时间  
 
断电重启设备,查看当前系统时间和硬件时间  
 
* 查看当前系统时钟命令如下:
 
* 查看当前系统时钟命令如下:
<pre>  
+
<pre>
 
# date   
 
# date   
 
</pre>
 
</pre>
 
系统输出信息如下:
 
系统输出信息如下:
<pre>  
+
<pre>
 
Wed Sep 19 17:39:19 UTC 2018  
 
Wed Sep 19 17:39:19 UTC 2018  
 
</pre>
 
</pre>
第449行: 第454行:
 
2)查看当前RTC芯片时钟   
 
2)查看当前RTC芯片时钟   
 
命令如下:
 
命令如下:
<pre>  
+
<pre>
 
# hwclock  
 
# hwclock  
 
</pre>  
 
</pre>  
 
系统输出信息如下:  
 
系统输出信息如下:  
<pre>  
+
<pre>
 
Wed Sep 19 17:40:05 2018  0.000000 seconds  
 
Wed Sep 19 17:40:05 2018  0.000000 seconds  
 
</pre>
 
</pre>
第459行: 第464行:
 
3)设置系统时钟,并同步到RTC芯片   
 
3)设置系统时钟,并同步到RTC芯片   
 
命令如下:
 
命令如下:
<pre>  
+
<pre>
 
# date -s "2018-09-21 12:34:56"   
 
# date -s "2018-09-21 12:34:56"   
 
</pre>   
 
</pre>   
 
系统输出信息如下:  
 
系统输出信息如下:  
<pre>  
+
<pre>
 
Fri Sep 21 12:34:56 UTC 2018
 
Fri Sep 21 12:34:56 UTC 2018
 
</pre>
 
</pre>
 
    
 
    
 
4)将系统时钟写入硬件时钟   
 
4)将系统时钟写入硬件时钟   
<pre>  
+
<pre>
 
# hwclock -w   
 
# hwclock -w   
 
</pre>
 
</pre>
第474行: 第479行:
 
5)断电重启评估板,查看当前系统时钟和硬件时钟     
 
5)断电重启评估板,查看当前系统时钟和硬件时钟     
 
命令如下:
 
命令如下:
<pre>  
+
<pre>
 
# date  
 
# date  
 
</pre>
 
</pre>
 
系统输出信息如下:
 
系统输出信息如下:
<pre>
+
<pre>
Fri Sep 21 12:36:19 UTC 2018
+
Fri Sep 21 12:36:02 UTC 2018
 
</pre>
 
</pre>
 
    
 
    
 
6)查看当前RTC芯片时钟
 
6)查看当前RTC芯片时钟
<pre>  
+
命令如下:
 +
<pre>
 
# hwclock   
 
# hwclock   
 
</pre>
 
</pre>
 
系统输出信息如下:
 
系统输出信息如下:
<pre>  
+
<pre>
Fri Sep 21 12:37:01 2018  0.000000 seconds  
+
Fri Sep 21 12:36:12 2018  0.000000 seconds  
 
</pre>
 
</pre>
  
 
### 定时唤醒测试
 
### 定时唤醒测试
 
1)设定 10 秒后产生唤醒事件
 
1)设定 10 秒后产生唤醒事件
<pre>  
+
<pre>
 
# echo +10 > /sys/class/rtc/rtc1/wakealarm  
 
# echo +10 > /sys/class/rtc/rtc1/wakealarm  
 
</pre>
 
</pre>
 
2)使设备进入
 
2)使设备进入
<pre>  
+
<pre>
 
# echo mem > /sys/power/state
 
# echo mem > /sys/power/state
 
</pre>
 
</pre>
第503行: 第509行:
 
<pre>
 
<pre>
 
PM: Syncing filesystems ... done.
 
PM: Syncing filesystems ... done.
Freezing user space processes ... Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
+
Freezing user space processes ...  
 +
Freezing remaining freezable tasks ... (elapsed 0.006 seconds) done.
 
Suspending console(s) (use no_console_suspend to debug)
 
Suspending console(s) (use no_console_suspend to debug)
 
</pre>
 
</pre>
 
4)唤醒信息
 
4)唤醒信息
 
<pre>
 
<pre>
(elapsed 0.012 seconds) done.
+
(elapsed 0.001 seconds) done.
PM: suspend of devices complete after 693.963 msecs
+
PM: suspend of devices complete after 708.601 msecs
PM: suspend devices took 0.700 seconds
+
PM: suspend devices took 0.710 seconds
PM: late suspend of devices complete after 2.419 msecs
+
PM: late suspend of devices complete after 2.543 msecs
PM: noirq suspend of devices complete after 2.303 msecs
+
PM: noirq suspend of devices complete after 2.410 msecs
 
Disabling non-boot CPUs ...
 
Disabling non-boot CPUs ...
PM: noirq resume of devices complete after 1.402 msecs
+
PM: noirq resume of devices complete after 1.494 msecs
PM: early resume of devices complete after 1.476 msecs
+
PM: early resume of devices complete after 1.571 msecs
PM: resume of devices complete after 121.763 msecs
+
PM: resume of devices complete after 223.182 msecs
PM: resume devices took 0.130 seconds
+
PM: resume devices took 0.230 seconds
 
Restarting tasks ... done.
 
Restarting tasks ... done.
 
</pre>
 
</pre>
第531行: 第538行:
 
3)执行上面的测试命令后会听到音频设备输出的声音。
 
3)执行上面的测试命令后会听到音频设备输出的声音。
 
系统会输出类似如下信息:
 
系统会输出类似如下信息:
<pre>
+
<pre>
 
Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo   
 
Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo   
 
</pre>
 
</pre>
第549行: 第556行:
 
    
 
    
 
### 4G模块EC20(选配)测试
 
### 4G模块EC20(选配)测试
 +
接口位置:P19   
 +
测试说明:在断电下接入4G模块,接入天线并插入SIM卡后启动评估板   
 +
输入如下命令: 
 
<pre>
 
<pre>
 
# /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out &
 
# /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out &
 
+
</pre>
[1] 636
+
系统会输出类似如下信息:   
[10-01_14:02:10:616] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
+
<pre>
[10-01_14:02:10:617] /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out profile[1] = (null)/(null)/(null)/0, pincode = (null)
+
[1] 607
[10-01_14:02:10:619] Find /sys/bus/usb/devices/1-1.2 idVendor=2c7c idProduct=0125
+
[09-21_13:36:14:352] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
[10-01_14:02:10:620] Find /sys/bus/usb/devices/1-1.2:1.4/net/eth2
+
[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)
[10-01_14:02:10:620] Find usbnet_adapter = eth2
+
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2 idVendor=2c7c idProduct=0125
[10-01_14:02:10:620] Find /sys/bus/usb/devices/1-1.2:1.4/GobiQMI/qcqmi2
+
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/net/eth2
[10-01_14:02:10:620] Find qmichannel = /dev/qcqmi2
+
[09-21_13:36:14:356] Find usbnet_adapter = eth2
[10-01_14:02:10:665] Get clientWDS = 7
+
[09-21_13:36:14:356] Find /sys/bus/usb/devices/1-1.2:1.4/GobiQMI/qcqmi2
[10-01_14:02:10:697] Get clientDMS = 8
+
[09-21_13:36:14:357] Find qmichannel = /dev/qcqmi2
[10-01_14:02:10:729] Get clientNAS = 9
+
[09-21_13:36:14:403] Get clientWDS = 7
[10-01_14:02:10:760] Get clientUIM = 10
+
[09-21_13:36:14:435] Get clientDMS = 8
[10-01_14:02:10:792] Get clientWDA = 11
+
[09-21_13:36:14:467] Get clientNAS = 9
[10-01_14:02:10:825] requestBaseBandVersion EC20CEFAR02A10M4G
+
[09-21_13:36:14:499] Get clientUIM = 10
[10-01_14:02:10:920] requestGetSIMStatus SIMStatus: SIM_READY
+
[09-21_13:36:14:532] Get clientWDA = 11
[10-01_14:02:10:953] requestGetProfile[1] cmnet///0
+
[09-21_13:36:14:563] requestBaseBandVersion EC20CEFAR02A10M4G
[10-01_14:02:10:985] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
+
[09-21_13:36:14:659] requestGetSIMStatus SIMStatus: SIM_READY
[10-01_14:02:11:017] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
+
[09-21_13:36:14:692] requestGetProfile[1] cmnet///0
[10-01_14:02:11:081] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
+
[09-21_13:36:14:724] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[10-01_14:02:11:144] requestSetupDataCall WdsConnectionIPv4Handle: 0x87779840
+
[09-21_13:36:14:755] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[10-01_14:02:11:241] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
+
[09-21_13:36:14:819] requestRegistrationState2 MCC: 460, MNC: 0, PS: Attached, DataCap: LTE
[10-01_14:02:11:274] ifconfig eth2 up
+
[09-21_13:36:16:036] requestSetupDataCall WdsConnectionIPv4Handle: 0x87756f40
[10-01_14:02:11:305] busybox udhcpc -f -n -q -t 5 -i eth2
+
[09-21_13:36:16:132] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[10-01_14:02:11:321] udhcpc (v1.24.1) started
+
[09-21_13:36:16:163] ifconfig eth2 up
[10-01_14:02:11:433] Sending discover...
+
[09-21_13:36:16:193] busybox udhcpc -f -n -q -t 5 -i eth2
[10-01_14:02:11:493] Sending select for 10.127.206.63...
+
[09-21_13:36:16:211] udhcpc (v1.24.1) started
[10-01_14:02:11:552] Lease of 10.127.206.63 obtained, lease time 7200
+
[09-21_13:36:16:318] Sending discover...
[10-01_14:02:11:637] /etc/udhcpc.d/50default: Adding DNS 211.136.17.107
+
[09-21_13:36:16:378] Sending select for 10.151.159.101...
[10-01_14:02:11:638] /etc/udhcpc.d/50default: Adding DNS 211.136.20.203
+
[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>
 
</pre>
  
第605行: 第617行:
 
# evtest   
 
# evtest   
 
</pre>
 
</pre>
 
+
系统会输出类似如下信息:
 
+
<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(选配)测试   
 
### FXAS2100(选配)测试   
 
* 测试   
 
* 测试   
 
<pre>
 
<pre>
 
# evtest   
 
# evtest   
 +
</pre>
 +
系统会输出类似如下信息:
 +
<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>
 
</pre>
 
    
 
    

2018年10月11日 (四) 11:49的版本


测试环境

  • 开发板型号:MY-IMX6-EK140P-6Y-512M-4G
  • 内核版本:Linux-4.1.15
  • 文件系统:L4115-core-image-base-myimx6a7.tar.bz2

测试前的准备

1)请按照《Linux快速启动手册》中的“Linux快速启动” -> “连接设备”进行连接。

2)请按照《Linux快速启动手册》中的“Linux快速启动” -> “启动设备”进行启动。

测试项目

网口测试

MY-IMX6-EK140P 支持两个百兆网口。

接口属性

Eth0 接口位置:P10
Eth1 接口位置:P8

测试方法

1)配置计算机IP
设置计算机有线网卡IP为 192.168.137.99

2)Eth0 连接测试
连接网线:将评估板“Eth0”对应的接口与计算机有线网卡的接口用网线相连接。
注意:检查跳线帽,保证是接上状态

  • 设置评估板IP:
#ifconfig eth0 192.168.137.81
  • 执行测试命令:
# ifconfig eth1 down 
# ping 192.168.137.99 -c 2 -w 4 
  • 观察测试结果,系统会输出类似如下信息:
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    
  • 测试结果:“0% packet loss”表示测试通过。

3)Eth1 连接测试
连接网线:将评估板“Eth1”对应的接口与计算机有线网卡的接口用网线相连接。
注意:检查跳线帽,保证是接上状态

  • 设置第2个网口IP:
# ifconfig eth1 192.168.137.82 
  • 设置后系统会输出第2个网口的工作状态信息:
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 
  • 执行测试命令:
# ifconfig eth0 down
# ping 192.168.137.99 -c 2 -w 4 
  • 观察测试结果,系统会输出类似如下信息:
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
  • 测试结果:“0% packet loss”表示测试通过。

USB 测试

接口属性

接口位置:P20

测试方法

1)开始测试 将USB设备插入底板USB接口,系统会输出类似如下信息:

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)结束测试 将USB设备从底板拔出,系统会输出类似如下信息:

usb 1-1.4: USB disconnect, device number 4  

TF卡测试

接口属性

接口位置:P13
接口类型:MicroSD

测试方法

1)开始测试
往TF卡槽插入设备,插入TF卡到底板TF卡接口。
输入如下命令:

# dmesg | grep mmc0  

系统输出类似以下信息,即表示 TF 接口正常:

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)查看系统的TF卡设备
输入如下命令:

# ls /dev/mmcblk0*   

系统会输出以下信息:

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

标准 GPIO 测试

接口属性

接口位置:P21
1)GPIO输出测试
标准GPIO的测试以P21:35和P21:36为例,其它GPIO测试可参照此测试方法。

  • 配置 P21:35 为输出
    输入如下命令:
# 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 

注意:配置 P21:35 输出低电平并通过万用表测量,如果管脚P21:35电压为0V,则配置OK

  • 配置 P21:36 为输出
    输入如下命令:
# 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

注意:配置 P21:36 输出高电平并通过万用表测量,如果管脚P21:36电压为3.3V,则配置OK

2)控制输出电平
输入如下命令:

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

可以实现控制输出电平。

  • 其它可用GPIO:P21:33,34,23;对应的 IO序号Number 为:2,1,110

GPIO-LED 测试

led-heartbeat

  • led-heartbeat 连接到指示灯 D12,系统启动后可以看到 D12 在有规律的闪烁。

led-timer

  • led-timer 连接到指示灯 D8,系统启动后可以看到 D8 在有规律的闪烁。
  • 控制高低电平持续的时间

1)更改灭的时间

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

2)更改亮的时间

# echo 2000 > /sys/class/leds/led-timer/delay_on  
led-default
  • led-default 连接到 D11,系统启动后默认状态为常亮。

1)使 D11 常亮
Default-on可以通过brightness控制 ,Default-on的实现是初始触发状态为on,即初始触发后为高电平。
输入如下命令:

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

2)使 D11 灭
往brightness写0即可检测到低电平。
输入如下命令:

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

PWM 测试

PWM-LED

输入如下命令:

# 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
  • 说明:可以看到 LED(D7) 在 1 秒(1000000000 纳秒)内闪烁一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。
PWM-Buzzer

输入如下命令:

# 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
  • 说明:可以听到蜂鸣器在 1 秒(1000000000 纳秒)内响一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。

串口测试

测试说明:采用串口自发自收测试。

UART2

接口属性

  • 位置:P21:27,28
  • 设备:/dev/ttymxc1
    1)测试准备
    短接串口2的发送发接收管脚(P21的27和28号管脚)
    2)进行测试
    输入如下命令:
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc1 "www.myzr.com.cn"  

系统会输出类似以下信息:

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

接口属性

  • 位置:P21: 25,26
  • 设备:/dev/ttymxc2
    1)测试准备
    短接串口3的发送发接收管脚(P21的25和26号管脚)
    2)进行测试
    输入如下命令:
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc2 "www.myzr.com.cn"  

系统会输出类似以下信息:

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

测试说明;MY-IMX6-EK140P有两组CAN接口,采用CAN1发送,CAN0接收的方式。

接口属性

位置:CAN1 P7:1,2
位置:CAN2 P9:1,2

1)测试准备
将CAN1的CAN_L(P7:1)与CAN2的CAN_L (P9:1)连接;将CAN1的CAN_H (P7:2)与CAN2的CAN_H (P9:2)连接。
2)输入测试指令

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

系统会输出类似如下信息:

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

系统会输出类似如下信息:

flexcan 2094000.can can1: writing ctrl=0x0e312005
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
  • CAN1 (can0) 后台接收
# candump can0 &  

系统会输出类似如下信息:

[1] 589
  • CAN2 (can1) 发送数据
# cansend can1 1F334455#1122334455667788 

系统会输出类似如下信息:

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

SPI测试

测试说明;评估板一共有2路SPI。

ECSPI1 测试

接口属性

  • 位置:P21: 3,4
  • 测试设备:/dev/spidev0.0
    1)测试准备 短接P21的3和4管脚。
    2)输入测试指令
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev0.0   

测试结果类似如下输出,则表示测试通过:

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

接口属性

  • 位置:P21: 9,10
  • 测试设备:/dev/spidev1.0
    1)测试准备
    短接P21的9和10管脚。
    2)输入测试指令
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0   

测试结果类似如下输出,则表示测试通过:

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

测试说明:WatchDog测试包括2项:一项是复位测试,一项是喂狗测试。

超时复位测试

1)测试说明
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。
2)输入测试指令

# /unit_tests/wdt_driver_test.out 10 15 1  

运行测试命令后等待10秒后,WatchDog超时,系统被复位。
将会在终端看到系统重新启动输出的信息类似如下:

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
喂狗测试

1)测试说明 喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将会在超时时间(这里是4秒)内复位。
2)输入测试指令

# /unit_tests/wdt_driver_test.out 4 2 1 &  

测试结果类似如下输出,则表示测试通过:

[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 测试

1)测试说明
断电重启设备,查看当前系统时间和硬件时间

  • 查看当前系统时钟命令如下:
# date  

系统输出信息如下:

Wed Sep 19 17:39:19 UTC 2018 

2)查看当前RTC芯片时钟
命令如下:

# hwclock 

系统输出信息如下:

Wed Sep 19 17:40:05 2018  0.000000 seconds 

3)设置系统时钟,并同步到RTC芯片
命令如下:

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

系统输出信息如下:

Fri Sep 21 12:34:56 UTC 2018

4)将系统时钟写入硬件时钟

# hwclock -w  

5)断电重启评估板,查看当前系统时钟和硬件时钟
命令如下:

# date 

系统输出信息如下:

Fri Sep 21 12:36:02 UTC 2018

6)查看当前RTC芯片时钟 命令如下:

# hwclock  

系统输出信息如下:

Fri Sep 21 12:36:12 2018  0.000000 seconds 

定时唤醒测试

1)设定 10 秒后产生唤醒事件

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

2)使设备进入

# echo mem > /sys/power/state

3)睡眠信息

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)唤醒信息

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

音频测试

播放音频

测试说明:这项测试是通过播放音频文件验证评估板的音频功能。
1)测试准备
2)执行测试命令

# aplay /unit_tests/audio8k16S.wav   

3)执行上面的测试命令后会听到音频设备输出的声音。 系统会输出类似如下信息:

Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo  
音频录音

1)测试准备
2)输入测试命令

  • 录音
# arecord -d 5 -f S16_LE -t wav foobar.wav  
  • 播放录音
# aplay foobar.wav  

3)执行上面的测试命令后会听到音频设备播放的录音。

4G模块EC20(选配)测试

接口位置:P19
测试说明:在断电下接入4G模块,接入天线并插入SIM卡后启动评估板
输入如下命令:

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

系统会输出类似如下信息:

[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

显示屏(选配)测试

在系统启动过程中,可以看到 Linux 小企鹅和 OpenEmbedded 启动画面。

FXLS8471(选配)测试

  • 使传感器 Enable
# echo 1 > /sys/class/misc/FreescaleAccelerometer/enable  
  • 查看传感器数据
# cat /sys/class/misc/FreescaleAccelerometer/data  

MAG3110(选配)测试

  • 使传感器 Enalbe
# echo 1 > /sys/class/misc/FreescaleGyroscope/enable  
  • 测试
# evtest  

系统会输出类似如下信息:

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(选配)测试

  • 测试
# evtest  

系统会输出类似如下信息:

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