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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 Tronlong123 于 2024-7-21 17:38 编辑
: ?' G8 H1 Y" x( v: t# ?; r* [) U1 _! p- ^8 o/ @+ ^
2 m$ @$ P+ _8 h  {1 O* j* Q- w
目录
7 B3 s3 _6 O, T7 n& A前 言
% V& O" C9 ^& `# F5 y0 |; d+ c1 SDIO WIFI模块测试% p% Y2 R) p% l7 e, I! ^/ i) ~9 r2 v
1.1 STA模式测试' V3 l3 }/ |1 U6 N' E8 `3 R7 C
1.2 AP模式测试) `5 }- q! Y7 x6 o1 e* K4 \2 y
1.3 SDIO WIFI驱动编译
: U0 f( f3 |9 h前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:! f& _: K5 E5 S
Windows开发环境:Windows 7 64bit、Windows 10 64bit0 Y& u1 i, G2 o4 t& V  N# d
虚拟机:VMware15.1.0
5 q5 i8 V: R5 Q" x% NLinux开发环境:Ubuntu18.04.4 64bit
0 N' ]9 q' h* N& J9 K( IU-Boot:U-Boot-2020.047 `/ x% q* Y/ [0 s1 s3 Q: i; P
Kernel:Linux-5.4.70: A  I( Q$ U# l
Linux SDK:5.4.70_2.3.0
; |% I+ _1 K! p$ b! D0 q4 o5 w无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
0 D1 r; ~; z3 L, |9 \  r6 }6 N9 S创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
' t: l6 w$ a9 g$ t! \
评估板正面图
1 SDIO WIFI模块测试本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。3 _3 s; B, O% r$ t3 b/ Y
SDIO WIFI模块支持STA和AP模式,具体说明如下:) Z5 |! Y" o8 ?8 b6 c# S8 _7 T
(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。) h+ i( h# }+ E  H2 x1 e
(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。
0 _) y6 C% E+ L" c" f9 S本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。
* r7 x1 I" z# k; [" k8 a4 W
表 1
请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
; F7 e; f+ E: I+ S4 y1.1 STA模式测试
; t2 F" m" B7 R9 [( _8 O进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。
9 D! M5 y% w% \) J; JTarget# insmod 8189fs.ko
) d& N+ ]" I9 Q0 |% t' P, A
$ Z# |8 Z5 q; c' ?" K
* X" t- ~/ r4 w. s
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
& L3 a; b+ p, s) }) o+ FTarget#ifconfig eth0 down
1 O" P( o& \3 JTarget#ifconfig eth1 down# |: G* V8 |+ s' V: p9 h. t
Target#killall -9 wpa_supplicant! X& d5 K. b% P4 c, s
Target#ifconfig wlan0 up
( b1 w3 Y, X! j2 X. ~- zTarget#ifconfig
1 R, }% ~. B, \/ X% t" F3 S
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。6 e; N+ _; {% ]! W% n9 T- X
Target#./wifi_setup.sh -i Tronlong-test -p omapl138" n, R) m# |" y% ]" K4 D+ e
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
$ U4 v7 ~  `/ T2 K% j) H" }  qTarget#ifconfig
3 l, D2 o2 h1 d) S( ?4 h! ^Target#ping 192.168.1.100
; @5 \+ j. w- O* p7 M/ h) T- |* _  H" ?
在评估板文件系统执行如下命令,查看评估板IP地址,使用IpeRF3工具测试评估板与PC机的网络通信带宽。: O2 Q6 v8 e/ z7 T6 F6 f
Target#ifconfig+ [) T4 H& C# R, }; S
Target#iperf3 -s" {2 B( I6 z; [  K
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
3 x6 N; x% G# w4 @4 WHost#iperf3 -c 192.168.1.103 -i 1
( |& Z9 U5 l! q8 U- s6 w8 ]
1.2 AP模式测试" B! c; Q( t  b% T0 b0 u: t
请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。
" r1 r+ o/ j$ O7 u* }) X4 jTarget# insmod 8189fs.ko
# ?+ e+ @2 |& t! a
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
8 z# S, n' z4 qTarget#ifconfig eth0 down
9 @2 R5 U4 a' u* aTarget#ifconfig eth1 down
6 o4 }" V* @0 g, y2 s9 I6 fTarget#killall -9 wpa_supplicant
1 E& f" Z5 V. g* d  e, f* ^4 }/ bTarget#ifconfig wlan0 up* L! A+ H; N+ _3 B" e
Target#ifconfig
6 F6 N# G; D* x' L% Z
在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。9 h! f9 R) {+ J2 E  E. O8 k; T
Target#./ap_setup.sh
; A8 p( U3 q4 B6 H
如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。, X  e# |" t2 c
Target# mv /dev/random /dev/random_ori2 ~8 }  b. ]- X* G% H9 s
Target# ln -s /dev/urandom /dev/random
* {! E9 c! ?; z. ?, J! u1 l
程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。
; u2 F2 z% |4 l将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
/ T2 z3 W0 Y& u
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。7 i! y  d* N- ?
Target#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
' U, V& B. x# ^) j' I( n& O
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。2 r- n7 q8 ]1 R7 A* j8 s0 f
Target#ifconfig8 @5 m. |7 }& u! o. s/ z, a
Target#iperf3 -s" a* g( S  ?! K; E
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
+ Y( ^0 S# Q$ r+ i" P( n8 OHost#iperf3 -c 192.168.0.1 -i 1/ X' n6 P) Z  ~% K  J: D4 t! b
测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。! L: J7 l" f$ d5 Z" R" _& F+ S) p
1.3 SDIO WIFI驱动编译: }; E$ Y- E" I* H. u; n/ y
请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。
6 E0 }6 s9 K* P& ^& }1 e& LHost#tar -xf rtl8189FS.tar.gz( W4 n' G$ \1 F1 s3 r
执行如下命令,进入驱动源码目录,修改顶层Makefile文件
+ G( ?: B5 Y8 w  c$ L  l# D3 IHost#cd rtl8189FS/
( D2 G2 Z- Q. N$ |Host#vim Makefile' M- N" `3 U$ c( Y' B. s
Makefile文件内容请按如下说明进行修改。% L, q- f8 N! N. K- P9 B7 E
KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径( M  T8 P: \8 K) R
在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。0 }. ]/ F7 O6 X% U2 W8 J- V, u& u
Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
0 b/ r5 b# g% ~" l8 M: |2 I; ~2 o) mHost#make
. f3 Q2 j% Y7 c
编译完成后,即可在当前路径下生成驱动镜像。$ [  l5 {2 A: c1 J' B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 13:24 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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