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 开发板常规测试的主要内容,如果未能解决你的问题,请参考以下文章

为啥单片机开发板有两个晶振

开发板 — 调试串口

4418开发板基于Linux-c测试程序的编译和运行

安卓驱动开发----搭建开发板的测试环境

Linux学习之路2-linux系统烧写

搭建 S3C6.410 开发板的 测试环境