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

来自明远智睿的wiki
跳转至: 导航搜索
 
(未显示同一用户的16个中间版本)
第3行: 第3行:
 
MY-IMX6-EK140P Linux-4.1.15 测试手册   
 
MY-IMX6-EK140P Linux-4.1.15 测试手册   
 
    
 
    
<br />
+
<br/>
 
+
### 测试环境
### 测试环境
+
 
* 开发板型号:MY-IMX6-EK140P-6Y-512M-4G   
+
--------------------------------------------------------------------------------
* 内核版本:Linux-4.1.15   
+
  【开发板型号】:MYZR-IMX6-EK140P Linux-4.1.15 测试手册-IMX6-EK140P-6Y-512M-4G   
* 文件系统:L4115-core-image-base-myimx6a7.tar.bz2  
+
  【内核版本】:Linux-4.1.15   
   
+
  【文件系统】:L4115-fsl-image-qt5-myimx6a7.tar.bz2   
### 测试前的准备
+
  【工具版本】:MfgTool-MYIMX6A7-L4.1.15-Patch.svn268.rar 
1)请按照《[[MY-IMX6-EK140P 启动手册]]》中的“Linux快速启动” -> “连接设备”进行连接。
+
  **说明**:为保证测试无误,需要使用的烧录工具版本应不低于svn268  
   
+
 
2)请按照《[[MY-IMX6-EK140P 启动手册]]》中的“Linux快速启动” -> “启动设备”进行启动。
+
<br/>
+
### 接口标识图
##测试项目
 
  
### 网口测试
+
--------------------------------------------------------------------------------
MY-IMX6-EK140P 支持两个百兆网口。
+
[[文件:MYIMX6A7-MB140P-Port-F.png|950px]]  
####接口属性 
 
Eth0 接口位置:P10 
 
Eth1 接口位置:P8  
 
  
#####测试方法 
+
<br/>
1)配置计算机IP 
+
### 网口测试(ETH1)
设置计算机有线网卡IP为 192.168.137.99   
 
  
2)Eth0 连接测试   
+
--------------------------------------------------------------------------------
连接网线:将评估板“Eth0”对应的接口与计算机有线网卡的接口用网线相连接。     
+
  【测试说明】:采用开发板向PC发送ICMP报文的方式进行测试 
注意:检查跳线帽,保证是接上状态    
+
  【接口标识】:ETH1 
*设置评估板IP:
+
  【接口丝印】:P10 
 +
  【系统接口】:eth0 
 +
**测试操作** 
 +
  配置电脑有线网卡IP为 192.168.137.99。    
 +
  用网线连接开发板的ETH1和电脑。 
 +
  配置开发板网口:
 
<pre>
 
<pre>
# ifconfig eth0 192.168.137.81
+
=====> 输入指令:
</pre>
+
ifconfig eth1 down
*执行测试命令:
+
ifconfig eth0 192.168.137.81
 +
</pre>
 +
  测试ETH1(eth0):
 
<pre>
 
<pre>
# ifconfig eth1 down
+
=====> 输入指令:
# ping 192.168.137.99 -c 2 -w 4  
+
ping 192.168.137.99 -c 2 -w 4  
</pre>
 
  
*观察测试结果,系统会输出类似如下信息:
+
=====> 输出信息:
<pre>
 
 
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
 
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=1 ttl=64 time=0.685 ms
第50行: 第50行:
 
rtt min/avg/max/mdev = 0.374/0.529/0.685/0.157 ms     
 
rtt min/avg/max/mdev = 0.374/0.529/0.685/0.157 ms     
 
</pre>
 
</pre>
*测试结果:“0% packet loss”表示测试通过。
+
**测试结果** 
 +
  “0% packet loss”表示测试通过。
 +
 
 +
<br/>
 +
### 网口测试(ETH2)
  
3)Eth1 连接测试   
+
--------------------------------------------------------------------------------
连接网线:将评估板“Eth1”对应的接口与计算机有线网卡的接口用网线相连接。     
+
  【测试说明】:采用开发板向PC发送ICMP报文的方式进行测试 
注意:检查跳线帽,保证是接上状态    
+
  【接口标识】:ETH2 
*设置第2个网口IP:     
+
  【接口丝印】:P8 
 +
  【系统接口】:eth1 
 +
**测试操作** 
 +
  **注意:**检查"丝印P5"上的跳线帽,保证是接上状态。    
 +
  配置电脑有线网卡IP为 192.168.137.99。   
 +
  用网线连接开发板的ETH2和电脑。 
 +
  配置开发板网口
 
<pre>
 
<pre>
# ifconfig eth1 192.168.137.82  
+
=====> 输入指令:
</pre> 
+
ifconfig eth0 down
   
+
ifconfig eth1 192.168.137.82  
*设置后系统会输出第2个网口的工作状态信息: 
+
</pre>
<pre>
+
  测试ETH2(eth1):
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>  
 
*执行测试命令:   
 
 
<pre>
 
<pre>
# ifconfig eth0 down
+
=====> 输入指令:
# ping 192.168.137.99 -c 2 -w 4  
+
ping 192.168.137.99 -c 2 -w 4  
</pre>
 
  
*观察测试结果,系统会输出类似如下信息: 
+
=====> 输出信息:
<pre>
 
 
PING 192.168.137.99 (192.168.137.99) 56(84) bytes of data.
 
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=1 ttl=64 time=0.705 ms
第83行: 第85行:
 
rtt min/avg/max/mdev = 0.386/0.545/0.705/0.161 ms
 
rtt min/avg/max/mdev = 0.386/0.545/0.705/0.161 ms
 
</pre>
 
</pre>
 +
**测试结果** 
 +
  “0% packet loss”表示测试通过。
 +
 +
<br/>
 +
### USB 测试
  
*测试结果:“0% packet loss”表示测试通过。  
+
--------------------------------------------------------------------------------
   
+
  【测试说明】:采用插拔USB存储设备(U盘)的方式进行测试  
###USB 测试  
+
  【接口标识】:USB HOST  
####接口属性 
+
  【接口丝印】:P20  
接口位置:P20
+
**测试方法** 
#####测试方法
+
  将USB设备插入底板USB接口,系统会输出类似如下信息:
1)开始测试
 
将USB设备插入底板USB接口,系统会输出类似如下信息:
 
 
<pre>
 
<pre>
 
usb 1-1.4: new high-speed USB device number 4 using ci_hdrc   
 
usb 1-1.4: new high-speed USB device number 4 using ci_hdrc   
第104行: 第109行:
 
sd 0:0:0:0: [sda] Attached SCSI removable disk   
 
sd 0:0:0:0: [sda] Attached SCSI removable disk   
 
</pre>
 
</pre>
 
+
  将USB设备从底板拔出,系统会输出类似如下信息:
2)结束测试
 
将USB设备从底板拔出,系统会输出类似如下信息:
 
 
<pre>
 
<pre>
 
usb 1-1.4: USB disconnect, device number 4   
 
usb 1-1.4: USB disconnect, device number 4   
 
</pre>     
 
</pre>     
 
+
**测试结果**  
### TF卡测试  
+
  USB存储设备插拔时系统输出如上类似信息即表示正常。
####接口属性 
+
 
接口位置:P13   
+
<br/>
接口类型:MicroSD     
+
### SD接口测试
#####测试方法
+
 
1)开始测试 
+
--------------------------------------------------------------------------------
开发板断电,往TF卡安装好TF卡。 
+
  【测试说明】:采用插入并识别TF卡的方式进行测试 
输入如下命令:  
+
  【接口标识】:SD  
<pre>
+
  【接口丝印】:P13 
# dmesg | grep mmc0  
+
**测试方法**  
</pre>
+
  为开发板断电,把TF卡安装到SD接口。 
系统输出类似以下信息,即表示 TF 接口正常: 
+
  查看内核中驱动输出信息
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
dmesg | grep mmc0 
 +
 +
=====> 输出信息:
 
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA   
 
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA   
 
mmc0: host does not support reading read-only switch, assuming write-enable   
 
mmc0: host does not support reading read-only switch, assuming write-enable   
第129行: 第136行:
 
mmcblk0: mmc0:1234 SA04G 3.67 GiB   
 
mmcblk0: mmc0:1234 SA04G 3.67 GiB   
 
</pre>
 
</pre>
 
+
  查看系统的SD接口设备  
2)查看系统的TF卡设备  
 
输入如下命令:
 
 
<pre>
 
<pre>
# ls /dev/mmcblk0*   
+
=====> 输入指令:
 +
ls /dev/mmcblk0*   
 +
 
 +
=====> 输出信息:
 +
/dev/mmcblk0    ...
 
</pre>
 
</pre>
系统会输出类似以下信息:
+
**测试结果** 
 +
  SD存储设备插拔时系统输出如上类似信息即表示正常。
 +
 
 +
<br/>
 +
### 标准 GPIO 测试
 +
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:控制GPIO的输出电平 
 +
  【接口标识】:SPI/I2C/GPIO 
 +
  【接口丝印】:P21 
 +
  【系统接口】:/sys/class/gpio/ 
 +
**GPIO输出低电平测试** 
 +
  配置 P21:35 为输出低电平的操作方法: 
 
<pre>
 
<pre>
/dev/mmcblk0   /dev/mmcblk0p1 /dev/mmcblk0p2 
+
=====> 输入指令:
</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  
###标准 GPIO 测试
+
echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
####接口属性   
+
</pre>
接口位置:P21 
+
  用万用表测试管脚P21:35,电压为0V,则表示OK    
1)GPIO输出测试 
+
**GPIO输出高电平测试**  
标准GPIO的测试以P21:35和P21:36为例,其它GPIO测试可参照此测试方法。    
+
  配置 P21:36 为输出高电平的操作方法:   
   
 
* 配置 P21:35 为输出低电平 
 
输入如下命令:
 
 
<pre>
 
<pre>
# OUT_IO_OUT_NUM=4
+
=====> 输入指令:
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export  
+
OUT_IO_OUT_NUM=
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction   
+
echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export
# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value  
+
echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction   
 +
echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
 
</pre>   
 
</pre>   
注意:配置 P21:35 输出低电平并通过万用表测量,如果管脚P21:35电压为0V,则配置OK    
+
  用万用表测试管脚P21:36,电压为3.3V,则表示OK    
 
+
**其它** 
* 配置 P21:36 为输出高电平   
+
  控制 GPIO 输出低电平的指令:
输入如下命令:
 
 
<pre>
 
<pre>
# OUT_IO_OUT_NUM=
+
=====> 输入指令:
# echo ${OUT_IO_OUT_NUM} > /sys/class/gpio/export
+
echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value  
# echo "out" > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/direction 
 
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value
 
 
</pre>   
 
</pre>   
注意:配置 P21:36 输出高电平并通过万用表测量,如果管脚P21:36电压为3.3V,则配置OK 
+
  控制 GPIO 输出高电平的指令:
 
 
2)控制输出电平 
 
输入如下命令: 
 
 
<pre>
 
<pre>
# echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value 
+
=====> 输入指令:
# echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value  
+
echo 1 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value  
 
</pre>   
 
</pre>   
可以实现控制输出电平。
+
  其它可用GPIO:P21:33,34,23;对应的 IO序号Number 为:2,1,110   
* 其它可用GPIO:P21:33,34,23;对应的 IO序号Number 为:2,1,110   
 
 
    
 
    
### GPIO-LED 测试  
+
<br/>
   
+
### GPIO-LED 测试(led-heartbeat)
#### led-heartbeat  
+
 
* led-heartbeat 连接到指示灯 D12,系统启动后可以看到 D12 在有规律的闪烁。  
+
--------------------------------------------------------------------------------
 +
  【测试说明】:观察实现为led-heartbeat的LED  
 +
  【接口标识】:LED 
 +
  【接口丝印】:D12 
 +
  【系统接口】:/sys/class/leds/Heartbeat/ 
 +
**测试操作**  
 +
  无需任何操作  
 +
**测试结果** 
 +
  系统启动后可以看到 D12 在有规律的闪烁,即表示应该功能正常。  
 
    
 
    
#### led-timer 
+
<br/>
* led-timer 连接到指示灯 D8,系统启动后可以看到 D8 在有规律的闪烁。 
+
### GPIO-LED 测试(led-timer)
* 控制高低电平持续的时间 
 
  
1)更改灭的时间  
+
--------------------------------------------------------------------------------
 +
  【测试说明】:控制实现为led-timer(LED)的亮灭时间 
 +
  【接口标识】:LED 
 +
  【接口丝印】:D8 
 +
  【系统接口】:/sys/class/leds/led-timer/ 
 +
**测试操作** 
 +
  更改灭的时间:  
 
<pre>
 
<pre>
# echo 1000 > /sys/class/leds/led-timer/delay_off   
+
=====> 输入指令:
 +
echo 1000 > /sys/class/leds/led-timer/delay_off   
 
</pre>
 
</pre>
2)更改亮的时间  
+
  更改亮的时间:  
 
<pre>
 
<pre>
# echo 2000 > /sys/class/leds/led-timer/delay_on   
+
=====> 输入指令:
 +
echo 2000 > /sys/class/leds/led-timer/delay_on   
 
</pre>
 
</pre>
 +
**测试结果** 
 +
  执行上面两条指令后,发现对应LED亮的持续时间为2秒,LED灭的持续时间为1秒。
 
    
 
    
##### led-default  
+
<br/>
*led-default 连接到 D11,系统启动后默认状态为常亮。
+
### GPIO-LED 测试(led-default)
1)使 D11 常亮  
+
 
Default-on可以通过brightness控制 ,Default-on的实现是初始触发状态为on,即初始触发后为高电平。 
+
--------------------------------------------------------------------------------
输入如下命令:
+
  【测试说明】:控制实现为led-default(LED)的亮灭状态 
 +
  【接口标识】:LED  
 +
  【接口丝印】:D11 
 +
  【系统接口】:/sys/class/leds/led-timer/ 
 +
**测试操作**  
 +
  **说明:**系统启动后默认状态为常亮。 
 +
  使 D11 灭:   
 
<pre>
 
<pre>
# echo 1 > /sys/class/leds/default/brightness   
+
=====> 输入指令:
 +
echo 0 > /sys/class/leds/default/brightness   
 
</pre>
 
</pre>
2)使 D11 灭   
+
  使 D11 亮: 
往brightness写0即可检测到低电平。 
 
输入如下命令:
 
 
<pre>
 
<pre>
# echo 0 > /sys/class/leds/default/brightness   
+
=====> 输入指令:
 +
echo 1 > /sys/class/leds/default/brightness   
 
</pre>
 
</pre>
 +
**测试结果** 
 +
  执行指令后,发现对应LED的状态随指令的功能进行改变。
 +
 +
<br/>
 +
### PWM 测试(PWM-LED)
  
### PWM 测试  
+
--------------------------------------------------------------------------------
##### PWM-LED
+
  【测试说明】:控制连接到PWM5的LED其亮灭时间 
输入如下命令: 
+
  【接口标识】:无  
 +
  【接口丝印】:D7(在“USB HOST”标识附近) 
 +
  【系统接口】:/sys/class/pwm/pwmchip4/ 
 +
**测试操作** 
 +
  控制 PWM5 的占空时间:
 
<pre>
 
<pre>
# PWM_DEV=pwmchip4
+
=====> 输入指令:
# echo 0 > /sys/class/pwm/$PWM_DEV/export  
+
PWM_DEV=pwmchip4
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
+
echo 0 > /sys/class/pwm/$PWM_DEV/export  
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
+
echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
+
echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
 +
echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
 
</pre>
 
</pre>
* 说明:可以看到 LED(D7) 在 1 秒(1000000000 纳秒)内闪烁一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。   
+
**测试结果** 
 +
  可以看到对应的 LED 在 1 秒(1000000000 纳秒)内闪烁一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。   
 +
 
 +
<br/>
 +
### PWM 测试(PWM-Buzzer)
  
##### PWM-Buzzer  
+
--------------------------------------------------------------------------------
输入如下命令:
+
  【测试说明】:控制连接到PWM2的蜂鸣器 
 +
  【接口标识】:BUZZER 
 +
  【接口丝印】:P17 
 +
  【系统接口】:/sys/class/pwm/pwmchip1/ 
 +
**测试操作**  
 +
    控制 PWM2 的占空时间:
 
<pre>
 
<pre>
# PWM_DEV=pwmchip1
+
=====> 输入指令:
# echo 0 > /sys/class/pwm/$PWM_DEV/export  
+
PWM_DEV=pwmchip1
# echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
+
echo 0 > /sys/class/pwm/$PWM_DEV/export  
# echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
+
echo 1000000000 > /sys/class/pwm/$PWM_DEV/pwm0/period
# echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
+
echo 100000000 > /sys/class/pwm/$PWM_DEV/pwm0/duty_cycle
 +
echo 1 > /sys/class/pwm/$PWM_DEV/pwm0/enable
 
</pre>
 
</pre>
* 说明:可以听到蜂鸣器在 1 秒(1000000000 纳秒)内响一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。
+
**测试结果** 
 +
  可以听到蜂鸣器在 1 秒(1000000000 纳秒)内响一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。
 +
 
 +
<br/>
 +
### 串口测试(UART2)
  
### 串口测试
+
--------------------------------------------------------------------------------
测试说明:采用串口自发自收测试。
+
  【测试说明】:采用串口自发自收的方式进行测试 
#### UART2
+
  【接口标识】:SPI/I2C/GPIO 
####接口属性 
+
  【接口位置】:P21:27,28   
* 位置:P21:27,28   
+
  【系统设备】:/dev/ttymxc1   
* 设备:/dev/ttymxc1   
+
**测试操作**  
1)测试准备  
+
  短接串口2的发送发接收管脚(P21的27和28号管脚)    
短接串口2的发送发接收管脚(P21的27和28号管脚) 
+
  执行测试指令:
2)进行测试    
 
输入如下命令: 
 
<pre>
 
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc1 "www.myzr.com.cn" 
 
</pre>
 
系统会输出类似以下信息: 
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/my-demo/gcc-linaro-5.3-arm/serial_test.out /dev/ttymxc1 "www.myzr.com.cn" 
 +
 +
=====> 输出信息:
 
Starting send data...finish
 
Starting send data...finish
 
Starting receive data:
 
Starting receive data:
第266行: 第323行:
 
ASCII: 0x0      Character:   
 
ASCII: 0x0      Character:   
 
</pre>
 
</pre>
 
+
**测试结果**  
#### UART3
+
  执行测试指令后,应用输出如上类似信息即正常。  
####接口属性   
+
 
* 位置:P21: 25,26   
+
<br/>
* 设备:/dev/ttymxc2   
+
### 串口测试(UART3)
1)测试准备   
+
 
短接串口3的发送发接收管脚(P21的25和26号管脚)  
+
--------------------------------------------------------------------------------
2)进行测试  
+
  【测试说明】:采用串口自发自收的方式进行测试 
输入如下命令:
+
  【接口标识】:SPI/I2C/GPIO 
<pre>
+
  【接口位置】:P21:25,26 
# /my-demo/linux-4.1.15/MY_SERIAL_TEST_L4115_MYIMX6A7.out /dev/ttymxc2 "www.myzr.com.cn"  
+
  【系统设备】:/dev/ttymxc2  
</pre>    
+
**测试命令**  
系统会输出类似以下信息:   
+
  短接串口2的发送发接收管脚(P21的25和26号管脚)    
 +
  执行测试指令:
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/my-demo/gcc-linaro-5.3-arm/serial_test.out /dev/ttymxc2 "www.myzr.com.cn" 
 +
 +
=====> 输出信息:
 
Starting send data...finish
 
Starting send data...finish
 
Starting receive data:
 
Starting receive data:
第299行: 第361行:
 
ASCII: 0x0      Character:   
 
ASCII: 0x0      Character:   
 
</pre>
 
</pre>
   
+
**测试结果** 
### CAN 测试  
+
  执行测试指令后,应用输出如上类似信息即正常。 
测试说明;MY-IMX6-EK140P有两组CAN接口,采用CAN1发送,CAN0接收的方式。 
+
 
####接口属性  
+
<br/>
位置:CAN1 P7:1,
+
### RS485 测试
位置:CAN2  P9:1,2  
+
  【测试说明】:RS485是差分信号,不能采用自发自收的方式进行测试。如果采用两个开发板进行测试,连接好 RS485 后,参照串口的测试方法即可。 
 
+
 
1)测试准备  
+
<br/>
将CAN1的CAN_L(P7:1)与CAN2的CAN_L (P9:1)连接;将CAN1的CAN_H (P7:2)与CAN2的CAN_H (P9:2)连接。   
+
### CAN 测试
2)输入测试指令  
+
 
* 配置 CAN1 (can0)   
+
--------------------------------------------------------------------------------
<pre>
+
  【测试说明】:采用CAN1发送,CAN0接收的方式。  
# ip link set can0 up type can bitrate 125000  
+
  【接口标识】:CAN1(对应系统里的can0);CAN2(对应系统里的can1)  
</pre>
+
  【接口丝印】:CAN1 P7:1,2;CAN2 P9:1,2
系统会输出类似如下信息:
+
**测试准备**  
 +
  将CAN1的CAN_L(P7:1)与CAN2的CAN_L(P9:1)连接。 
 +
  将CAN1的CAN_H(P7:2)与CAN2的CAN_H(P9:2)连接。  
 +
**测试命令** 
 +
  配置 CAN1(can0):  
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
ip link set can0 up type can bitrate 125000 
 +
 +
=====> 输出信息:
 
flexcan 2090000.can can0: writing ctrl=0x0e312005
 
flexcan 2090000.can can0: writing ctrl=0x0e312005
 
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
 
IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready
 
</pre>
 
</pre>
* 配置 CAN2 (can1)  
+
  配置 CAN2(can1):  
<pre>
 
# ip link set can1 up type can bitrate 125000 
 
</pre>
 
系统会输出类似如下信息:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
ip link set can1 up type can bitrate 125000 
 +
 +
=====> 输出信息:
 
flexcan 2094000.can can1: writing ctrl=0x0e312005
 
flexcan 2094000.can can1: writing ctrl=0x0e312005
 
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
 
IPv6: ADDRCONF(NETDEV_CHANGE): can1: link becomes ready
 
</pre>
 
</pre>
* CAN1 (can0) 后台接收  
+
  CAN1 (can0) 后台接收:  
<pre>
 
# candump can0 & 
 
</pre>
 
系统会输出类似如下信息:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
candump can0 & 
 +
 +
=====> 输出信息:
 
[1] 589
 
[1] 589
 
</pre>
 
</pre>
* CAN2 (can1) 发送数据  
+
  CAN2(can1)发送数据:  
<pre>
 
# cansend can1 1F334455#1122334455667788
 
</pre>
 
系统会输出类似如下信息:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
cansend can1 1F334455#1122334455667788
 +
 +
=====> 输出信息:
 
can0  1F334455  [8]  11 22 33 44 55 66 77 88
 
can0  1F334455  [8]  11 22 33 44 55 66 77 88
 
</pre>
 
</pre>
  
### SPI测试  
+
<br/>
测试说明;评估板一共有2路SPI。  
+
### SPI测试(ECSPI1)
#### ECSPI1 测试
+
 
####接口属性
+
--------------------------------------------------------------------------------
* 位置:P21: 3,4
+
  【测试说明】:采用自发自收的方式测试。  
* 测试设备:/dev/spidev0.0   
+
  【接口标识】:SPI/I2C/GPIO  
1)测试准备
+
  【接口丝印】:P21: 3,4  
短接P21的3和4管脚。    
+
  【系统设备】:/dev/spidev0.0   
2)输入测试指令
+
**测试操作** 
<pre>
+
  短接P21的3和4管脚。    
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev0.0 
+
  执行测试指令 
</pre>
 
测试结果类似如下输出,则表示测试通过:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev0.0 
 +
 +
=====> 输出信息:
 
spi mode: 0
 
spi mode: 0
 
bits per word: 8
 
bits per word: 8
 
max speed: 500000 Hz (500 KHz)
 
max speed: 500000 Hz (500 KHz)
  
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
40 00 00 00 00 95 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
DE AD BE EF BA AD 
00 00 
+
F0 0D
 
</pre>
 
</pre>
 
+
**测试结果** 
#### ECSPI2 测试  
+
  执行测试指令后,应用输出如上类似信息即正常。  
####接口属性
+
 
* 位置:P21: 9,10  
+
<br/>
* 测试设备:/dev/spidev1.0   
+
### SPI测试(ECSPI2)
1)测试准备 
+
 
短接P21的9和10管脚。    
+
--------------------------------------------------------------------------------
2)输入测试指令
+
  【测试说明】:采用自发自收的方式测试。  
<pre>
+
  【接口标识】:SPI/I2C/GPIO 
# /my-demo/linux-4.1.15/MY_SPIDEV_TEST_L4115_MYIMX6A7.out -D /dev/spidev1.0  
+
  【接口丝印】:P21: 9,10    
</pre>  
+
  【系统设备】:/dev/spidev1.0
测试结果类似如下输出,则表示测试通过:
+
**测试操作**  
 +
  短接P21的9和10管脚。 
 +
  执行测试指令
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev1.0 
 +
 +
=====> 输出信息:
 
spi mode: 0
 
spi mode: 0
 
bits per word: 8
 
bits per word: 8
 
max speed: 500000 Hz (500 KHz)
 
max speed: 500000 Hz (500 KHz)
  
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
40 00 00 00 00 95 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
FF FF FF FF FF FF 
00 00 00 00 00 00
+
DE AD BE EF BA AD 
00 00
+
F0 0D
 
</pre>
 
</pre>
 
+
**测试结果** 
### Watchdog 测试
+
  执行测试指令后,应用输出如上类似信息即正常。 
测试说明:WatchDog测试包括2项:一项是复位测试,一项是喂狗测试。
+
 
##### 超时复位测试  
+
<br/>
1)测试说明   
+
### Watchdog 超时复位测试
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。  
+
 
2)输入测试指令 
+
--------------------------------------------------------------------------------
<pre>
+
  【测试说明】:开启看门狗,并等待看门狗超时,产生复位。  
# /unit_tests/wdt_driver_test.out 10 15 1  
+
  【接口标识】:无 
</pre>
+
  【接口丝印】:无 
运行测试命令后等待10秒后,WatchDog超时,系统被复位。    
+
  【系统设备】:/dev/watchdog  
将会在终端看到系统重新启动输出的信息类似如下:
+
**测试操作** 
 +
  运行看门狗程序:    
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/unit_tests/wdt_driver_test.out 10 15 1
 +
 +
=====> 输出信息:
 
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
 
The actual timeout was set to 10 seconds
 
The actual timeout was set to 10 seconds
 
Now reading back -- The timeout is 10 seconds
 
Now reading back -- The timeout is 10 seconds
random: nonblocking pool is initialized
+
</pre>
 
+
**测试结果** 
 
+
  运行测试命令10秒后,WatchDog超时,系统被复位。会在终端看到系统重新启动输出的信息类似如下:
 +
<pre>
 
U-Boot 2016.03-svn270 (Oct 08 2018 - 16:52:53 +0800)
 
U-Boot 2016.03-svn270 (Oct 08 2018 - 16:52:53 +0800)
  
第422行: 第506行:
 
Board: MYIMX6EK140P-6Y
 
Board: MYIMX6EK140P-6Y
 
</pre>
 
</pre>
 
+
 
##### 喂狗测试  
+
<br/>
1)测试说明
+
### Watchdog 喂狗测试
喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将会在超时时间(这里是4秒)内复位。    
+
 
2)输入测试指令
+
--------------------------------------------------------------------------------
 +
  【测试说明】:开启看门狗,并使应用程序喂狗。 
 +
  【接口标识】:无 
 +
  【接口丝印】:无 
 +
  【系统设备】:/dev/watchdog 
 +
**测试操作** 
 +
  运行看门狗程序,并设置超时时间为4秒,喂狗间隔时间为2秒:    
 
<pre>
 
<pre>
# /unit_tests/wdt_driver_test.out 4 2 1 &   
+
=====> 输入指令:
</pre>
+
/unit_tests/wdt_driver_test.out 4 2 1 &   
测试结果类似如下输出,则表示测试通过:
+
 
<pre>
+
=====> 输出信息:
[1] 585
+
[1] 831
 
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
Now reading back -- The timeout is 4 seconds  
+
Now reading back -- The timeout is 4 seconds
</pre>
+
</pre>  
 +
**测试结果** 
 +
  系统正常工作,表示喂狗功能正常。
 +
 
 +
<br/>
 +
### RTC 测试
  
   
+
--------------------------------------------------------------------------------
### RTC 测试
+
  【测试说明】:读取并设置时间,断电重启后检查时间是否正确  
1)测试说明   
+
  【接口标识】:无 
断电重启设备,查看当前系统时间和硬件时间
+
  【接口丝印】:无 
* 查看当前系统时钟命令如下:
+
  【系统设备】:/sys/class/rtc/rtc0/ 
<pre>
+
**测试操作**  
# date  
+
  1. 断电重启设备,查看当前系统时间和硬件时间:
</pre>
 
系统输出信息如下:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
date 
 +
 +
=====> 输出信息:
 
Wed Sep 19 17:39:19 UTC 2018  
 
Wed Sep 19 17:39:19 UTC 2018  
 
</pre>
 
</pre>
 
+
  2. 查看当前RTC芯片时钟:  
2)查看当前RTC芯片时钟  
 
命令如下:
 
<pre>
 
# hwclock
 
</pre>
 
系统输出信息如下:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
hwclock
 +
 +
=====> 输出信息:
 
Wed Sep 19 17:40:05 2018  0.000000 seconds  
 
Wed Sep 19 17:40:05 2018  0.000000 seconds  
 
</pre>
 
</pre>
 
+
  3. 设置系统时钟,并同步到RTC芯片  
3)设置系统时钟,并同步到RTC芯片  
 
命令如下:
 
<pre>
 
# date -s "2018-09-21 12:34:56" 
 
</pre> 
 
系统输出信息如下:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
date -s "2018-09-21 12:34:56" 
 +
 +
=====> 输出信息:
 
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>
 
+
**测试结果** 
5)断电重启评估板,查看当前系统时钟和硬件时钟    
+
  1. 断电重启评估板,查看当前系统时钟和硬件时钟    
命令如下:
 
<pre>
 
# date
 
</pre>
 
系统输出信息如下:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
date
 +
 +
=====> 输出信息:
 
Fri Sep 21 12:36:02 UTC 2018
 
Fri Sep 21 12:36:02 UTC 2018
 
</pre>
 
</pre>
 
    
 
    
6)查看当前RTC芯片时钟
+
  2. 查看当前RTC芯片时钟
命令如下:
 
<pre>
 
# hwclock 
 
</pre>
 
系统输出信息如下:
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
hwclock 
 +
 +
=====> 输出信息:
 
Fri Sep 21 12:36:12 2018  0.000000 seconds  
 
Fri Sep 21 12:36:12 2018  0.000000 seconds  
 
</pre>
 
</pre>
 +
  可以看到我们得到的时间与设置的时间基本相同。
 +
 +
<br/>
 +
### wakealarm 唤醒测试
  
### 定时唤醒测试
+
--------------------------------------------------------------------------------
1)设定 10 秒后产生唤醒事件
+
  【测试说明】:设定 wakealarm 事件,之后使系统进入睡眠,等待 wakealarm 事件唤醒。 
 +
  【接口标识】:无 
 +
  【接口丝印】:无 
 +
  【系统设备】:如 /sys/class/rtc/rtc1/wakealarm 
 +
**测试操作** 
 +
  1. 设定 rtc1,使 10 秒后产生 wakealarm 事件
 
<pre>
 
<pre>
# echo +10 > /sys/class/rtc/rtc1/wakealarm  
+
=====> 输入指令:
 +
echo +10 > /sys/class/rtc/rtc1/wakealarm  
 
</pre>
 
</pre>
2)使设备进入
+
 
<pre>
+
  2. 使设备进入睡眠
# echo mem > /sys/power/state
 
</pre>
 
3)睡眠信息
 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
echo mem > /sys/power/state
 +
 +
=====> 输出信息:
 
PM: Syncing filesystems ... done.
 
PM: Syncing filesystems ... done.
Freezing user space processes ...  
+
Freezing user space processes ... (elapsed 0.007 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.006 seconds) done.
+
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
 
Suspending console(s) (use no_console_suspend to debug)
 
Suspending console(s) (use no_console_suspend to debug)
 
</pre>
 
</pre>
4)唤醒信息
+
**测试结果** 
 +
  1. 可以看到开发板的除电源指示灯以外的 LED 都灭了。 
 +
  2. 10内 LED 的状态又恢复了,并且系统输出类似如下信息:
 
<pre>
 
<pre>
(elapsed 0.001 seconds) done.
 
 
PM: suspend of devices complete after 708.601 msecs
 
PM: suspend of devices complete after 708.601 msecs
 
PM: suspend devices took 0.710 seconds
 
PM: suspend devices took 0.710 seconds
第527行: 第630行:
 
Restarting tasks ... done.
 
Restarting tasks ... done.
 
</pre>
 
</pre>
 +
<br/>
 +
 +
### ADC 测试
  
### 音频测试  
+
--------------------------------------------------------------------------------
##### 播放音频
+
  【测试说明】:系统默认配置CPU的GPIO1_IO01和GPIO1_IO02为ADC。  
测试说明:这项测试是通过播放音频文件验证评估板的音频功能。 
+
  【接口标识】:SPI/I2C/GPIO 
1)测试准备   
+
  【接口丝印】:P21:34,P21:33 
2)执行测试命令
+
  【系统设备】:/sys/bus/iio/devices/iio\:device0/ 
 +
**测试操作** 
 +
  1. 获取 ADC1_IN1 采集到的数据 
 
<pre>
 
<pre>
# aplay /unit_tests/audio8k16S.wav 
+
=====> 输入指令:
 +
cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
 +
 
 +
=====> 输出信息:
 +
848
 
</pre>
 
</pre>
3)执行上面的测试命令后会听到音频设备输出的声音。
+
 
系统会输出类似如下信息:
+
  1. 获取 ADC1_IN2 采集到的数据 
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw
 +
 +
=====> 输出信息:
 +
1
 +
</pre>
 +
**测试结果** 
 +
  输出的值为 ADC 采集到的数值。
 +
  **采样的最大电压不能超过3.3V,否则可能导致核心板损坏,采样的最大输出值为 4096。**
 +
 +
<br/>
 +
### 音频播放测试
 +
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:通过播放音频文件验证评估板的音频播放功能。 
 +
  【接口标识】:HP/MIC 
 +
  【接口丝印】:P12 
 +
  【系统设备】:wm8960-audio 
 +
**测试操作** 
 +
  把耳机插入开发板的“HP/MIC”口。 
 +
  执行测试命令:
 +
<pre>
 +
=====> 输入指令:
 +
aplay /unit_tests/audio8k16S.wav 
 +
 +
=====> 输出信息:
 
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>
 +
**测试结果** 
 +
  执行上面的测试命令后会听到音频设备输出的声音。
  
##### 音频录音
+
<br/>
1)测试准备   
+
### 音频录音测试
2)输入测试命令 
+
 
* 录音
+
--------------------------------------------------------------------------------
 +
  【测试说明】:通过录音并播放录音文件验证评估板的音频录音功能。 
 +
  【接口标识】:HP/MIC 
 +
  【接口丝印】:P12 
 +
  【系统设备】:wm8960-audio 
 +
**测试操作** 
 +
  1. 把带MIC的耳机插入开发板的“HP/MIC”口。 
 +
  2. 执行录音命令:
 
<pre>
 
<pre>
# arecord -d 5 -f S16_LE -t wav foobar.wav   
+
=====> 输入指令:
 +
arecord -d 5 -f S16_LE -t wav foobar.wav   
 +
 
 +
=====> 输出信息:
 +
Recording WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
 
</pre>
 
</pre>
* 播放录音  
+
  3. 播放录音  
 
<pre>
 
<pre>
# aplay foobar.wav   
+
=====> 输入指令:
 +
aplay foobar.wav   
 +
 
 +
=====> 输出信息:
 +
Playing WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
 
</pre>  
 
</pre>  
3)执行上面的测试命令后会听到音频设备播放的录音。    
+
**测试结果** 
    
+
  执行上面的测试命令后会听到播放的录音。    
### 4G模块EC20(选配)测试
+
 
接口位置:P19    
+
<br/>
测试说明:在断电下接入4G模块,接入天线并插入SIM卡后启动评估板    
+
### 背光测试
输入如下命令:    
+
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:通过设置背光亮度值验证评估板的背光功能。 
 +
  【接口标识】:显示屏 
 +
  【系统设备】:backlight 
 +
**测试操作** 
 +
  1. 查看最大背光亮度值。 
 +
<pre>
 +
=====> 输入指令:
 +
cat /sys/class/backlight/backlight/max_brightness
 +
 
 +
=====> 输出信息:
 +
7
 +
</pre>
 +
  2. 设置背光亮度,直接看显示屏亮度。
 +
<pre>
 +
=====> 输入指令:
 +
echo 5 > /sys/class/backlight/backlight/brightness
 +
cat /sys/class/backlight/backlight/brightness
 +
 
 +
=====> 输出信息:
 +
5
 +
</pre>
 +
**测试结果** 
 +
  执行上面的测试命令后会看到显示屏的亮度发生变化。    
 +
<br>
 +
 
 +
### usb识别为U盘测试
 +
  【测试说明】:通过mini usb线在PC识别开发板为U盘<br>
 +
  【接口标识】:p18<br>
 +
  【系统设备】:devtmpfs<br>
 +
**测试操作** 
 +
  1. 创建一个10M大小的文件
 +
<pre>
 +
=====> 输入指令:
 +
# dd if=/dev/zero of=/dev/shm/disk bs=1024 count=10240
 +
 
 +
=====> 输出信息:
 +
10240+0 records in
 +
10240+0 records out
 +
10485760 bytes (10 MB, 10 MiB) copied, 0.163177 s, 64.3 MB/s
 +
 
 +
</pre>
 +
  2. 载入模块
 +
<pre>
 +
=====> 输入指令:
 +
# modprobe g_mass_storage stall=0 file=/dev/shm/disk removable=1
 +
 
 +
=====> 输出信息:
 +
Mass Storage Function, version: 2009/09/11
 +
LUN: removable file: (no medium)
 +
LUN: removable file: /dev/shm/disk
 +
Number of LUNs=1
 +
Number of LUNs=1
 +
g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
 +
g_mass_storage gadget: userspace failed to provide iSerialNumber
 +
g_mass_storage gadget: g_mass_storage ready
 +
root@myimx6ek140p:~# g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage
 +
</pre>
 +
  3. 识别U盘
 +
<pre>
 +
    此时PC“我的电脑”会出现U盘的驱动器,将其格式化后,便可对其读写
 +
</pre>
 +
  4. 挂载 
 +
<pre>
 +
# mount /dev/shm/disk /mnt
 +
</pre>
 +
 
 +
**测试结果** 
 +
在/mnt/下看到在电脑写入的文件,在开发板写入文件,重新插拔MINI USB可在PC看到在开发板写入的新文件。
 +
 
 +
<br>
 +
 
 +
### usb识别为网口测试
 +
  【测试说明】:通过mini usb线将usb识别为网口<br>
 +
  【接口标识】:P18<br>
 +
  【系统设备】:usb0<br>
 +
**测试操作** 
 +
  1. 载入模块
 +
<pre>
 +
=====> 输入指令:
 +
# modprobe g_ether
 +
=====> 输出信息:
 +
using random self ethernet address
 +
using random host ethernet address
 +
usb0: HOST MAC 4a:d6:a1:ff:e6:53
 +
usb0: MAC 12:e3:37:e8:7a:ab
 +
using random self ethernet address
 +
using random host ethernet address
 +
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
 +
g_ether gadget: g_ether ready
 +
root@myimx6ek140p:/# IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
 +
g_ether gadget: high-speed config #2: RNDIS
 +
IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
 +
</pre>
 +
 
 +
  2. 设置IP
 +
<pre>
 +
=====> 输入指令:
 +
# ifconfig usb0 192.168.7.2
 +
将PC识别的rndis的本地连接IP设置为192.168.7.8
 +
</pre>
 +
  3. 测试网口
 +
<pre>
 +
=====> 输入指令:
 +
# ping 192.168.7.8 -c 2 -w 4
 +
=====> 输出信息:
 +
PING 192.168.7.8 (192.168.7.8) 56(84) bytes of data.
 +
64 bytes from 192.168.7.8: icmp_seq=1 ttl=64 time=0.609 ms
 +
64 bytes from 192.168.7.8: icmp_seq=2 ttl=64 time=0.630 ms
 +
 
 +
--- 192.168.7.8 ping statistics ---
 +
2 packets transmitted, 2 received, 0% packet loss, time 999ms
 +
rtt min/avg/max/mdev = 0.609/0.619/0.630/0.027 ms
 +
</pre>
 +
 
 +
**测试结果** 
 +
“0% packet loss”表示测试通过
 +
<br>
 +
 
 +
注:若WIN10识别rndis为COM口,则需要下载驱动kindle_rndis.inf_amd64-v1.0.0.1.zip
 +
解压后,以管理员权限执行5-runasadmin_register-CA-cer.cmd,然后在COM口处双击,在计算机中查找解压的驱动程序,这样就会有rndis网络了。
 +
<br>
 +
 
 +
###CPU温度测试
 +
  【测试说明】:查看CPU温度<br>
 +
  【接口标识】:无<br>
 +
  【系统设备】:/sys/class/thermal/thermal_zone0/temp<br>
 +
**测试操作** 
 +
  1. 输入命令
 +
<pre>
 +
=====> 输入指令:
 +
echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]
 +
=====> 输出信息:
 +
53</pre>
 +
 
 +
**测试结果** 
 +
53表示CPU的温度为53°<br>
 +
 
 +
###tftp更新镜像
 +
  【测试说明】:可更新dtb、zImage、u-boot、u-boot环境变量<br>
 +
  【接口标识】:无<br>
 +
  【系统设备】:无<br>
 +
**测试操作** 
 +
  电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。    
 +
  把开发板的这个网口用网线跟电脑网口连接起来。 
 +
  进入u-boot命令行。<br>
 +
  1. 设置IP
 +
<pre>
 +
=====> 输入指令:
 +
设置开发板IP:setenv ipaddr 192.168.137.9
 +
设置电脑IP:setenv serverip 192.168.137.99
 +
设置MAC地址:setenv ethaddr 00:00:00:00:00:03
 +
测试网络: ping 192.168.137.99
 +
=====> 输出信息:
 +
Using FEC device
 +
host 192.168.137.99 is alive
 +
</pre>
 +
  2.加载环境变量 
 +
**emmc开发板**
 +
<pre>
 +
=====> 输入指令:
 +
run load_scr_emmc; source ${loadaddr}; 
 +
=====> 输出信息:
 +
reading my_environment_emmc.scr
 +
1514 bytes read in 14 ms (105.5 KiB/s)
 +
## Executing script at 80800000
 +
</pre>
 +
**nand开发板**
 +
<pre>
 +
=====> 输入指令:
 +
run load_scr_nand; source ${loadaddr}; 
 +
=====> 输出信息:
 +
NAND read: device 0 offset 0x3c0000,size 0x20000
 +
131072 bytes read:OK
 +
## Executing script at 80800000
 +
</pre>
 +
  3.烧写dtb
 +
<pre>
 +
=====> 输入指令:
 +
run update_dtb
 +
=====> 输出信息:
 +
Using FEC device
 +
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
 +
Filename 'myimx6ek140p-6g-256m-emmc.dtb'.
 +
Load address: 0x80800000
 +
Loading: ###
 +
        282.2 KiB/s
 +
done
 +
Bytes transferred = 34705 (8791 hex)
 +
writing myimx6ek140p-6g-256m-emmc.dtb
 +
34705 bytes written
 +
</pre>
 +
  4.烧写zImage
 +
<pre>
 +
=====> 输入指令:
 +
run update_kern
 +
=====> 输出信息:
 +
Using FEC device
 +
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
 +
Filename 'zImage-myimx6a7'.
 +
Load address: 0x80800000
 +
Loading: #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        #################################################################
 +
        ##
 +
        3.8 MiB/s
 +
done
 +
Bytes transferred = 7654360 (74cbd8 hex)
 +
writing zImage-myimx6a7
 +
7654360 bytes written
 +
</pre>
 +
  5.烧写u-boot环境变量(nand开发板没有uboot更新) 
 +
<pre>
 +
=====> 输入指令:
 +
run update_scr
 +
=====> 输出信息:
 +
Using FEC device
 +
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
 +
Filename 'my_environment_emmc.scr'.
 +
Load address: 0x80800000
 +
Loading: #
 +
        35.2 KiB/s
 +
done
 +
Bytes transferred = 1514 (5ea hex)
 +
writing my_environment_emmc.scr
 +
1514 bytes written
 +
## Executing script at 80800000
 +
Saving Environment to MMC...
 +
Writing to MMC(1)... done
 +
</pre>
 +
  6.烧写u-boot(nand开发板没有uboot更新) 
 +
<pre>
 +
=====> 输入指令:
 +
run update_ubot
 +
=====> 输出信息:
 +
Using FEC device
 +
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
 +
Filename 'uboot-myimx6ek140p-6g-256m-emmc.imx'.
 +
Load address: 0x80800000
 +
Loading: ####################################################
 +
        3 MiB/s
 +
done
 +
Bytes transferred = 752640 (b7c00 hex)
 +
switch to partitions #0, OK
 +
mmc1(part 0) is current device
 +
 
 +
MMC write: dev # 1, block # 2, count 1022 ... 1022 blocks written: OK
 +
</pre>
 +
<br>
 +
 
 +
###复制更新镜像
 +
  【测试说明】:可更新dtb、zImage、u-boot环境变量、kernel-modules<br>
 +
  【接口标识】:无<br>
 +
  【系统设备】:无<br>
 +
**测试操作** 
 +
  1、复制相应文件到开发板当前目录,以tftp为例
 +
 
 +
  电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。    
 +
  把开发板的这个网口用网线跟电脑网口连接起来。 
 +
  2、测试连接
 +
<pre>
 +
=====> 输入指令:
 +
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.522 ms
 +
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.415 ms
 +
 
 +
--- 192.168.137.99 ping statistics ---
 +
2 packets transmitted, 2 received, 0% packet loss, time 999ms
 +
rtt min/avg/max/mdev = 0.415/0.468/0.522/0.057 ms
 +
</pre>
 +
“0% packet loss”表示连接正常。<br>
 +
  3、传输文件
 +
<pre>
 +
=====> 输入指令:
 +
tftp -g 192.168.137.99 -r zImage-myimx6a7
 +
tftp -g 192.168.137.99 -r myimx6ek140p-6g-256m-emmc.dtb
 +
tftp -g 192.168.137.99 -r my_environment_emmc.scr
 +
tftp -g 192.168.137.99 -r kernel-modules-myimx6a9.tar.bz2
 +
</pre>
 +
  4、查看系统是否自动挂载分区
 +
<pre>
 +
=====> 输入指令:
 +
ls /run/media/mmcblk1p1/
 +
=====> 输出信息:
 +
my_environment_emmc.scr  myimx6ek140p-6g-256m-emmc.dtb  zImage-myimx6a7
 +
</pre>
 +
**系统自动挂载分区** 
 +
  1.复制相应的文件到/run/media/mmcblk1p1/目录,将原文件替换。
 +
<pre>
 +
=====> 输入指令:
 +
cp zImage-myimx6a7 /run/media/mmcblk1p1/
 +
cp myimx6ek140p-6g-256m-emmc.dtb /run/media/mmcblk1p1/
 +
cp my_environment_emmc.scr /run/media/mmcblk1p1/
 +
</pre>
 +
  2.解压更新内核模块
 +
<pre>
 +
=====> 输入指令:
 +
tar xjvf kernel-modules-myimx6a9.tar.bz2 -C /
 +
</pre>
 +
  3.保存并重启
 +
<pre>
 +
=====> 输入指令:
 +
reboot
 +
</pre>
 +
**若系统没有自动挂载分区** 
 +
  1.查看fat分区地址 
 +
<pre>
 +
=====> 输入指令:
 +
fdisk -l
 +
=====> 输出信息:
 +
......
 +
Device        Boot   Start    End Sectors  Size Id Type
 +
/dev/mmcblk1p1        20480 1044479 1024000  500M  c W95 FAT32 (LBA)
 +
/dev/mmcblk1p2      1228800 7733247 6504448  3.1G 83 Linux
 +
......
 +
</pre>
 +
  2.手动挂载
 +
<pre>
 +
=====> 输入指令:
 +
mount /dev/mmcblk1p1 /mnt
 +
</pre>
 +
  3.复制相应的文件到/mnt目录,将原文件替换。
 +
<pre>
 +
=====> 输入指令:
 +
cp zImage-myimx6a7 /mnt
 +
cp myimx6ek140p-6g-256m-emmc.dtb /mnt
 +
cp my_environment_emmc.scr /mnt
 +
</pre>
 +
  4.解压更新内核模块
 +
<pre>
 +
=====> 输入指令:
 +
tar xjvf kernel-modules-myimx6a9.tar.bz2 -C /
 +
</pre>
 +
  5.保存并重启
 +
<pre>
 +
=====> 输入指令:
 +
reboot
 +
</pre>
 +
<br>
 +
 
 +
### WIFI模块RTL8188EUS(选配)测试
 +
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:WIFI连接到AP后,开发板向外网发送ICMP报文来验证连接正常。 
 +
  【接口标识】:WIFI,WIFI_ANT 
 +
  【接口丝印】:U20,E2 
 +
  【系统设备】:wlan0 
 +
**测试操作** 
 +
  1. 确定“WIFI”标识处有贴上WIFI模块,否则无需进行测试。 
 +
  2. 把WIFI天线连接到“WIFI_ANT”标识的接口上。 
 +
  3. 生成 SSID 的 WPA PSK 文件 
 +
  _命令格式: wpa_passphrase <ssid> [passphrase]_ 
 +
<pre>
 +
=====> 输入指令:
 +
wpa_passphrase MY-TEST-AP myzr2012 > /etc/wpa_supplicant.conf
 +
pkill wpa_supplicant
 +
</pre>
 +
  4. 连接 
 +
<pre>
 +
=====> 输入指令:
 +
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
 +
 
 +
=====> 输出信息:
 +
Successfully initialized wpa_supplicant
 +
rfkill: Cannot open RFKILL control device
 +
==> rtl8188e_iol_efuse_patch
 +
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
 +
==> rtl8188e_iol_efuse_patch
 +
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
 +
</pre>
 +
  5. 获取 IP
 +
<pre>
 +
=====> 输入指令:
 +
udhcpc -i wlan0
 +
 
 +
=====> 输出信息:
 +
udhcpc (v1.24.1) started
 +
Sending discover...
 +
Sending select for 192.168.124.113...
 +
Lease of 192.168.124.113 obtained, lease time 7200
 +
/etc/udhcpc.d/50default: Adding DNS 114.114.114.114
 +
/etc/udhcpc.d/50default: Adding DNS 114.114.115.115
 +
</pre>
 +
  6. 测试连接
 
<pre>
 
<pre>
# /my-demo/linux-4.1.15/MY_EC20_QuectelCM_L4115_MYIMX6A7.out &
+
=====> 输入指令:
 +
ping -I wlan0 www.baidu.com -c 2 -w 4
 +
 
 +
=====> 输出信息:
 +
PING www.baidu.com (14.215.177.38): 56 data bytes
 +
64 bytes from 14.215.177.38: seq=0 ttl=49 time=15.753 ms
 +
64 bytes from 14.215.177.38: seq=1 ttl=49 time=11.835 ms
 +
 
 +
--- www.baidu.com ping statistics ---
 +
2 packets transmitted, 2 packets received, 0% packet loss
 +
round-trip min/avg/max = 11.835/13.794/15.753 ms
 
</pre>
 
</pre>
系统会输出类似如下信息:    
+
**测试结果** 
 +
  “0% packet loss”表示WIFI连接正常。
 +
 
 +
<br/>
 +
### 4G模块EC20(选配)测试
 +
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:4G连接成功后,开发板向外网发送ICMP报文来验证连接正常。 
 +
  【接口标识】:3G/4G 
 +
  【接口丝印】:P19 
 +
  【系统设备】:eth2/usb0 
 +
**测试操作** 
 +
  1. 开发板断电,接上4G模块,接上天线并插入SIM卡后启动评估板。    
 +
  2. 使用指令进行网络连接:<br>
 +
若识别为:eth2
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
/my-demo/gcc-linaro-5.3-arm/quectel-CM.out & 
 +
 +
=====> 输出信息:
 
[1] 607
 
[1] 607
 
[09-21_13:36:14:352] WCDMA&LTE_QConnectManager_Linux&Android_V1.1.34
 
[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:353] /my-demo/gcc-linaro-5.3-arm/quectel-CM.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 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 /sys/bus/usb/devices/1-1.2:1.4/net/eth2
第594行: 第1,168行:
 
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 120.196.165.7
 
[09-21_13:36:16:522] /etc/udhcpc.d/50default: Adding DNS 120.196.165.7
 
</pre>
 
</pre>
 +
若识别为:usb0
 +
<pre>
 +
=====> 输入指令:
 +
udhcpc -i usb0
  
### 显示屏(选配)测试 
+
=====> 输出信息:
在系统启动过程中,可以看到 Linux 小企鹅和 OpenEmbedded 启动画面。 
+
udhcpc (v1.24.1) started
 
+
Sending discover...
### FXLS8471(选配)测试 
+
Sending discover...
* 使传感器 Enable 
+
Sending select for 192.168.225.37...
 +
Lease of 192.168.225.37 obtained, lease time 43200
 +
/etc/udhcpc.d/50default: Adding DNS 192.168.225.1
 +
</pre>
 +
  3. 测试连接
 
<pre>
 
<pre>
# echo 1 > /sys/class/misc/FreescaleAccelerometer/enable 
+
=====> 输入指令:
 +
ping -I eth2 www.baidu.com -c 2 -w 4
 +
 +
ping -I usb0 www.baidu.com -c 2 -w 4
 +
 
 +
=====> 输出信息:
 +
PING www.baidu.com (14.215.177.38): 56 data bytes
 +
64 bytes from 14.215.177.38: seq=0 ttl=49 time=15.753 ms
 +
64 bytes from 14.215.177.38: seq=1 ttl=49 time=11.835 ms
 +
 
 +
--- www.baidu.com ping statistics ---
 +
2 packets transmitted, 2 packets received, 0% packet loss
 +
round-trip min/avg/max = 11.835/13.794/15.753 ms
 
</pre>
 
</pre>
* 查看传感器数据  
+
**测试结果** 
 +
  “0% packet loss”表示WIFI连接正常。
 +
 
 +
<br/>
 +
### 显示屏(选配)测试
 +
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:观察系统启动过程中显示屏的显示来确定显示功能是否正常 
 +
  【接口标识】:RGB 
 +
  【接口丝印】:P3 
 +
  【系统设备】:/dev/fb0 
 +
**测试操作** 
 +
  为开发板接上显示屏,上电,观察开发板启动过程中显示屏的显示。 
 +
**测试结果** 
 +
  在系统启动过程中,可以看到 Linux 小企鹅和 OpenEmbedded 启动画面。 
 +
 
 +
<br/>
 +
### FXLS8471(选配)测试
 +
 
 +
--------------------------------------------------------------------------------
 +
  【测试说明】:通过在系统下读取传感器的数据来确认该功能正常 
 +
  【接口标识】:Accelerometer 
 +
  【接口丝印】:U18 
 +
  【系统设备】:/sys/class/misc/FreescaleAccelerometer/ 
 +
**测试操作** 
 +
  1. 使传感器 Enable  
 
<pre>
 
<pre>
# cat /sys/class/misc/FreescaleAccelerometer/data  
+
=====> 输入指令:
 +
echo 1 > /sys/class/misc/FreescaleAccelerometer/enable  
 +
 
 +
=====> 输出信息:
 +
mma enable setting actived
 
</pre>
 
</pre>
 
+
  2. 查看传感器数据  
### MAG3110(选配)测试 
 
* 使传感器 Enalbe  
 
 
<pre>
 
<pre>
# echo 1 > /sys/class/misc/FreescaleGyroscope/enable  
+
=====> 输入指令:
 +
cat /sys/class/misc/FreescaleAccelerometer/data  
 +
 
 +
=====> 输出信息:
 +
-384,136,16384
 
</pre>
 
</pre>
* 测试  
+
**测试结果** 
 +
  执行上面指令后,系统会输出传感器数据即正常。
 +
 
 +
<br/>
 +
### FXAS2100(选配)测试 
 +
  【测试说明】:通过在系统下读取传感器的数据来确认该功能正常 
 +
  【接口标识】:Gyroscope 
 +
  【接口丝印】:U19 
 +
  【系统设备】:/dev/input/eventX 
 +
**测试操作** 
 +
  1. 使传感器 Enable  
 
<pre>
 
<pre>
# evtest 
+
=====> 输入指令:
 +
echo 1 > /sys/class/misc/FreescaleGyroscope/enable
 +
 
 +
=====> 输出信息:
 +
misc FreescaleGyroscope: mma enable setting active
 
</pre>
 
</pre>
系统会输出类似如下信息:
+
  2. 运行 evtest 程序:
 
<pre>
 
<pre>
 +
=====> 输入指令:
 +
evtest
 +
 +
=====> 输出信息:
 
No device specified, trying to scan all of /dev/input/event*
 
No device specified, trying to scan all of /dev/input/event*
 
Available devices:
 
Available devices:
/dev/input/event0:     20cc000.snvs:snvs-powerkey
+
/dev/input/event0: fxas2100x
Select the device event number [0-0]:
+
/dev/input/event1: 20cc000.snvs:snvs-powerkey
</pre> 
+
/dev/input/event2: FreescaleAccelerometer
### FXAS2100(选配)测试 
+
/dev/input/event3: mag3110
* 测试 
+
Select the device event number [0-3]:
<pre>
 
# evtest 
 
 
</pre>
 
</pre>
系统会输出类似如下信息:
+
  3. 选择对应的设备,这里fxas2100对应event0,所以我们输入0:
 
<pre>
 
<pre>
No device specified, trying to scan all of /dev/input/event*
+
=====> 输入指令:
Available devices:
+
0
/dev/input/event0:     20cc000.snvs:snvs-powerkey
+
 
Select the device event number [0-0]: 
+
=====> 输出信息:
 +
Event: time 1538485645.829802, type 3 (EV_ABS), code 0 (ABS_X), value -3
 +
Event: time 1538485645.829802, type 3 (EV_ABS), code 1 (ABS_Y), value 13
 +
Event: time 1538485645.829802, type 3 (EV_ABS), code 2 (ABS_Z), value 4
 +
Event: time 1538485645.829802, -------------- SYN_REPORT ------------
 
</pre>
 
</pre>
 
+
**测试结果** 
<br />
+
  执行上面指令后,系统输出的 value 值即传感器数据。
 +
 
 +
<br/>
  
 
--------------------------------------------------------------------------------   
 
--------------------------------------------------------------------------------   
 
<pre>
 
<pre>
 
--------------------------------------------------------------------------------   
 
--------------------------------------------------------------------------------   
* Looking forward to communicating with you for more functions and field applications. 
 
 
* 珠海明远智睿科技有限公司     
 
* 珠海明远智睿科技有限公司     
 
* ZhuHai MYZR Technology CO.,LTD.   
 
* ZhuHai MYZR Technology CO.,LTD.   
* Latest Update: 2018/10/22   
+
* Latest Update: 2019/01/03 
 +
* Supporter: Tang Bin 
 
--------------------------------------------------------------------------------   
 
--------------------------------------------------------------------------------   
 
</pre>
 
</pre>

2022年4月14日 (四) 17:20的最新版本


测试环境


  【开发板型号】:MYZR-IMX6-EK140P Linux-4.1.15 测试手册-IMX6-EK140P-6Y-512M-4G
  【内核版本】:Linux-4.1.15
  【文件系统】:L4115-fsl-image-qt5-myimx6a7.tar.bz2
  【工具版本】:MfgTool-MYIMX6A7-L4.1.15-Patch.svn268.rar
  说明:为保证测试无误,需要使用的烧录工具版本应不低于svn268


接口标识图


MYIMX6A7-MB140P-Port-F.png


网口测试(ETH1)


  【测试说明】:采用开发板向PC发送ICMP报文的方式进行测试
  【接口标识】:ETH1
  【接口丝印】:P10
  【系统接口】:eth0
测试操作
  配置电脑有线网卡IP为 192.168.137.99。
  用网线连接开发板的ETH1和电脑。
  配置开发板网口:

=====> 输入指令:
ifconfig eth1 down 
ifconfig eth0 192.168.137.81

  测试ETH1(eth0):

=====> 输入指令:
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”表示测试通过。


网口测试(ETH2)


  【测试说明】:采用开发板向PC发送ICMP报文的方式进行测试
  【接口标识】:ETH2
  【接口丝印】:P8
  【系统接口】:eth1
测试操作
  注意:检查"丝印P5"上的跳线帽,保证是接上状态。
  配置电脑有线网卡IP为 192.168.137.99。
  用网线连接开发板的ETH2和电脑。
  配置开发板网口

=====> 输入指令:
ifconfig eth0 down
ifconfig eth1 192.168.137.82 

  测试ETH2(eth1):

=====> 输入指令:
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 测试


  【测试说明】:采用插拔USB存储设备(U盘)的方式进行测试
  【接口标识】:USB HOST
  【接口丝印】:P20
测试方法
  将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  

  将USB设备从底板拔出,系统会输出类似如下信息:

usb 1-1.4: USB disconnect, device number 4  

测试结果
  USB存储设备插拔时系统输出如上类似信息即表示正常。


SD接口测试


  【测试说明】:采用插入并识别TF卡的方式进行测试
  【接口标识】:SD
  【接口丝印】:P13
测试方法
  为开发板断电,把TF卡安装到SD接口。
  查看内核中驱动输出信息

=====> 输入指令:
dmesg | grep mmc0  

=====> 输出信息:
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  

  查看系统的SD接口设备

=====> 输入指令:
ls /dev/mmcblk0*   

=====> 输出信息:
/dev/mmcblk0    ...

测试结果
  SD存储设备插拔时系统输出如上类似信息即表示正常。


标准 GPIO 测试


  【测试说明】:控制GPIO的输出电平
  【接口标识】:SPI/I2C/GPIO
  【接口丝印】:P21
  【系统接口】:/sys/class/gpio/
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,电压为0V,则表示OK
GPIO输出高电平测试
  配置 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,电压为3.3V,则表示OK
其它
  控制 GPIO 输出低电平的指令:

=====> 输入指令:
echo 0 > /sys/class/gpio/gpio${OUT_IO_OUT_NUM}/value   

  控制 GPIO 输出高电平的指令:

=====> 输入指令:
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的LED
  【接口标识】:LED
  【接口丝印】:D12
  【系统接口】:/sys/class/leds/Heartbeat/
测试操作
  无需任何操作
测试结果
  系统启动后可以看到 D12 在有规律的闪烁,即表示应该功能正常。


GPIO-LED 测试(led-timer)


  【测试说明】:控制实现为led-timer(LED)的亮灭时间
  【接口标识】:LED
  【接口丝印】:D8
  【系统接口】:/sys/class/leds/led-timer/
测试操作
  更改灭的时间:

=====> 输入指令:
echo 1000 > /sys/class/leds/led-timer/delay_off  

  更改亮的时间:

=====> 输入指令:
echo 2000 > /sys/class/leds/led-timer/delay_on  

测试结果
  执行上面两条指令后,发现对应LED亮的持续时间为2秒,LED灭的持续时间为1秒。


GPIO-LED 测试(led-default)


  【测试说明】:控制实现为led-default(LED)的亮灭状态
  【接口标识】:LED
  【接口丝印】:D11
  【系统接口】:/sys/class/leds/led-timer/
测试操作
  说明:系统启动后默认状态为常亮。
  使 D11 灭:

=====> 输入指令:
echo 0 > /sys/class/leds/default/brightness  

  使 D11 亮:

=====> 输入指令:
echo 1 > /sys/class/leds/default/brightness  

测试结果
  执行指令后,发现对应LED的状态随指令的功能进行改变。


PWM 测试(PWM-LED)


  【测试说明】:控制连接到PWM5的LED其亮灭时间
  【接口标识】:无
  【接口丝印】:D7(在“USB HOST”标识附近)
  【系统接口】:/sys/class/pwm/pwmchip4/
测试操作
  控制 PWM5 的占空时间:

=====> 输入指令:
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 在 1 秒(1000000000 纳秒)内闪烁一次(高电平持续时间为 100000000 纳秒 = 0.1 秒)。


PWM 测试(PWM-Buzzer)


  【测试说明】:控制连接到PWM2的蜂鸣器
  【接口标识】:BUZZER
  【接口丝印】:P17
  【系统接口】:/sys/class/pwm/pwmchip1/
测试操作

   控制 PWM2 的占空时间:
=====> 输入指令:
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)


  【测试说明】:采用串口自发自收的方式进行测试
  【接口标识】:SPI/I2C/GPIO
  【接口位置】:P21:27,28
  【系统设备】:/dev/ttymxc1
测试操作
  短接串口2的发送发接收管脚(P21的27和28号管脚)
  执行测试指令:

=====> 输入指令:
/my-demo/gcc-linaro-5.3-arm/serial_test.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)


  【测试说明】:采用串口自发自收的方式进行测试
  【接口标识】:SPI/I2C/GPIO
  【接口位置】:P21:25,26
  【系统设备】:/dev/ttymxc2
测试命令
  短接串口2的发送发接收管脚(P21的25和26号管脚)
  执行测试指令:

=====> 输入指令:
/my-demo/gcc-linaro-5.3-arm/serial_test.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:   

测试结果
  执行测试指令后,应用输出如上类似信息即正常。


RS485 测试

  【测试说明】:RS485是差分信号,不能采用自发自收的方式进行测试。如果采用两个开发板进行测试,连接好 RS485 后,参照串口的测试方法即可。


CAN 测试


  【测试说明】:采用CAN1发送,CAN0接收的方式。
  【接口标识】:CAN1(对应系统里的can0);CAN2(对应系统里的can1)
  【接口丝印】:CAN1 P7:1,2;CAN2 P9:1,2
测试准备
  将CAN1的CAN_L(P7:1)与CAN2的CAN_L(P9:1)连接。
  将CAN1的CAN_H(P7:2)与CAN2的CAN_H(P9: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测试(ECSPI1)


  【测试说明】:采用自发自收的方式测试。
  【接口标识】:SPI/I2C/GPIO
  【接口丝印】:P21: 3,4
  【系统设备】:/dev/spidev0.0
测试操作
  短接P21的3和4管脚。
  执行测试指令

=====> 输入指令:
/my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev0.0   

=====> 输出信息:
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

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 

测试结果
  执行测试指令后,应用输出如上类似信息即正常。


SPI测试(ECSPI2)


  【测试说明】:采用自发自收的方式测试。
  【接口标识】:SPI/I2C/GPIO
  【接口丝印】:P21: 9,10
  【系统设备】:/dev/spidev1.0
测试操作
  短接P21的9和10管脚。
  执行测试指令

=====> 输入指令:
/my-demo/gcc-linaro-5.3-arm/spidev_test.out -D /dev/spidev1.0   

=====> 输出信息:
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

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

测试结果
  执行测试指令后,应用输出如上类似信息即正常。


Watchdog 超时复位测试


  【测试说明】:开启看门狗,并等待看门狗超时,产生复位。
  【接口标识】:无
  【接口丝印】:无
  【系统设备】:/dev/watchdog
测试操作
  运行看门狗程序:

=====> 输入指令:
/unit_tests/wdt_driver_test.out 10 15 1

=====> 输出信息:
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

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

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


Watchdog 喂狗测试


  【测试说明】:开启看门狗,并使应用程序喂狗。
  【接口标识】:无
  【接口丝印】:无
  【系统设备】:/dev/watchdog
测试操作
  运行看门狗程序,并设置超时时间为4秒,喂狗间隔时间为2秒:

=====> 输入指令:
/unit_tests/wdt_driver_test.out 4 2 1 &  

=====> 输出信息:
[1] 831
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 测试


  【测试说明】:读取并设置时间,断电重启后检查时间是否正确
  【接口标识】:无
  【接口丝印】:无
  【系统设备】:/sys/class/rtc/rtc0/
测试操作
  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  

测试结果
  1. 断电重启评估板,查看当前系统时钟和硬件时钟

=====> 输入指令:
date 

=====> 输出信息:
Fri Sep 21 12:36:02 UTC 2018

  2. 查看当前RTC芯片时钟

=====> 输入指令:
hwclock  

=====> 输出信息:
Fri Sep 21 12:36:12 2018  0.000000 seconds 

  可以看到我们得到的时间与设置的时间基本相同。


wakealarm 唤醒测试


  【测试说明】:设定 wakealarm 事件,之后使系统进入睡眠,等待 wakealarm 事件唤醒。
  【接口标识】:无
  【接口丝印】:无
  【系统设备】:如 /sys/class/rtc/rtc1/wakealarm
测试操作
  1. 设定 rtc1,使 10 秒后产生 wakealarm 事件

=====> 输入指令:
echo +10 > /sys/class/rtc/rtc1/wakealarm 

  2. 使设备进入睡眠

=====> 输入指令:
echo mem > /sys/power/state

=====> 输出信息:
PM: Syncing filesystems ... done.
Freezing user space processes ... (elapsed 0.007 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Suspending console(s) (use no_console_suspend to debug)

测试结果
  1. 可以看到开发板的除电源指示灯以外的 LED 都灭了。
  2. 10内 LED 的状态又恢复了,并且系统输出类似如下信息:

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.


ADC 测试


  【测试说明】:系统默认配置CPU的GPIO1_IO01和GPIO1_IO02为ADC。
  【接口标识】:SPI/I2C/GPIO
  【接口丝印】:P21:34,P21:33
  【系统设备】:/sys/bus/iio/devices/iio:device0/
测试操作
  1. 获取 ADC1_IN1 采集到的数据

=====> 输入指令:
cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw

=====> 输出信息:
848

  1. 获取 ADC1_IN2 采集到的数据

=====> 输入指令:
cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw

=====> 输出信息:
1

测试结果
  输出的值为 ADC 采集到的数值。   采样的最大电压不能超过3.3V,否则可能导致核心板损坏,采样的最大输出值为 4096。


音频播放测试


  【测试说明】:通过播放音频文件验证评估板的音频播放功能。
  【接口标识】:HP/MIC
  【接口丝印】:P12
  【系统设备】:wm8960-audio
测试操作
  把耳机插入开发板的“HP/MIC”口。
  执行测试命令:

=====> 输入指令:
aplay /unit_tests/audio8k16S.wav   

=====> 输出信息:
Playing WAVE '/unit_tests/audio8k16S.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Stereo  

测试结果
  执行上面的测试命令后会听到音频设备输出的声音。


音频录音测试


  【测试说明】:通过录音并播放录音文件验证评估板的音频录音功能。
  【接口标识】:HP/MIC
  【接口丝印】:P12
  【系统设备】:wm8960-audio
测试操作
  1. 把带MIC的耳机插入开发板的“HP/MIC”口。
  2. 执行录音命令:

=====> 输入指令:
arecord -d 5 -f S16_LE -t wav foobar.wav  

=====> 输出信息:
Recording WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono

  3. 播放录音

=====> 输入指令:
aplay foobar.wav  

=====> 输出信息:
Playing WAVE 'foobar.wav' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono

测试结果
  执行上面的测试命令后会听到播放的录音。


背光测试


  【测试说明】:通过设置背光亮度值验证评估板的背光功能。
  【接口标识】:显示屏
  【系统设备】:backlight
测试操作
  1. 查看最大背光亮度值。

=====> 输入指令:
cat /sys/class/backlight/backlight/max_brightness

=====> 输出信息:
7

  2. 设置背光亮度,直接看显示屏亮度。

=====> 输入指令:
echo 5 > /sys/class/backlight/backlight/brightness
cat /sys/class/backlight/backlight/brightness

=====> 输出信息:
5

测试结果
  执行上面的测试命令后会看到显示屏的亮度发生变化。

usb识别为U盘测试

  【测试说明】:通过mini usb线在PC识别开发板为U盘
  【接口标识】:p18
  【系统设备】:devtmpfs
测试操作
  1. 创建一个10M大小的文件

=====> 输入指令:
# dd if=/dev/zero of=/dev/shm/disk bs=1024 count=10240

=====> 输出信息:
10240+0 records in
10240+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.163177 s, 64.3 MB/s

  2. 载入模块

=====> 输入指令:
# modprobe g_mass_storage stall=0 file=/dev/shm/disk removable=1

=====> 输出信息:
Mass Storage Function, version: 2009/09/11
LUN: removable file: (no medium)
LUN: removable file: /dev/shm/disk
Number of LUNs=1
Number of LUNs=1
g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11
g_mass_storage gadget: userspace failed to provide iSerialNumber
g_mass_storage gadget: g_mass_storage ready
root@myimx6ek140p:~# g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage

  3. 识别U盘

    此时PC“我的电脑”会出现U盘的驱动器,将其格式化后,便可对其读写

  4. 挂载

# mount /dev/shm/disk /mnt

测试结果
在/mnt/下看到在电脑写入的文件,在开发板写入文件,重新插拔MINI USB可在PC看到在开发板写入的新文件。


usb识别为网口测试

  【测试说明】:通过mini usb线将usb识别为网口
  【接口标识】:P18
  【系统设备】:usb0
测试操作
  1. 载入模块

=====> 输入指令:
# modprobe g_ether
=====> 输出信息:
using random self ethernet address
using random host ethernet address
usb0: HOST MAC 4a:d6:a1:ff:e6:53
usb0: MAC 12:e3:37:e8:7a:ab
using random self ethernet address
using random host ethernet address
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
root@myimx6ek140p:/# IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
g_ether gadget: high-speed config #2: RNDIS
IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready

  2. 设置IP

=====> 输入指令:
# ifconfig usb0 192.168.7.2
将PC识别的rndis的本地连接IP设置为192.168.7.8

  3. 测试网口

=====> 输入指令:
# ping 192.168.7.8 -c 2 -w 4
=====> 输出信息:
PING 192.168.7.8 (192.168.7.8) 56(84) bytes of data.
64 bytes from 192.168.7.8: icmp_seq=1 ttl=64 time=0.609 ms
64 bytes from 192.168.7.8: icmp_seq=2 ttl=64 time=0.630 ms

--- 192.168.7.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.609/0.619/0.630/0.027 ms

测试结果
“0% packet loss”表示测试通过

注:若WIN10识别rndis为COM口,则需要下载驱动kindle_rndis.inf_amd64-v1.0.0.1.zip 解压后,以管理员权限执行5-runasadmin_register-CA-cer.cmd,然后在COM口处双击,在计算机中查找解压的驱动程序,这样就会有rndis网络了。

CPU温度测试

  【测试说明】:查看CPU温度
  【接口标识】:无
  【系统设备】:/sys/class/thermal/thermal_zone0/temp
测试操作
  1. 输入命令

=====> 输入指令:
echo $[$(cat /sys/class/thermal/thermal_zone0/temp)/1000]
=====> 输出信息:
53

测试结果
53表示CPU的温度为53°

tftp更新镜像

  【测试说明】:可更新dtb、zImage、u-boot、u-boot环境变量
  【接口标识】:无
  【系统设备】:无
测试操作
  电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。
  把开发板的这个网口用网线跟电脑网口连接起来。
  进入u-boot命令行。
  1. 设置IP

=====> 输入指令:
设置开发板IP:setenv ipaddr 192.168.137.9
设置电脑IP:setenv serverip 192.168.137.99
设置MAC地址:setenv ethaddr 00:00:00:00:00:03
测试网络: ping 192.168.137.99 
=====> 输出信息:
Using FEC device
host 192.168.137.99 is alive

  2.加载环境变量
emmc开发板

=====> 输入指令:
run load_scr_emmc; source ${loadaddr};  
=====> 输出信息:
reading my_environment_emmc.scr
1514 bytes read in 14 ms (105.5 KiB/s)
## Executing script at 80800000

nand开发板

=====> 输入指令:
run load_scr_nand; source ${loadaddr};  
=====> 输出信息:
NAND read: device 0 offset 0x3c0000,size 0x20000
 131072 bytes read:OK
## Executing script at 80800000

  3.烧写dtb

=====> 输入指令:
run update_dtb
=====> 输出信息:
Using FEC device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'myimx6ek140p-6g-256m-emmc.dtb'.
Load address: 0x80800000
Loading: ###
         282.2 KiB/s
done
Bytes transferred = 34705 (8791 hex)
writing myimx6ek140p-6g-256m-emmc.dtb
34705 bytes written

  4.烧写zImage

=====> 输入指令:
run update_kern 
=====> 输出信息:
Using FEC device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'zImage-myimx6a7'.
Load address: 0x80800000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##
         3.8 MiB/s
done
Bytes transferred = 7654360 (74cbd8 hex)
writing zImage-myimx6a7
7654360 bytes written

  5.烧写u-boot环境变量(nand开发板没有uboot更新)

=====> 输入指令:
run update_scr 
=====> 输出信息:
Using FEC device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'my_environment_emmc.scr'.
Load address: 0x80800000
Loading: #
         35.2 KiB/s
done
Bytes transferred = 1514 (5ea hex)
writing my_environment_emmc.scr
1514 bytes written
## Executing script at 80800000
Saving Environment to MMC...
Writing to MMC(1)... done

  6.烧写u-boot(nand开发板没有uboot更新)

=====> 输入指令:
run update_ubot 
=====> 输出信息:
Using FEC device
TFTP from server 192.168.137.99; our IP address is 192.168.137.9
Filename 'uboot-myimx6ek140p-6g-256m-emmc.imx'.
Load address: 0x80800000
Loading: ####################################################
         3 MiB/s
done
Bytes transferred = 752640 (b7c00 hex)
switch to partitions #0, OK
mmc1(part 0) is current device

MMC write: dev # 1, block # 2, count 1022 ... 1022 blocks written: OK
 


复制更新镜像

  【测试说明】:可更新dtb、zImage、u-boot环境变量、kernel-modules
  【接口标识】:无
  【系统设备】:无
测试操作
  1、复制相应文件到开发板当前目录,以tftp为例

  电脑端打开软件 tftpd 地址设置为需更换的文件所在的目录。
  把开发板的这个网口用网线跟电脑网口连接起来。
  2、测试连接

=====> 输入指令:
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.522 ms
64 bytes from 192.168.137.99: icmp_seq=2 ttl=64 time=0.415 ms

--- 192.168.137.99 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.415/0.468/0.522/0.057 ms

“0% packet loss”表示连接正常。
  3、传输文件

=====> 输入指令:
tftp -g 192.168.137.99 -r zImage-myimx6a7
tftp -g 192.168.137.99 -r myimx6ek140p-6g-256m-emmc.dtb
tftp -g 192.168.137.99 -r my_environment_emmc.scr
tftp -g 192.168.137.99 -r kernel-modules-myimx6a9.tar.bz2

  4、查看系统是否自动挂载分区

=====> 输入指令:
ls /run/media/mmcblk1p1/
=====> 输出信息:
my_environment_emmc.scr  myimx6ek140p-6g-256m-emmc.dtb  zImage-myimx6a7

系统自动挂载分区
  1.复制相应的文件到/run/media/mmcblk1p1/目录,将原文件替换。

=====> 输入指令:
cp zImage-myimx6a7 /run/media/mmcblk1p1/
cp myimx6ek140p-6g-256m-emmc.dtb /run/media/mmcblk1p1/
cp my_environment_emmc.scr /run/media/mmcblk1p1/

  2.解压更新内核模块

=====> 输入指令:
tar xjvf kernel-modules-myimx6a9.tar.bz2 -C /

  3.保存并重启

=====> 输入指令:
reboot

若系统没有自动挂载分区
  1.查看fat分区地址 

=====> 输入指令:
fdisk -l
=====> 输出信息:
......
Device         Boot   Start     End Sectors  Size Id Type
/dev/mmcblk1p1        20480 1044479 1024000  500M  c W95 FAT32 (LBA)
/dev/mmcblk1p2      1228800 7733247 6504448  3.1G 83 Linux
......

  2.手动挂载

=====> 输入指令:
mount /dev/mmcblk1p1 /mnt

  3.复制相应的文件到/mnt目录,将原文件替换。

=====> 输入指令:
cp zImage-myimx6a7 /mnt
cp myimx6ek140p-6g-256m-emmc.dtb /mnt
cp my_environment_emmc.scr /mnt

  4.解压更新内核模块

=====> 输入指令:
tar xjvf kernel-modules-myimx6a9.tar.bz2 -C /

  5.保存并重启

=====> 输入指令:
reboot


WIFI模块RTL8188EUS(选配)测试


  【测试说明】:WIFI连接到AP后,开发板向外网发送ICMP报文来验证连接正常。
  【接口标识】:WIFI,WIFI_ANT
  【接口丝印】:U20,E2
  【系统设备】:wlan0
测试操作
  1. 确定“WIFI”标识处有贴上WIFI模块,否则无需进行测试。
  2. 把WIFI天线连接到“WIFI_ANT”标识的接口上。
  3. 生成 SSID 的 WPA PSK 文件
  命令格式: wpa_passphrase <ssid> [passphrase]

=====> 输入指令:
wpa_passphrase MY-TEST-AP myzr2012 > /etc/wpa_supplicant.conf
pkill wpa_supplicant

  4. 连接

=====> 输入指令:
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf

=====> 输出信息:
Successfully initialized wpa_supplicant
rfkill: Cannot open RFKILL control device
==> rtl8188e_iol_efuse_patch
IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
==> rtl8188e_iol_efuse_patch
IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

  5. 获取 IP

=====> 输入指令:
udhcpc -i wlan0

=====> 输出信息:
udhcpc (v1.24.1) started
Sending discover...
Sending select for 192.168.124.113...
Lease of 192.168.124.113 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 114.114.114.114
/etc/udhcpc.d/50default: Adding DNS 114.114.115.115

  6. 测试连接

=====> 输入指令:
ping -I wlan0 www.baidu.com -c 2 -w 4

=====> 输出信息:
PING www.baidu.com (14.215.177.38): 56 data bytes
64 bytes from 14.215.177.38: seq=0 ttl=49 time=15.753 ms
64 bytes from 14.215.177.38: seq=1 ttl=49 time=11.835 ms

--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 11.835/13.794/15.753 ms

测试结果
  “0% packet loss”表示WIFI连接正常。


4G模块EC20(选配)测试


  【测试说明】:4G连接成功后,开发板向外网发送ICMP报文来验证连接正常。
  【接口标识】:3G/4G
  【接口丝印】:P19
  【系统设备】:eth2/usb0
测试操作
  1. 开发板断电,接上4G模块,接上天线并插入SIM卡后启动评估板。
  2. 使用指令进行网络连接:
若识别为:eth2

=====> 输入指令:
/my-demo/gcc-linaro-5.3-arm/quectel-CM.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/gcc-linaro-5.3-arm/quectel-CM.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

若识别为:usb0

=====> 输入指令:
udhcpc -i usb0

=====> 输出信息:
udhcpc (v1.24.1) started
Sending discover...
Sending discover...
Sending select for 192.168.225.37...
Lease of 192.168.225.37 obtained, lease time 43200
/etc/udhcpc.d/50default: Adding DNS 192.168.225.1

  3. 测试连接

=====> 输入指令:
ping -I eth2 www.baidu.com -c 2 -w 4
或
ping -I usb0 www.baidu.com -c 2 -w 4

=====> 输出信息:
PING www.baidu.com (14.215.177.38): 56 data bytes
64 bytes from 14.215.177.38: seq=0 ttl=49 time=15.753 ms
64 bytes from 14.215.177.38: seq=1 ttl=49 time=11.835 ms

--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 11.835/13.794/15.753 ms

测试结果
  “0% packet loss”表示WIFI连接正常。


显示屏(选配)测试


  【测试说明】:观察系统启动过程中显示屏的显示来确定显示功能是否正常
  【接口标识】:RGB
  【接口丝印】:P3
  【系统设备】:/dev/fb0
测试操作
  为开发板接上显示屏,上电,观察开发板启动过程中显示屏的显示。
测试结果
  在系统启动过程中,可以看到 Linux 小企鹅和 OpenEmbedded 启动画面。


FXLS8471(选配)测试


  【测试说明】:通过在系统下读取传感器的数据来确认该功能正常
  【接口标识】:Accelerometer
  【接口丝印】:U18
  【系统设备】:/sys/class/misc/FreescaleAccelerometer/
测试操作
  1. 使传感器 Enable

=====> 输入指令:
echo 1 > /sys/class/misc/FreescaleAccelerometer/enable  

=====> 输出信息:
mma enable setting actived

  2. 查看传感器数据

=====> 输入指令:
cat /sys/class/misc/FreescaleAccelerometer/data  

=====> 输出信息:
-384,136,16384

测试结果
  执行上面指令后,系统会输出传感器数据即正常。


FXAS2100(选配)测试

  【测试说明】:通过在系统下读取传感器的数据来确认该功能正常
  【接口标识】:Gyroscope
  【接口丝印】:U19
  【系统设备】:/dev/input/eventX
测试操作
  1. 使传感器 Enable

=====> 输入指令:
echo 1 > /sys/class/misc/FreescaleGyroscope/enable 

=====> 输出信息:
misc FreescaleGyroscope: mma enable setting active

  2. 运行 evtest 程序:

=====> 输入指令:
evtest 

=====> 输出信息:
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:  fxas2100x
/dev/input/event1:  20cc000.snvs:snvs-powerkey
/dev/input/event2:  FreescaleAccelerometer
/dev/input/event3:  mag3110
Select the device event number [0-3]:

  3. 选择对应的设备,这里fxas2100对应event0,所以我们输入0:

=====> 输入指令:
0

=====> 输出信息:
Event: time 1538485645.829802, type 3 (EV_ABS), code 0 (ABS_X), value -3
Event: time 1538485645.829802, type 3 (EV_ABS), code 1 (ABS_Y), value 13
Event: time 1538485645.829802, type 3 (EV_ABS), code 2 (ABS_Z), value 4
Event: time 1538485645.829802, -------------- SYN_REPORT ------------

测试结果
  执行上面指令后,系统输出的 value 值即传感器数据。



--------------------------------------------------------------------------------  
* 珠海明远智睿科技有限公司    
* ZhuHai MYZR Technology CO.,LTD.  
* Latest Update: 2019/01/03  
* Supporter: Tang Bin  
--------------------------------------------------------------------------------