基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)
目录
前 言
1 SDIO WIFI模块测试
1.1 STA模式测试
1.2 AP模式测试
1.3 SDIO WIFI驱动编译
前言
本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:
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
无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
https://p1.itc.cn/images01/20230825/26c743a95b0b4b5e83116c0c560d8125.png 评估板正面图1 SDIO WIFI模块测试
本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。
https://p3.itc.cn/images01/20230825/70e48f698fde4513980325d389911ea6.pngSDIO WIFI模块支持STA和AP模式,具体说明如下:
(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。
本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。
https://p6.itc.cn/images01/20230825/a6848363254c4129ad800a836effcc69.png表 1请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
1.1 STA模式测试
进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。
Target# insmod 8189fs.ko
https://p8.itc.cn/images01/20230825/ca71406002f44d86bce5d94a8ace5bd7.pnghttps://p6.itc.cn/images01/20230825/936d95d483924c9d8fbc555fc3204369.png执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig
https://p6.itc.cn/images01/20230825/ea4f2cb7416b4007b556038a70f1b1cd.png在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。
Target#./wifi_setup.sh -i Tronlong-test -p omapl138
https://p2.itc.cn/images01/20230825/bd3fe6ead7554a07bcad31f009904898.png执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
Target#ifconfig
Target#ping 192.168.1.100
https://p1.itc.cn/images01/20230825/cc42eb8d7b974124a692a90c6f054181.png在评估板文件系统执行如下命令,查看评估板IP地址,使用Iperf3工具测试评估板与PC机的网络通信带宽。
Target#ifconfig
Target#iperf3 -s
https://p3.itc.cn/images01/20230825/64f4cfc0d9f84b1b97a5d3d893e2e121.png在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
Host#iperf3 -c 192.168.1.103 -i 1
https://p3.itc.cn/images01/20230825/adc9d7040477428e84eb44a3bed9959e.pnghttps://p8.itc.cn/images01/20230825/297333bedc824dfa860a1934a83719bc.png1.2 AP模式测试
请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。
Target# insmod 8189fs.ko
https://p0.itc.cn/images01/20230825/583219b3bce244bdaa08200afa4d80cd.pnghttps://p8.itc.cn/images01/20230825/2493bb59982043a8a5bc3e64fd7b38b0.png执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig
https://p2.itc.cn/images01/20230825/6a5d58173aeb475b97cc467f6e44ce4a.png在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。
Target#./ap_setup.sh
https://p5.itc.cn/images01/20230825/7ad2b9b87ff74ead80d21f65414a672c.png如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。
Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
https://p0.itc.cn/images01/20230825/e91acb4239a147eabbaef8f5d5f0f91e.pnghttps://p9.itc.cn/images01/20230825/2a36deef0fa64f63a887aa22c70d84a0.png程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
https://p3.itc.cn/images01/20230825/9b0e37d356ac4c97927105f310424111.png执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。
Target#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
https://p0.itc.cn/images01/20230825/d61f5751e80a4984a2eddac59004a6b6.png在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
Target#ifconfig
Target#iperf3 -s
https://p7.itc.cn/images01/20230825/0401ae5257fd4f538a163de306b34106.png在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
Host#iperf3 -c 192.168.0.1 -i 1
https://p0.itc.cn/images01/20230825/c9728d718f184e8f9d0e06934c8c8e62.pnghttps://p0.itc.cn/images01/20230825/8f0572e14008489ca99e03fa7c6029c2.png测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。
1.3 SDIO WIFI驱动编译
请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。
Host#tar -xf rtl8189FS.tar.gz
https://p2.itc.cn/images01/20230825/c5aef914847e4bd4b71bbbc3e1a57c15.png执行如下命令,进入驱动源码目录,修改顶层Makefile文件
Host#cd rtl8189FS/
Host#vim Makefile
https://p3.itc.cn/images01/20230825/b73a3994e3cc40e5a414280c23f40644.pngMakefile文件内容请按如下说明进行修改。
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径
https://p6.itc.cn/images01/20230825/ca9be8eb99c34055b17cbc4354673b60.png在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host#make
https://p6.itc.cn/images01/20230825/82d9c926968840e2aca4abd9808274b4.pnghttps://p1.itc.cn/images01/20230825/ed7dca43c207448bb49146c2f1c969d9.png编译完成后,即可在当前路径下生成驱动镜像。
页:
[1]