Linux 开发板常规测试
Posted landaliming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 开发板常规测试相关的知识,希望对你有一定的参考价值。
【正点原子】I.MX6U用户快速体验V1.2.pdf
1. LED 与蜂鸣器测试
LED 测试
echo none > /sys/class/leds/sys-led/trigger # 改变 LED 的触发模式
echo 1 > /sys/class/leds/sys-led/brightness # 点亮 LED
echo 0 > /sys/class/leds/sys-led/brightness # 熄灭 LED
蜂鸣器测试
echo 1 > /sys/class/leds/beep/brightness # 鸣叫
echo 0 > /sys/class/leds/beep/brightness # 关闭
cat /sys/class/leds/sys-led/trigger
none rc-feedback nand-disk mmc0 mmc1 timer oneshot [heartbeat] backlight gpio
# [heartbeat] 表示当前是心跳触发。
# 修改触发方式为计时器触发
echo timer > /sys/class/leds/sys-led/trigger
cat /sys/class/leds/sys-led/trigger
none rc-feedback nand-disk mmc0 mmc1 [timer] oneshot heartbeat backlight gpio
# [heartbeat] 表示当前是计时器触发。
# 设置触发为计时器触发后,/sys/class/leds/sys-led/ 目录下会多出两个文件delay_off、delay_on, 通过修改着两个文件的内容可以控制闪烁频率
ls /sys/class/leds/sys-led
brightness delay_off delay_on device max_brightness power subsystem trigger uevent
2. 按键测试
执行lsinput查看按键所对应的输入事件
lsinput
从lsinput的输出信息,得知按键KEY0 对应的输入事件是 /dev/input/event2
,因此使用od或者hexdump命令读取 /dev/input/event2
文件,按下按键后会打印出事件内容:
root@ATK-IMX6U:~# od -x /dev/input/event2
0000000 1a76 5d54 39a0 000d 0014 0000 0190 0000
0000020 1a76 5d54 39a0 000d 0014 0001 0050 0000
0000040 1a76 5d54 39a0 000d 0001 0072 0001 0000
0000060 1a76 5d54 39a0 000d 0000 0000 0000 0000
0000100 1a77 5d54 6860 0000 0001 0072 0000 0000
0000120 1a77 5d54 6860 0000 0000 0000 0000 0000
3. LCD 触摸屏
3.1 LCD 背光调节
# 查看 LCD 屏幕最大亮度等级
cat /sys/devices/platform/backlight/backlight/backlight/max_brightness
# 查看当前 LCD 屏幕背光亮度等级
cat /sys/devices/platform/backlight/backlight/backlight/actual_brightness
# 修改当前 LCD 屏幕背光亮度等级,修改后再查看
echo 5 > /sys/class/backlight/backlight/brightness
cat /sys/devices/platform/backlight/backlight/backlight/actual_brightness
3.2 LCD 触摸测试
接执行下面的指令可退出桌面程序。 psplash.sh 这个脚本会关闭以 Q 开头的 Qt 程序。
/etc/init.d/psplash.sh #关闭 UI 桌面程序
cat /etc/init.d/psplash.sh
#!/bin/sh
### BEGIN INIT INFO
# Provides: psplash
# Required-Start:
# Required-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
read CMDLINE < /proc/cmdline
for x in $CMDLINE; do
case $x in
psplash=false)
echo "Boot splashscreen disabled"
exit 0;
;;
esac
done
export TMPDIR=/mnt/.psplash
mount tmpfs -t tmpfs $TMPDIR -o,size=40k
rotation=0
if [ -e /etc/rotation ]; then
read rotation < /etc/rotation
fi
arg=$(ps -aux | egrep "Q" | grep -v grep |awk 'print $2')
if [ -n "$arg" ];then
kill -9 $arg
fi
/usr/bin/psplash --angle $rotation &
执行ts_test
点击 Draw,就可以开始画图。
注意:ts_calibrate
一般是针对电阻屏校准的。 使用 ts_calibrate
后会在/etc
目录下生成一个坐标参考文件 pointercal。 如果你是电容屏,并且/etc
目录下有 pointercal 这个坐标参考文件,请把它删除。否则可能影响触摸坐标上报的数据值。
3.3 LCD 显示控制
进入睡眠/熄屏模式:
echo "4" > /sys/class/graphics/fb0/blank
退出睡眠/亮屏模式:
echo "0" > /sys/class/graphics/fb0/blank
4. 串口测试
setsid getty 115200 /dev/ttymxc2 # 将 /dev/ttymxc2 也设置成一个串口终端
这样可以像调试串口一样输入登录用户名 root,即可进入系统。这样能输入指令并返回结
果,表明 RS232 串口正常
5. DDR 测试
Memtester 简单介绍
memtester [-p PHYSADDR] <MEMORY> [ITERATIONS]
参数说明:
- MEMORY 申请测试内存的数量,单位默认是 megabytes(兆),也可以是 B K M G。
- ITERATIONS 测试的次数,默认是无限。
使用文件系统自带的 Memtester 测试工具申请 8MB 内存数量测试做 1 次 DDR 测试。
执行如下指令。
memtester 8M 1
6. SD 卡读写测试
SD 卡写速度测试
time dd if=/dev/zero of=/run/media/mmcblk0p1/test bs=1024k count=50 conv=fdatasync
SD 卡读速度测试
echo 3 > /proc/sys/vm/drop_caches # 清除缓存
time dd if=/run/media/mmcblk0p1/test of=/dev/null bs=1024k
7. NAND FLASH 读写速度测试
cat /proc/mtd # 查看当前分区信息
flash_erase /dev/mtd5 0 0 # 注意该操作会清除该操作分区的数据,请提前做好数据备份
time dd if=/dev/zero of=/dev/mtd5 bs=1024k count=50 # 写测试
time dd if=/dev/mtd4 of=/dev/null bs=1024k # 读测试
8. 系统时钟与 RTC 时钟
date # 查看当前系统时钟
hwclock #查看硬件(RTC)时钟
date -s "2019-7-9 10:00:00" # 设置当前系统时钟
hwclock -w # 将系统时钟同步至硬件时钟
9. 查看系统信息
cat /etc/hostname # 查看系统主机名
cat /etc/issue # 查看系统登录欢迎信息
cat /proc/cpuinfo # 查看 CPU 相关信息
cat /proc/meminfo # 查看内存相关信息
10. 温度传感器
cat /sys/class/thermal/thermal_zone0/temp
11. 网口测试
ifconfig # 查看
ifconfig eth1 down # 关闭网口,网卡名字请根据实际情况修改, down 表示关闭
ifconfig eth1 up #打开网口,网卡名字请根据实际情况修改, up 表示打开
ping www.baidu.com -I eth0
udhcpc -i eth0
route
ping 192.168.1.1
网速测试
iperf -s // Ubuntu 作为服务端
iperf -c 192.168.1.84 -i 1 // -i 1 指通信周期,单位秒
12. FlexCAN 测试
默认开发板的 can 设备是还没有打开的,使用下面的指令打开 can 设备。
服务端:
ifconfig can0 up
# 设置 can0 的 can 设备通信波特率为 125000。
ip link set can0 up type can bitrate 125000 triple-sampling on
同理, 客户端也是这样设置:
USER# ifconfig can0 up
#设置 can0 的 can 设备通信波特率为 125000。
USER# ip link set can0 up type can bitrate 125000 triple-sampling on
服务端使用 candump 指令接收来自 can0 的数据
candump can0
客户端使用 cansend 指令给服务端的 can0 发送数据。 指令解释: 5A1 为帧 ID, #后面的是
数据,共 8 个字节。
cansend can0 5A1#11.22.33.44.55.66.77.88
13. USB 接口测试
13.1 HOST 模式读写测试
df -h
# 写测试
time dd if=/dev/zero of=/run/media/sda1/test bs=1024k count=100 conv=fdatasync
# 读测试
echo 3 > /proc/sys/vm/drop_caches # 清除缓存
time dd if=/run/media/sda1/test of=/dev/null bs=1024k
13.2 DEVICE 模式测试
将 SD 卡的第一个分区模拟成 U 盘
modprobe g_mass_storage file=/dev/mmcblk0p1 removable=1
13.3 USB SERIAL 测试
modprobe g_serial
ls /dev/ttyGS0 #查看是否生成/dev/ttyGS0 节点
setsid getty 115200 /dev/ttyGS0 # 开启守护进程
14. USB 鼠标测试
说明:使用含 Qt5 的文件系统,启动时插上 RGB 屏幕。
开发板进入系统后,插上鼠标会打印如下信息
[ 1004.032818] usb 2-1.4: new full-speed USB device number 3 using ci_hdrc
[ 1004.156956] input: RAPOO Rapoo 2.4G Wireless Device as /devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2/2-1/2-1.4/2-1.4:1.0/0003:24AE:1813.0001/input/input3
[ 1004.233714] hid-generic 0003:24AE:1813.0001: input: USB HID v1.01 Keyboard [RAPOO Rapoo 2.4G Wireless Device] on usb-ci_hdrc.1-1.4/input0
[ 1004.254887] input: RAPOO Rapoo 2.4G Wireless Device as /devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb2/2-1/2-1.4/2-1.4:1.1/0003:24AE:1813.0002/input/input4
[ 1004.324310] hid-generic 0003:24AE:1813.0002: input: USB HID v1.01 Mouse [RAPOO Rapoo 2.4G Wireless Device] on usb-ci_hdrc.1-1.4/input1
15 音频测试
15.1 ALSA 简单使用
ALSA(高级 Linux 声音架构)在 Linux 操作系统上提供了音频和 MIDI(Musical Instrument
Digital Interface,音乐设备数字化接口)的支持。
amixer 的使用:
amixer --help # 查看 amixer 的用法说明
alsamixer 则提供一套
图形界面来控制音频设备,可以用键盘方向键来控制增减音量,打开或者关闭等
alsamixer # 注意使用SSH登陆,使用串口显示不正常
15.2 Headphone 测试
开发板系统音频输出功能默认是打开的,下面两条指令可不执行。
amixer sset 'Left Output Mixer PCM' on
amixer sset 'Right Output Mixer PCM' on
设置播放音量,执行如下命令,音量的单位是 dB,音量最小为 0,最大为 127。
amixer sset Headphone 110,110 // 耳机音量设置为 52
播放音频文件,执行下面指令
aplay /usr/share/sounds/alsa/Front_Center.wav
aplay /usr/share/sounds/alsa/Front_Left.wav
aplay /usr/share/sounds/alsa/Front_Right.wav
15.3 Speaker 测试
amixer sset Speaker 110,110 # 扬声器(喇叭)的音量设置为 52
16. 视频播放测试
gst-play-1.0 /opt/media/test_movie.avi
以上是关于Linux 开发板常规测试的主要内容,如果未能解决你的问题,请参考以下文章