= 测试前的准备 =
1)请按照《Linux快速启动手册》中的“Linux快速启动” -> “连接设备”进行连接。<br>
2)请按照《Linux快速启动手册》中的“Linux快速启动” -> “启动设备”进行启动。<br>
= 测试项目 =
网口测试
MY-IMX6-EK140支持一个百兆网口。
接口属性
评估板型号
|
CPU接口
|
系统接口
|
接口丝印
|
<thead>
MY-IMX6-EK140 |
|
ENET1 |
|
eth0 |
|
P1
|
</thead>
<tbody>
} |
|
|
|
|
|
|
</tbody>
测试方法
1) 配置计算机IP
设置计算机有线网卡IP为192.168.18.18
2) Eth0连接测试
- 连接网线:将评估板“eth0”对应的接口与计算机有线网卡的接口用网线相连接
- 设置评估板IP:
# ifconfig eth0 192.168.18.36 # configure the eth0
# ping 192.168.18.18 -c 2 -w 4 # send ICMP to HOST
--- 192.168.18.18 ping statistics ---
2packets transmitted, 2 packets received, 0% packet loss
- 测试结果:“0% packet loss”表示测试通过
- 附图
USB测试
接口属性
评估板型号
|
CPU接口
|
系统接口
|
接口丝印
|
MY-IMX6-EK140
|
USB_OTG1
|
USB OTG
<thead>
J4 |
</thead>
<tbody>
|
</tbody>
|
USB_OTG2
|
USB HOST
|
J7[…]
|
USB OTG测试
1) 将MicroUSB转USB的转接线连接到USB1,系统会输出类似如下信息:
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
2) 连接USB设备。即:将U盘插入转接线上的USB口,系统会输出类似如下信息:
usb 2-1: new high-speed USB device number 12 using ci_hdrc
usb-storage 2-1:1.0: USB Mass Storage device detected
3) 拔出USB设备,系统会输出类似如下信息:
usb 2-1: USB disconnect, device number 12
4) 拔下USB转接线,系统会输出类似如下信息:
ci_hdrc ci_hdrc.0: remove, state 4
usb usb2: USB disconnect, device number 1
ci_hdrc ci_hdrc.0: USB bus 2 deregistered
USB HOST测试
MY-IMX6-EK140 的USB HOST是插座形式,如要测试HOST功能,需要把自备USB头,并且将插座上的USB HOST信号线连接到USB头,此操作请找自己的硬件工程师请求支持。
另外,请硬件工程师知晓,由于CPU的USB_VBUS供电能力不足,需要将“5V_core”与USB_VBUS相连。
附图
SD卡测试
接口属性
评估板型号
|
CPU接口
|
系统设备
|
接口丝印
|
MY-IMX6-EK140
|
SD1
|
mmc0
|
U15
|
测试说明
MY-IMX6-EK140的TF卡接口不支持热插拔。
测试方法
1)为MY-IMX6-EK140断电。
2)将TF卡安装好板子的TF卡座上,并确认安装好。
3)为MY-IMX6-EK140上电,待系统启动完成后进入系统。
5)检查TF卡:
# dmesg | grep "mmc0"
TF卡正常则可以看到类似如下信息:
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SD card at address 0002
附图
标准GPIO测试
接口属性
评估板型号
|
CPU接口
|
系统设备
|
信号名称
|
接口位置
|
MY-IMX6-EK140
|
SNVS_TAMPER3
|
gpio131
|
SNVS_TAMPER3
<thead>
J7:31 |
</thead>
<tbody>
|
</tbody>
|
SNVS_TAMPER7
|
gpio135
|
SNVS_TAMPER7
|
J7:32
|
测试说明
标准GPIO的测试以GPIO131为例,其它GPIO测试可参照GPIO131的测试方法。
测试方法
1)设置需要测试的GPIO的IO序号
# OUT_IO_NUMBER=131
2)导出GPIO
# echo ${OUT_IO_NUMBER} > /sys/class/gpio/export
3)设置GPIO方向
# echo "out" > /sys/class/gpio/gpio${OUT_IO_NUMBER}/direction
4)控制输出电平
# echo 0 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
执行命令后即可用万用表检测到对应的引脚为低电平。
# echo 1 > /sys/class/gpio/gpio${OUT_IO_NUMBER}/value
执行命令后即可用万用表检测到对应的引脚为高电平。
附图
GPIO-LED测试
接口属性
评估板型号
|
SOC接口
|
系统设备
<thead>
接口位置 |
</thead>
<tbody>
rowspan=4|MY-IMX6-EK140 |
SNVS_TAMPER4 |
default |
D1 |
- |
</tbody>
|
SNVS_TAMPER1
|
Heartbeat
<thead>
D2 |
</thead>
<tbody>
|
</tbody>
|
SNVS_TAMPER8
|
led-timer
<thead>
D4 |
</thead>
<tbody>
|
</tbody>
|
SNVS_TAMPER5
|
leds-gpio
|
D5
|
GPIO-LED(Default)测试
Default的实现是初始触发状态为on,即系统启动后开发板上对应接口位置的LED常亮。
Default可以通过brightness控制。
往brightness写0即把该IO拉低,LED常灭。
# echo 0 > /sys/class/leds/default/brightness
往brightness写1即把该IO拉高,LED常亮。
# echo 1 > /sys/class/leds/default/brightness
GPIO-LED(Heartbeat)测试
系统启动完成后,可以在开发板上看到Heartbeat对应接口位置的LED在闪烁。
GPIO-LED(Timer)测试
系统启动完成后,可以在开发板上看到led-timer对应接口位置的LED在闪烁:
通过delay_off、delay_on来控制高低电平持续的时间。
# echo 500 > /sys/class/leds/led-timer/delay_off
# echo 1000 > /sys/class/leds/led-timer/delay_on
再看led-timer对应的LED灯,在闪烁过程中可以发现亮的时间比灭的时间长。
GPIO-LED(leds-gpio)测试
GPIO的测试可以使用跟default类似的方法:
往brightness写1即把该IO拉高,LED常亮。
# echo 1 > /sys/class/leds/leds-gpio/brightness
往brightness写0即把该IO拉低,LED常灭。
# echo 0 > /sys/class/leds/leds-gpio/brightness
串口测试
MY-IMX6-EK140共8个串口,其中1个调试串口,7个用户串口。
串口属性
评估板型号
|
SOC接口
|
系统设备
|
信号名称
<thead>
接口位置 |
</thead>
<tbody>
rowspan=8|MY-IMX6-EK140 |
UART1 |
ttymxc0 |
UART1_* |
J7 |
- |
</tbody>
|
UART2
|
ttymxc1
|
UART2_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART3
|
ttymxc2
|
UART3_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART4
|
ttymxc3
|
UART4_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART5
|
ttymxc4
|
UART5_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART6
|
ttymxc5
|
UART6_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART7
|
ttymxc6
|
UART7_*
<thead>
J1 |
</thead>
<tbody>
|
</tbody>
|
UART8
|
ttymxc7
|
UART8_*
|
J1
|
串口测试
1)测试说明
测试的应用程序会配置串口为loopback模式,并进行loopback测试。测试中我们以UART2(ttymxc1)为例。
2)执行测试命令
# /unit_tests/mxc_uart_stress_test.out /dev/ttymxc1 115200 D L 10 1000 O
终端显示“Hit enter to start Loopback”后按下PC上的回车键。
测试命令说明:
/unit_tests/mxc_uart_stress_test.out:测试程序文件
/dev/ttymxc1:需要进行测试的串口设备文件
115200:串口测试的波特率
D:关闭流控(loopback测试不能使用流控)
L:loopback 测试
10:测试次数
1000:测试的数据长度(字节)
O:显示测试log
附图
SPI测试
接口属性
测试需要用到SPI接口的MISO和MOSI管脚,在下表中列出。
评估板型号
|
SOC接口
|
系统设备
|
信号名称
<thead>
接口位置 |
</thead>
<tbody>
rowspan=2|MY-IMX6-EK140 |
ECSPI1 |
spidev0.0 |
ECSPI1_* |
J7:[23,25,…] |
- |
</tbody>
|
ECSPI2
|
spidev1.0
|
ECSPI2_*
|
J7:[24,26,…]
|
说明
采用SPI自发送(输出)自接收(输入)的方式。
注意:测试需要短接评估板的管脚,如果不确定自己能正确短接的请找硬件工程师支持,否则可能会损坏评估板。
测试方法
1)执行测试
短接SPI1的MISO和MISO管脚。
# ~/my-demo/linux-3.14.52/spidev_test.out -D /dev/spidev0.0 -s 1000000
短接SPI2的MISO和MISO管脚。
# ~/my-demo/linux-3.14.52/spidev_test.out -D /dev/spidev1.0 -s 1000000
2)测试结果
如果SPI正常,在终端上会看到如下字符:
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
附图
背光测试
接口属性
?评估板型号
|
SOC接口
|
系统设备
|
信号名称
<thead>
接口位置 |
</thead>
<tbody>
MY-IMX6-EK140 |
PWM4 |
backlight.8 |
PWM4 |
-- |
} |
</tbody>
测试方法
1)查看背光可支持的最大亮度等级
# cat /sys/devices/soc0/backlight.8/backlight/backlight.8/max_brightness
2)查看当前背光亮度等级
# cat /sys/devices/soc0/backlight.8/backlight/backlight.8/brightness
3)控制背光亮度等级(下面命令将背光等级调到3)
# echo 3 > /sys/devices/soc0/backlight.8/backlight/backlight.8/brightness
可以看到显示屏的亮度发生了变化。
附图
CAN接口测试
接口属性
评估板型号
|
SOC接口
|
系统设备
|
信号名称
<thead>
接口位置 |
</thead>
<tbody>
rowspan=2|MY-IMX6-EK140 |
CAN1 |
can0 |
CAN1_* |
J1 |
- |
</tbody>
|
CAN2
|
can1
|
CAN2_*
|
J1
|
测试说明
MY-IMX6-EK140从CPU上引出了CAN信号,但是在EK140上不带CAN收发芯片,所以不能直接测试CAN。如果需要测试CAN的收发,需要外接CAN收发芯片或CAN收发器。
RTC测试
测试说明
1)受快递运输影响,开发板发货时不带电池。测试RTC前请自备纽扣电池并安装到评估板上。
2)MY-IMX6-MB140不带RTC,RTC在MY-IMX6-EXT140上,没有EXT140的客户可跳过此测试。
3)MY-IMX6-EK140的电池座在底板背面。
测试方法
1)断电重启设备,系统启动完成后查看当前系统时间和硬件时间。
# date
# hwclock
3)设置系统时钟,并同步到RTC芯片
# date -s "2016-06-24 12:34:56"
# hwclok –w
4)断电重启评估板,查看当前系统时钟和硬件时钟
# date
# hwclock
附图
WatchDog测试
测试说明
WatchDog测试包括2项:一项是复位测试,一项是喂狗测试。
复位测试
1)测试说明
复位测试将启动WatchDog,但是并不喂狗,超时后系统将会复位。
2)执行测试
# /unit_tests/wdt_driver_test.out 2 4 1
3)测试结果
运行测试命令后等待几秒,WatchDog超时,系统被复位。将会在终端看到系统重新启动输出的信息。
喂狗测试
1)测试说明
喂狗测试将启动WatchDog,并且每2秒钟进行1次喂狗,系统将不会因为WatchDog超时而复位。
2)执行测试
# /unit_tests/wdt_driver_test.out 4 2 1 &
# date
3)验证
经过几分钟之后,系统依然没有复位。我们再查看当前时间。
# date
这时我们终止Watchdog测试程序,这样就没有程序进行喂狗了,系统将会在超时时间(这里是4秒)内复位。
# pkill wdt_driver_test
|