嵌入式基础测试手册——基于NXP iMX6ULL开发板(4)

发布时间 2023-05-04 11:22:38作者: 创龙科技-黄工

前 言

本文档适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.1.0

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0

基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。

 

WIFI模块测试

评估板板载WIFI模块型号为:必联BL-R8188EU2,支持STA模式和AP模式,请先将2.4G天线连接至评估板CON18接口,如下图所示。

图 100

相关测试文件位于产品资料“4-软件资料\Demo\module-demos\usb_wifi_test\”目录下,驱动源码位于usb_wifi_test的src目录下。

  1. STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
  2. AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。

为方便测试,产品资料中提供了经过验证的脚本程序和驱动程序,脚本程序位于案例bin目录下,驱动程序位于案例driver目录下。请将bin目录下所有文件和driver目录下8188eu.ko驱动文件拷贝至评估板文件系统任意同一个路径下。

WIFI STA功能测试

进入评估板文件系统,在WIFI驱动8188eu.ko文件所在路径下执行如下命令加载WIFI驱动。

Target# insmod 8188eu.ko

图 101

执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。

Target# ifconfig eth0 down

Target# ifconfig eth1 down

Target# killall -9 wpa_supplicant

图 102

在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。

Target# ./wifi_setup.sh -d wlan0 -i Tronlong-test -p omapl138

图 103

图 104

  1. 网络连通测试

执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。

Target# ifconfig

Target# ping 192.168.1.100

图 105

  1. TCP带宽测试

如下使用Iperf3工具测试评估板与PC机的网络通信带宽。若未安装,可在Ubuntu中执行"sudo apt-get install iperf3"安装。

在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。

Target# ifconfig

Target# iperf3 -s

图 106

在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.101为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。

Host# iperf3 -c 192.168.1.101 -i 1

图 107

图 108

WIFI AP功能测试

请重启评估板,进入评估板文件系统执行如下命令关闭其他网络,仅保留WIFI网络,并加载WIFI驱动。

Target# ifconfig eth0 down

Target# ifconfig eth1 down

Target# insmod 8188eu.ko

图 109

在ap_setup.sh文件所在路径下执行如下命令,将WIFI模块设置为AP模式。

Target# ./ap_setup.sh

图 110

如启动WIFI AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。

Target# mv /dev/random /dev/random_ori

Target# ln -s /dev/urandom /dev/random

图 111

图 112

默认设置的WIFI名称为:rtl8188eu,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。

将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。

图 113

  1. 网络连通测试

执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。

Target# ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址

图 114

  1. TCP带宽测试

在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。

Target# ifconfig

Target# iperf3 -s

图 115

在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境因素影响,仅供参考。

Host# iperf3 -c 192.168.0.1 -i 1

图 116

图 117

USB WIFI驱动编译

将usb_wifi_test的src目录下的WIFI驱动源码拷贝至Ubuntu任意路径并解压。

Host# tar -xf rtl8188eus.tar.gz

图 118

进入驱动源码目录,打开Makefile文件。

Host# cd rtl8188eus/

Host# vim Makefile

图 119

Makefile文件内容请按如下说明进行修改。

ARCH := arm

CROSS_COMPILE := arm-poky-linux-gnueabi- //指定交叉编译链

KSRC ?= /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径

图 120

在驱动源码所在路径执行如下命令使能SDK环境变量并编译WIFI驱动。

Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi

Host# make

图 121

编译完成后即可在当前目录生成WIFI驱动8188eu.ko文件。

图 122

蓝牙模块测试

评估板板载蓝牙模块型号为:有人物联网WH-BLE105,位于评估板背面,如下图所示。评估板上电时蓝牙指示灯闪烁1s;当蓝牙连接设备成功后,蓝牙指示灯呈现黄色并常亮。

图 123

本案例测试需准备一台智能手机。将手机蓝牙功能开启,在手机应用商城搜索“BLE调试助手”软件,并下载安装。

图 124

软件安装完成,打开BLE调试助手软件,通过下拉刷新页面寻找名字为WH-BLE105的蓝牙设备,并点击CONNECT进行连接。

图 125

蓝牙连接成功后,进入如下界面。

图 126

  1. 发送测试

在BLE调试助手,点击"Unknown Service"菜单栏,然后点击接收按钮,如下图所示。

图 127

进入如下界面,关闭"HEX"选项,并打开“接收通知数据”选项。

图 128

进入评估板文件系统,执行如下命令配置串口并发送数据。

Target# stty -F /dev/ttymxc4 ispeed 57600 ospeed 57600 cs8 -icanon

Target# echo "tronlong" > /dev/ttymxc4

图 129

此时BLE调试助手将会显示接收到评估板发送的数据,如下图所示。

图 130

  1. 接收测试

进入评估板文件系统,执行如下命令,等待接收数据。

Target# cat /dev/ttymxc4

图 131

在BLE调试助手,点击"Unknown Service"菜单栏,然后点击发送按钮,如下图所示。

图 132

进入如下界面,关闭"HEX"选项,然后在输入框输入数据并点击发送。

图 133

此时串口调试终端将会接收并打印BLE调试助手发送的数据。

图 134

AUDIO音频模块测试

本案例使用的音频模块型号为:创龙科技TL3106。请将该模块正确插至评估板J6拓展接口上。模块上LINE IN和MIC IN接口为输入端,LINE OUT接口为输出端,如下图所示。

图 135

评估板上电,将产品资料“4-软件资料\Demo\module-demos\aic3106_test\bin\”目录下的line_in_test.sh和mic_in_test.sh脚本拷贝至评估板文件系统任意目录下。

  1. LINE IN + LINE OUT测试

使用3.5mm音频线将PC机LINE OUT输出端连接模块LINE IN输入端,将音箱或耳机音频线连接模块LINE OUT输出端。在PC端使用音乐播放器播放音频,然后进入评估板文件系统,在脚本所在目录执行如下命令进行测试。

Target# ./line_in_test.sh

图 136

此时音箱或耳机可正常播放音乐,且声音质量正常,按"Ctrl + C"停止播放。

  1. MIC IN + LINE OUT测试

使用3.5mm音频线将PC机LINE OUT输出端连接至评估板MIC IN输入端,将音箱或耳机音频线连接模块LINE OUT输出端。在PC端使用音乐播放器播放音频,然后在评估板文件系统脚本文件所在目录执行如下命令进行测试。

Target# ./mic_in_test.sh

图 137

此时音箱或耳机正常播放音乐,并且声音质量正常,按"Ctrl + C"停止播放。