找回密码
 注册
关于网站域名变更的通知
查看: 227|回复: 0
打印 上一主题 下一主题

基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-7-17 11:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Tronlong123 于 2024-7-21 17:38 编辑 + U! Z1 \. D/ ~, n7 M$ J7 ^' U
) |  k' T2 X1 j- Q

6 V2 V) \7 w/ |! G* F2 {# J) A目录
9 P( R" t$ R* e' f) T1 G前 言3 U- C5 p5 v+ }! O) L% i& H* j6 b
1 SDIO WIFI模块测试9 q; r0 u3 R% i1 G
1.1 STA模式测试
9 \* q. Y: Z2 G- e1.2 AP模式测试
; A# p2 k5 e* S% r2 E1.3 SDIO WIFI驱动编译
! k+ ]9 I$ ?2 D前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:7 D$ z1 t9 g3 m3 v
Windows开发环境:Windows 7 64bit、Windows 10 64bit9 i# h2 ~4 `3 @& f4 j5 @
虚拟机:VMware15.1.0
4 d" O% i* U) ^1 }3 l' \; q9 |: Q! CLinux开发环境:Ubuntu18.04.4 64bit* b3 ^& I& f2 C" U* b: d
U-Boot:U-Boot-2020.04& T: V- r3 z9 \1 |) m
Kernel:Linux-5.4.70* X0 v/ [: v4 O
Linux SDK:5.4.70_2.3.0
# d3 J: [2 C. j7 C. o$ d# ^无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
; S' b9 l5 p* ~8 [, i创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
7 j' e! a5 e- O- f: A
评估板正面图
1 SDIO WIFI模块测试本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。
/ V$ J: X. z- U$ j% t* N8 c7 O
SDIO WIFI模块支持STA和AP模式,具体说明如下:* s  S4 ~5 t' B  V% i% l
(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
: a% t1 D  f" k: Y- E$ H& y(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。7 m  m; \' W# V0 M0 |! o! g: Y4 n
本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。8 |) U; O9 U' M
表 1
请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
$ |/ G5 [' s, b1.1 STA模式测试
; h$ _( {& Q- Y' c进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。! W' I  p- h* T' c3 j+ c8 r% q1 F# d
Target# insmod 8189fs.ko
0 s* g! J* Q* y/ g& F

; ~* G  O  D( N; _, }# [# Q' \7 I5 T5 y9 b7 r( v4 m
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。9 W6 w+ h! T6 y/ T
Target#ifconfig eth0 down- N; e7 K8 B" ?) ]7 N5 X" A
Target#ifconfig eth1 down% A; d2 n2 H) \7 F; V
Target#killall -9 wpa_supplicant
) f  |, ^9 A" Y8 C: N) }$ ?' jTarget#ifconfig wlan0 up
/ N: s; }0 t8 a! k9 s6 {1 |Target#ifconfig3 {' x5 _* J: u* M" F0 }
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。4 U8 m( b" O! M* x* z
Target#./wifi_setup.sh -i Tronlong-test -p omapl138  S. d- N8 S9 w' Z
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
+ U( {# ~8 c; Z5 s! F0 Z, [Target#ifconfig! M% A( g" J* N( R; p/ k* H. N0 h$ D( u
Target#ping 192.168.1.100- B- K5 N, ^* i! M7 j* ^
在评估板文件系统执行如下命令,查看评估板IP地址,使用IpeRF3工具测试评估板与PC机的网络通信带宽。  c4 |( D' X3 j) S5 i4 u, v' J% |
Target#ifconfig1 N- V* x( F* m; X/ P
Target#iperf3 -s" t+ ]. k/ B) s" C
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
1 s# |4 T+ r& o  Z7 y- `Host#iperf3 -c 192.168.1.103 -i 1
( Q* _/ l0 X, l8 l4 n
1.2 AP模式测试, j9 }" M  ^6 `
请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。
% {' N( ]7 }# j- ^; C, [+ Q; STarget# insmod 8189fs.ko# O; q8 [/ C, C2 N& q
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
/ K4 v& F" d. K0 g( ]5 \" {; f, uTarget#ifconfig eth0 down
, e, r3 j' b: TTarget#ifconfig eth1 down
/ U2 f# V$ b, C( s) i& r7 |$ ~8 O2 hTarget#killall -9 wpa_supplicant1 q( Q( s9 x' M5 f2 ?/ Z, o% y( \2 `
Target#ifconfig wlan0 up5 I0 g. ]0 Z  r# l" M
Target#ifconfig
+ k% R, F+ _- R+ }: v, L
在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。
1 Y5 R7 E$ D7 bTarget#./ap_setup.sh
& m( E( n9 s$ b. f: ]; A$ Q7 v1 \
如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。
3 j% d5 K, U, i0 vTarget# mv /dev/random /dev/random_ori4 M, R5 w/ ]- g7 i; F  U
Target# ln -s /dev/urandom /dev/random* U0 e* w% s3 G* `
程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。$ i1 D9 e3 m. U  L3 \1 s
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
2 x( U3 C! c; H0 `0 [  L' D- q
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。, z) h% k& i0 |' h
Target#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址* @; J( \- p: L; j% k8 B
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
6 J" n# k; C& M- |" WTarget#ifconfig
7 ~( \" y: E& t  s3 P- ^$ }Target#iperf3 -s  O' A2 Q$ B- ]3 y
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
5 J' ]( r* u! U  m1 yHost#iperf3 -c 192.168.0.1 -i 1
' T; @3 S/ [7 C0 R7 n
测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。
2 a5 q6 `# B& _2 H- I2 a  Z) R1.3 SDIO WIFI驱动编译
: B: J9 Q$ S$ Y; j4 Z/ Q% q请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。1 y, |; l- k* D
Host#tar -xf rtl8189FS.tar.gz; k. Y2 ^" i6 h$ z
执行如下命令,进入驱动源码目录,修改顶层Makefile文件
. }. [; g* e6 q0 L. L$ @1 [8 SHost#cd rtl8189FS/. a# Y! z7 ^4 C0 s
Host#vim Makefile
* M  E7 X8 Y2 `+ l, i
Makefile文件内容请按如下说明进行修改。
2 L9 Z/ D3 \7 o8 c4 i+ p6 QKSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径
8 \% H; n9 ^. e4 U& ]
在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。9 ]/ Q  i5 V4 c5 _* U3 S" S) D
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi* w/ f9 d; ]! A) G8 d( }; u7 b
Host#make; H! J" w  @) u+ v2 G5 }
编译完成后,即可在当前路径下生成驱动镜像。. Q, s: e  p" y! e* p0 u  t( `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 18:50 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表