A40i T3开发板外扩接口的功能测试
硬件平台:飞凌嵌入式OKA40i-C/OKT3-C开发板, 基于国产芯片 A40i(工业级) T3(车规级)设计研发。
此章节主要说明A40i T3开发板外扩接口的使用方法。本章节测试所用到的测试程序在飞凌提供的Demo中已有集成,故不做文件来源说明,直接进行命令操作。所有命令均以#标识,请客户使用前将#去除再进行输入。
一、 WIFI测试
RTL8723bu—USB WIFI、SDIO-WIFI 8189ES使用方法如下。
1、 板载WIFI的使用
如果开发板有板载的WIFI无线局域网卡,则焊接在评估板如图所示位置:
步骤1:检查开发板是否已经焊接该模块,正确焊接如上图。连接上天线。
步骤2:开发板上电,启动Linux系统。手动加载模块:
#insmod /lib/modules/$(uname -r)/8723bu.ko
查看模块是否加载:
#lsmod
8723bu 1920908 0 - Live 0xbf19a000
步骤3:自动分配IP
#wifi.sh -i 8723 -s ciscosbwifi -p abcdefghijklmn
其中-i:8189或者8723,-s:wifi ssid,-p:wifi password或者NONE
wifi 8723 ssid ciscosbwifi pasw abcdefghijklmn Successfully initialized wpa_supplicant rfkill: Cannot open RFKILL control device wlan0: Trying to associate with bc:67:1c:41:2e:3c (SSID='ciscosbwifi' freq=2437 MHz) wlan0: Associated with bc:67:1c:41:2e:3c wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0 wlan0: WPA: Key negotiation completed with bc:67:1c:41:2e:3c [PTK=CCMP GTK=CCMP] wlan0: CTRL-EVENT-CONNECTED - Connection to bc:67:1c:41:2e:3c completed [id=0 id_str=] udhcpc: started, v1.25.1 udhcpc: sending discover udhcpc: sending select for 192.168.1.131 udhcpc: lease of 192.168.1.131 obtained, lease time 86400 deleting routers adding dns 222.222.202.202 adding dns 222.222.222.222 Finshed! |
步骤4:ping ip或者域名,命令如下。
#ifconfig eth0 down
#ping www.forlinx.com
步骤5:卸载已经加入内核的模块。
#rmmod 8723bu
注意卸载模块前,请将wpa_supplicant与udhcpc -i wlan0进程kill。否则会加载一些信息。
注:本小节中是一个WIFI连接路由的示例。由于网络环境的不同,所以在您做本实验时,请根据实际情况进行设置。
2、 SDIO-WIFI RTL8189的使用
步骤1:插入模块,开发板上电。
步骤2:手动加载模块
#insmod /lib/modules/$(uname -r)/8189es.ko
步骤3:自动分配IP
#/usr/sbin/wifi.sh -i 8189 -s ciscosbwifi -p abcdefghijklmn
其中-i:8189或者8723,-s:wifi ssid,-p:wifi password或者NONE
[ 540.748544] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready udhcpc (v1.18.3) started Sending discover... [ 542.214046] RTL871X: rtw_set_802_11_connect(wlan0) fw_state=0x00000008 [ 542.240264] RTL871X: start auth [ 542.260150] RTL871X: auth success, start assoc [ 542.280348] RTL871X: assoc success [ 542.284224] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 542.294711] RTL871X: send eapol packet [ 542.310877] RTL871X: send eapol packet [ 542.315351] RTL871X: set pairwise key camid:4, addr:bc:67:1c:41:2e:3c, kid:0, type:AES [ 542.324851] RTL871X: set group key camid:5, addr:bc:67:1c:41:2e:3c, kid:1, type:AES Sending discover... Sending select for 192.168.1.127... Lease of 192.168.1.127 obtained, lease time 86400 deleting routers route: SIOCDELRT: No such process adding dns 222.222.202.202 adding dns 222.222.222.222 |
步骤4:ping ip或者域名,命令如下。
#ifconfig eth0 down
#ping www.forlinx.com
步骤5:卸载已经加入内核的模块。
#rmmod 8189es
注意卸载模块前,请将wpa_supplicant与udhcpc -i wlan0进程kill。否则会加载一些信息。
注:本小节中是一个WIFI连接路由的示例。由于网络环境的不同,所以在您做本实验时,请根据实际情况进行设置。
3、 热点测试
WiFi热点:
#insmod /lib/modules/$(uname -r)/8723bu.ko
#/usr/sbin/wifiap.sh
生成ssid为forlinx_a40i,密码为12345678的AP节点,手机连接forlinx_a40i,可连接外网。
注意:有线网卡要连接一个有开启dhcp服务的网络路由器,并且可以访问互联网。
二、 SDHC/TF卡驱动测试
开发板支持SD或TF卡热插拔。插上SD或者TF卡后系统自动将其挂载到/mnt/sdcard/mmcblk1p1目录下,移除时,将sd卡或TF卡卸载。
查看SD卡中的文件,命令如下:
# ls -la /mnt/sdcard/mmcblk1p1/
total 5
drw-rw-rw- 2 root root 4096 Jan 1 00:00 .
drwxrwxrwx 4 root root 1024 Jan 1 00:30 ..
-rw-rw-rw- 1 root root 0 Jul 5 2019 sdcard.txt
往 SD 卡中写入文件,命令如下,写1到test.txt 文件中:
# echo 1 > /mnt/sdcard/mmcblk1p1/test.txt
# sync
读取 SD 卡中test.txt 文件,命令如下:
# cat /mnt/sdcard/mmcblk1p1/test.txt
1
会读到刚才我们写入的1。
注意:同时插入sd卡与tf卡时,只挂载第一个插入的卡,挂载另一个卡,可使用mount命令挂载。
三、 USB接口测试
1、 USB Host接口存储测试
这里用挂载U盘为例进行演示,目前U盘测试支持到32G,32G以上并未测试。U盘与开发板物理连接如图:
同时终端会打印关于U盘的信息,由于存在很多种U盘,显示的信息可能会有差别。
步骤1:连接USB 接口u盘到USB host接口,会自动挂载到/mnt/usb/sdx1目录下。
步骤2:查看usb存储设备
# ls -l /mnt/usb/
total 21
drwxrwxrwx 7 root root 16384 Jan 1 00:00 sda1
drwxr-xr-x 2 root root 1024 Jan 1 00:38 sda4
drwxrwxrwx 2 root root 4096 Jan 1 00:00 sdb1
# ls -la /mnt/usb/sdb1/
total 5
drwxrwxrwx 2 root root 4096 Jan 1 00:41 .
drwxrwxrwx 5 root root 1024 Jan 1 00:38 ..
-rwxrwxrwx 1 root root 0 Jul 5 2019 sdcard.txt
步骤3:往U盘中写入文件
#echo 1 > /mnt/usb/sdb1/test.txt //写1到test.txt 文件
#sync //将内容从内存同步到U盘中
步骤4:读取U盘中内容
#cat /mnt/usb/sdb1/test.txt
1
会读到刚才我们写入的1。
2、 OTG转Host测试
使用otg转host线连接到otg口,插入u盘能读取u盘内容。将U盘挂载到/mnt/usb/sdx1目录下。操作同U盘操作。
3、 OTG默认成Host端口功能
修改/adb.sh
#kill -9 $(pidof adb-service)
#mkdir -p /system
#ln -s /bin /system/bin
cat /sys/bus/platform/devices/usbc0.2/usb_host
#echo 0 > /sys/class/android_usb/android0/enable
#echo 1f3a > /sys/class/android_usb/android0/idVendor
#echo 1002 > /sys/class/android_usb/android0/idProduct
#echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
#echo 1 > /sys/class/android_usb/android0/enable
#. /qt5.9.sh
#/bin/adb-service &
4、 USB转4串口
插上usb转串口到开发板的usb host端口
可选:生成和板子usb host丝印号相关的串口名字
# create_xr_usb_serial.sh
说明:usb转4串口生成的名字默认是/dev/ttyXRUSB*;
四、 以太网驱动测试
网络相关配置声明:
每个开发板的网络使用环境未必相同,本节测试示例中,网络环境如下。实际使用中,请按照实际网络环境自行进行配置。
OKA40i有eth0 网卡。开机已设置默认eth0的IP地址为192.168.0.232。如果修改默认IP请修改/etc/init.d/auto_config_network。
下面以eth0为例进行命令说明。
1、手动配置eth0
01. 在Linux系统下,使用ifconfig命令可以显示或配置网络设备,其常用的组合命令格式如下:
#ifconfig 网络端口 IP地址 hw<HW> ether MAC地址 netmask 掩码地址 broadcast 广播地址 [up|down]
02. 设置IP地址
# ifconfig eth0 192.168.1.120(将eth0设置IP为192.168.1.120)
# ifconfig eth0 (查看当前网络状况)
03. 修改mac地址
i.先关闭网卡设备
#ifconfig eth0 down
ii.修改MAC
# ifconfig eth0 hw ether 36:C9:E3:F1:B8:05
iii.重新打开网卡
#ifconfig eth0 up
04. 设置子网掩码
#ifconfig eth0 netmask 255.255.255.0
05. 设置广播地址
#ifconfig eth0 broadcast 192.168.0.255
06. 添加/删除默认网关
添加默认网关:
#route add default gw 192.168.0.1
删除默认网关:
#route del default gw 192.168.0.1
07. 关闭开启网卡
关闭eth0网卡
#ifconfig eth0 down
开启eth0网卡
#ifconfig eth0 up
08. ethtool查看网络信息
# ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Link detected: yes
2、动态设置IP地址
如果您的开发板与路由器连接,且路由器支持DHCP自动IP地址分配可以在超级终端里面输入命令:
#udhcpc -i eth0
用来动态获取IP地址,“-i” 参数用来指定网卡名称,飞凌开发板有线网络的网卡名称为eth0。
/etc/resolv.conf文件中有dns服务器信息会被自动添加。
五、 以太网相关服务
以太网相关服务测试之前,确保已经设置好IP。设置IP请参考以太网驱动测试部分。
1、 Telnet服务
OKA40i-C开发板已经启动了telnet服务,设置好IP地址后就可以作为一台telnet服务器了。
查看是否启动可以输入命令:
#netstat -al
例如,开发板IP地址为192.168.0.232,在Windows的命令窗口下输入telnet 192.168.0.232 ,用户名输入root,密码为root(具体根据自己的设置)(开始->运行,输入cmd回车,即可进入Windows的命令窗口)
之后就输入Ctrl +C终止服务加载。
2、 sshd服务
OKA40i-C开发板在/etc/init.d/rcS 脚本文件中已经启动了ssh服务,设置好IP地址后就可以作为一台sshd sftp-server 服务器了。
测试前,设置root的密码比如为123,同时修改sshd的配置文件/etc/ssh/sshd_config,允许root登录。将#PermitRootLogin prohibit-password 修改为PermitRootLogin yes,保存退出之后,重启,需要将开发板设置为当前UTC时间。并且用户名和密码不能写成一样。
查看是否启动可以输入命令:
#netstat -al
例如,开发板IP地址为192.168.0.232,在Windows打开putty, 192.168.0.232,输入用户名root,密码123,如下图;
登录后如下图;
sftp-server文件服务
开发板IP地址为192.168.0.232,在Windows打开WinScp, 192.168.0.232 ,用户名输入root,root,如下图;
登录成功后的界面如下图
注意:出现登录成功后界面之前需要等待一段时间;
3、 Web服务
我们在开发板上移植了一个webserver:boa;
boa webserver是一个小巧高效的web服务器,可运行在Unix或Linux平台,支持CGI,源代码开放;是一个非常适合于嵌入式系统的单任务http服务器。
如果系统没有默认IP,临时使用ifconfig配置。
系统启动时已经自动启动了boa服务,在IE中输入开发板的IP地址即可浏览开发板webserver中的网页。下图是在IE中浏览的截图:
4、 VSFTP
开发板作为服务器
系统启动时已经自动启动了ftp服务,可在电脑上用ftp软件访问,用户名root,密码root(测试前,需先使用passwd命令设置密码,这里设置为root);
下图是在PC机上用ftp://192.168.0.232访问ftp 的截图:
开发板作为客户端
假设ftp服务器的IP地址为192.168.0.72,采用ftp命令传输下载文件,可以使用如下命令。
ftpput -u root -p root 192.168.0.72 test.mp4 test.mp4使用此命令将开发板文件传输到ftp服务器。
ftpget -u root -p root 192.168.0.72 test.mp4 test.mp4 使用此命令将服务器端文件下载到开发板
六、 看门狗测试
看门狗是嵌入式系统中经常用到的功能。看门狗驱动指定系统最大为16s倒计时重启。为了防止系统复位,可在计数的16s内向watchdog写入清零命令,重新计数。
1.执行10s复位命令:
#/usr/bin/watchdog /dev/watchdog settimeout 10 &
10s后系统重启。
2.周期喂狗
#/usr/bin/watchdog /dev/watchdog keepalive 10 &
一直循环喂狗,系统不重启。10表示10s喂狗
七、 放/录音测试
用户可以使用文件系统内带的ALSA音频录制、播放、配置工具进行测试。
1.耳机放音测试
如果耳机与喇叭同时打开时,默认从喇叭输出。需拔出喇叭。
#aplay -Dhw:0,0 /root/wo.wav 播放音频文件
串口信息:
Playing WAVE '/usr/bin/Rear_Center.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo
1. speaker放音测试
#amixer cset numid=15,iface=MIXER,name='Phone Out Mixer LOMIX Switch' on
#amixer cset numid=16,iface=MIXER,name='Phone Out Mixer ROMIX Switch' on
#amixer cset numid=48,iface=MIXER,name='Phoneout Speaker Switch' on
#amixer cset numid=2,iface=MIXER,name='digital volume' 50 /*设置音量*/
播放音频文件:
#aplay -Dhw:0,0 /root/wo.wav 播放音频文件
串口信息:
Playing WAVE '/usr/bin/Rear_Center.wav' : Signed 16 bit Little Endian, Rate 22050 Hz, Stereo
2. 录音测试
# killall -9 Launcher
# killall -9 MediaUI
# killall -9 CameraUI
#arecord -Dhw:0,0 -r 44100 -f S16_LE -d 10 record.wav 录音
串口信息:
Recording WAVE 'record.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
播放录音
#aplay -Dhw:0,0 record.wav 播放录音
串口信息:
Playing WAVE 'record.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
八、 摄像头测试
1、 USB摄像头测试
一般USB摄像头插入之后,自动加载驱动。
01. 插入USB摄像头,在调试串口输入命令查看USB状态。
# lsusb
串口信息:
Bus 001 Device 004: ID 0909:0824
查看USB摄像头的ID信息。
02. 输入命令查看USB摄像头的设备节点,可见设备节点video0
# ls /dev/video*
串口信息:
/dev/video /dev/video0 其中/dev/video0为刚才插入的usb设备。
03. 另外还可以采用uvccamera测试程序,预览图像:
注意:uvccamera预览不能先使用自带qt应用测试CameraUI测试,如果测试后必须先重启。
#ps
1312 root /Launcher
1313 root /MediaUI
1314 root /CameraUI
将上述3个进程kill。
#kill -9 1312 1313 1314
#fbinit 0
#fbinit 1
#fbinit 2
#uvccamera
devpth: /dev/video0
width: 800
height: 600
position: (0, 0)
frame: (800, 600)
format: 69
[ION] map success: base 0xb6d14000, physical 59200000
00000001 00000001
00000001 00000001
04. 采用自带Qt应用测试CameraUI
测试前,插入SD或者TF卡,开机自启动之后,默认启动Launcher,MediaUI,CameraUI。采用CameraUI测试。点击下面图标:
点击
选择节点为video0,确定,打开预览,可查看usb摄像头画面。
2 、CMOS-OV5640测试
cmos ov5640还可以使用cameratest预览
注意:使用uvccamera预览不能先使用自带qt应用测试CameraUI测试,如果测试后必须先重启。
#ps
1312 root /Launcher
1313 root /MediaUI
1314 root /CameraUI
将上述3个进程kill。
#kill -9 1312 1313 1314
#fbinit 0
#fbinit 1
#fbinit 2
# cameratest -d /dev/video1
其中video1是对应的节点。
devpth: /dev/video1
width: 640
height: 480
position: (0, 0)
frame: (640, 480)
format: 76
fps: 30
dragonboard(debug): the window: x: 0,y: 0,width: 640,height: 480
dragonboard(debug): the output type: 0
OKA40i平台支持OV5640预览。采用自带qt应用测试CameraUI
测试前,插入SD或者TF卡,开机自启动之后,默认启动Launcher,MediaUI,CameraUI。采用CameraUI测试。点击下面图标:
点击
选择节点为video1(video1为ov5640产生的节点,具体根据实际选择),确定,打开预览,可查看ov5640的摄像头预览画面。
3、 模拟摄像头测试
飞凌自制模拟摄像头模块如下图:
video4-7为tvin产生的节点,左上角对应video7,左下角对应video6,右下角对应video5,右上角对应video4,根据实际情况选择 。
01. 采用自带qt应用测试CameraUI
测试前,插入SD或者TF卡,开机自启动之后,默认启动Launcher,MediaUI,CameraUI。采用 CameraUI测试。点击下面图标:
点击
选择节点为video4,确定,打开预览,可查看tvin的摄像头预览画面。其中CameraUI支持PAL格式。
02. 还可以采用sdktest进行测试。
#ps
1312 root /Launcher
1313 root /MediaUI
1314 root /CameraUI
将上述3个进程kill。
#kill -9 1312 1313 1314
#fbinit 0
#fbinit 1
#fbinit 2
# /sdktest 1 4可以采用PAL或者NTSC格式均可以。
03. 模拟摄像头还可以使用tvdcamtester进行测试,此方式支持PAL方式。
# tvincamera -d /dev/video7
devpth: /dev/video7 width: 720 height: 576 position: (0, 0) frame: (640, 480) format: 77 dragonboard(debug): v40 tvin test v1 version 2016.1.20 dragonboard(debug): the output type: 0 dragonboard(debug): screen width: 1024, height: 600 dragonboard(debug): inp.index: 0 dragonboard(debug): *********image source width = 720, height = 576******** |
九、 RTC时钟驱动测试
RTC测试,主要通过使用date和hwclock工具设置查看软、硬件时间,测试当操作系统重启的时候,软件时钟读取RTC时钟是否同步(注意:确保板子上已经安装了纽扣电池)。
设置时间命令帮助如下:
# date -help
串口信息:
Usage: date [OPTIONS] [+FMT] [TIME]
Display time (using +FMT), or set time
[-s,--set] TIME Set time to TIME
-u,--utc Work in UTC (don't convert to local time)
-R,--rfc-2822 Output RFC-2822 compliant date string
-I[SPEC] Output ISO-8601 compliant date string
SPEC='date' (default) for date only,
'hours', 'minutes', or 'seconds' for date and
time to the indicated precision
-r,--reference FILE Display last modification time of FILE
-d,--date TIME Display TIME, not 'now'
-D FMT Use FMT for -d TIME conversion
Recognized TIME formats:
hh:mm[:ss]
[YYYY.]MM.DD-hh:mm[:ss]
YYYY-MM-DD hh:mm[:ss]
[[[[[YY]YY]MM]DD]hh]mm[.ss]
'date TIME' form accepts MMDDhhmm[[YY]YY][.ss] instead
设置时间如下命令
#date -s 2015.05.29-09:47:13
串口信息:
Fri May 29 09:47:13 UTC 2015
说明:date设置的格式:MMDDhhmm[[YY]YY][.ss], MM是月份,DD是日期,hh是小时,mm是分钟, 年份可以写2位的YY或4位YYYY,秒可以用.ss表示。
hwclock —查看下硬件时间
#hwclock –help
串口信息:
Usage: hwclock [-r|--show] [-s|--hctosys] [-w|--systohc] [-t|--systz] [-l|--localtime] [-u|--utc] [-f|--rtc FILE]
Query and set hardware clock (RTC)
-r Show hardware clock time
-s Set system time from hardware clock
-w Set hardware clock from system time
-t Set in-kernel timezone, correct system time
if hardware clock is in local time
-u Assume hardware clock is kept in UTC
-l Assume hardware clock is kept in local time
-f FILE Use specified device (e.g. /dev/rtc2)
# hwclock -w
hwclock -w —将系统时间设置到时钟芯片里面。如果没有这步,下次启动时,系统时间是不会更新的。
断电重启
#date
查看时间是否保存。
十、 4G模块测试
注:4G模块是选配模块,如有需要,请联系飞凌销售。
准备一张移动4G SIM卡,4G EC20模块一个,将SIM卡插入4G模块卡槽中固定好,将天线接到主ipex天线座,开机上电。
1、 查看节点是否存在:
[root@sun8i ~]# ls -la /dev/qcqmi0
存在qcqmi0节点,且识别usb0节点,则4g模块正确识别并加载。
2、 拨号:
#/usr/bin/quectel-CM &
[01-01_00:33:08:257] WCDMA<E_QConnectManager_Linux&Android_V1.1.34
[01-01_00:33:08:258] quectel-CM profile[1] = (null)/(null)/(null)/0, pincode = (null)
[01-01_00:33:08:263] Find /sys/bus/usb/devices/1-1.3 idVendor=2c7c idProduct=0125
[01-01_00:33:08:263] Find /sys/bus/usb/devices/1-1.3:1.4/net/usb0
[01-01_00:33:08:263] Find usbnet_adapter = usb0
[01-01_00:33:08:264] Find /sys/bus/usb/devices/1-1.3:1.4/GobiQMI/qcqmi0
[01-01_00:33:08:264] Find qmichannel = /dev/qcqmi0
[01-01_00:33:08:288] Get clientWDS = 7
[01-01_00:33:08:320] Get clientDMS = 8
[01-01_00:33:08:351] Get clientNAS = 9
[01-01_00:33:08:385] Get clientUIM = 10
[01-01_00:33:08:416] Get clientWDA = 11
[01-01_00:33:08:448] requestBaseBandVersion EC20CEHCR06A03M1G
[01-01_00:33:08:545] requestGetSIMStatus SIMStatus: SIM_READY
[01-01_00:33:08:576] requestGetProfile[1] ctnet///0
[01-01_00:33:08:608] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE
[01-01_00:33:08:640] requestQueryDataCall IPv4ConnectionStatus: DISCONNECTED
[01-01_00:33:08:704] requestRegistrationState2 MCC: 460, MNC: 11, PS: Attached, DataCap: LTE
[01-01_00:33:08:736] requestSetupDataCall WdsConnectionIPv4Handle: 0x86ad3a90
[01-01_00:33:08:832] requestQueryDataCall IPv4ConnectionStatus: CONNECTED
[01-01_00:33:08:865] ifconfig usb0 up
[01-01_00:33:08:884] busybox udhcpc -f -n -q -t 5 -i usb0
[01-01_00:33:08:898] udhcpc (v1.18.3) started
[01-01_00:33:08:970] Sending discover...
[01-01_00:33:09:071] Sending select for 10.51.194.11...
[01-01_00:33:09:190] Lease of 10.51.194.11 obtained, lease time 7200
[01-01_00:33:09:210] deleting routers
route: SIOCDELRT: No such process
[01-01_00:33:09:225] adding dns 222.222.222.222
[01-01_00:33:09:226] adding dns 222.222.202.202
3、 测试网络通断
输入指令:
# ifconfig eth0 down
#ping -c 3 www.baidu.com
调试串口输出如下信息:
ping www.baidu.com -c 3
PING www.baidu.com (220.181.38.149): 56 data bytes
64 bytes from 220.181.38.149: seq=0 ttl=51 time=44.181 ms
64 bytes from 220.181.38.149: seq=1 ttl=51 time=58.372 ms
64 bytes from 220.181.38.149: seq=2 ttl=51 time=66.671 ms
--- www.baidu.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 44.181/56.408/66.671 ms
4、4G热点:
# /usr/bin/quectel-CM &
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
#insmod /lib/modules/$(uname -r)/8723bu.ko
#ifconfig wlan0 192.168.18.1
#udhcpd -f /etc/udhcpd.conf &
#/usr/sbin/hostapd -d /etc/hostapd.conf &
生成ssid为forlinx_a40i,密码为12345678的AP节点,手机连接forlinx_a40i,可连接外网。
十一、 UART串口测试
1. OKA40I-C开发板设置6个UART口,在开发板上分别为DEGUG(RS232)、UART2(TTL)、UART3(TTL)、UART4(TTL)、UART5(RS485)、UART7(TTL),其中UART0作为Debug使用,与板载232接口功能一样。UART2、 UART3作为五线串口使用。UART4、UART7用作普通串口引出。UART5用作RS485。
2.把飞凌的TTL转RS232模块接到开发板UART2(ttyS2)或者UART3(ttyS3)上,串口线连接到RS232设备,连接好硬件后开发板上电。
3.以UART3为例,终端中输入如下命令,tty_test启动后会不断的向外发送“abcdefg”。将收发短接进行测试。UART2口类似,修改为对应设备号即可。
# uart /dev/ttyS3 9600
Welcome to TTYtest! Press Ctrl + 'c' to stop.
/dev/ttyS3,creat thread 3068421232 sucess
/dev/ttyS3,creat thread 3060032624 sucess
sendTotal= 9 num = 1 send = abcdefgh
recvTotal= 8 num = 1 recv = abcdefgh
hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68
sendTotal= 18 num = 2 send = abcdefgh
recvTotal= 16 num = 2 recv = abcdefgh
hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68
sendTotal= 27 num = 3 send = abcdefgh
recvTotal= 24 num = 3 recv = abcdefgh
hex:0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68
/dev/ttyS3,Send: 3 ,Receive: 3
十二、 RS485测试
默认UART5用作RS485功能,对应节点为/dev/ttyS5。采用RS485转232模块,与电脑相连。
终端中输入如下命令,tty_test启动后会不断的向外发送“abcdefg”。
#uart /dev/ttyS5 9600
电脑端串口助手(在用户资料\工具\串口助手中),发送abcdefg后,接收到RS485发送过来的abcdefg。
十三、 数据库测试
打开数据库,输入sqlite3,如下:
#sqlite3
SQLite version 3.15.0 2016-10-14 10:20:30
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> create table tbl1 (one varchar(10), two smallint); //创建数据库tbl1
sqlite> insert into tbl1 values('hello!',10);//数据库中插入hello!|10
sqlite> insert into tbl1 values('goodbye', 20);//数据库中插入goodbye|20
sqlite> select * from tbl1; //读取数据库tbl1中所有内容如下
hello!|10
goodbye|20
sqlite> .quit //退出
十四、 SPI测试
默认支持1路SPI片选,分别对应节点为/dev/spidev2.0。
短接MOSI与MISO,对应SPI串口的8,10引脚:
# /usr/bin/spi -D /dev/spidev2.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
十五、 按键测试
# keytest
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x100
Input device name: "sunxi-keyboard"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 28 (K5)
Event code 102 (Home)
Event code 114 (K1)
Event code 115 (VolumeUp)
Event code 139 (K2)
Key, K5(102, 01)//K5按下
Key, K5(102, 00)//K5抬起
Key, K2(28, 01)//K2按下
Key, K2(28, 00) //K2抬起
Key, K1(114, 01) //K1按下
Key, K1(114, 00) //K1抬起
十六、 显示测试
Lcd显示目前支持飞凌并行24bit 1024x600,飞凌lvds接口1280x800显示电容触摸一体屏,支持hdmi1080p@60Hz,Tvout显示输出。
1、背光测试
查看触摸驱动是否存在,如果不存在的话就加入驱动模块到系统
# lsmod
mali 278345 0 - Live 0xbf010000 (O)
gt9xxnew_ts 44460 0 - Live 0xbf000000
1.导出qt和tslib环境变量
# source /qt5.9.sh
2. 背光调节
#ps
1312 root /Launcher
1313 root /MediaUI
1314 root /CameraUI
将上述3个进程kill。
# kill -9 1312 1313 1314
#fbinit 0
#fbinit 1
#fbinit 2
# backlight_gui
滑动进度条,调节背光亮灭。
2、触摸测试
注意:
开发板默认支持ft5xxx和gt9xx两种触摸驱动;可通过命令行调用脚本方式切换两种触摸;执行脚本切换后要重启开发板。
ts_module_ft5xxx.sh 调用ft5xxx驱动;
ts _module_gt9xx.sh 调用gt9xx驱动。
查看触摸驱动是否存在,如果不存在的话就加入驱动模块到系统。
# lsmod
mali 278345 0 - Live 0xbf010000 (O)
gt9xxnew_ts 44460 0 - Live 0xbf000000
1.导出qt和tslib环境变量
# source /qt5.9.sh
2. Tslib测试程序测试触摸
#ts_print
1434592025.966377: 560 446 255
1434592025.976749: 560 446 0
触摸任意一点,查看上报坐标值,是否正确。