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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 Tronlong123 于 2024-7-21 17:38 编辑 ( N: v. V' a4 N2 J7 x3 F! w% X" x
% C9 `) g: j* `# }: G

1 ^( Z$ _  |- P* G& q' @目录8 M% {: F$ E- Q- E" u
前 言
$ v( j) w. Q0 J  l6 a5 O8 G1 SDIO WIFI模块测试0 d( u% \0 J; @2 \& J; {
1.1 STA模式测试
; o- g- v, Z& n: D# M1.2 AP模式测试
% |- e& u! ^) L6 X" U. Z/ R8 Z1.3 SDIO WIFI驱动编译$ f) L5 W- @* v; [, s
前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:8 \$ l; F! v' `4 r1 r  |; H  V
Windows开发环境:Windows 7 64bit、Windows 10 64bit
5 W+ E- \9 p) L+ _0 _虚拟机:VMware15.1.0
) ]0 K; h* c. J! x* \$ T- MLinux开发环境:Ubuntu18.04.4 64bit/ S1 F8 D* K9 z
U-Boot:U-Boot-2020.04! d' G, Y) i: A- A; B
Kernel:Linux-5.4.70% N7 h% f- y) B4 J
Linux SDK:5.4.70_2.3.0
$ q- z) B2 d6 O* u无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
. ~7 B% O7 i- q/ Z2 @, o% ^创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。+ l$ z" M; {) d+ w+ x
评估板正面图
1 SDIO WIFI模块测试本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。
: [: T2 t1 l$ l1 F
SDIO WIFI模块支持STA和AP模式,具体说明如下:
8 k% E  z( F3 D: ]/ r- s0 @4 A(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
  ]1 O1 z& f  b4 @# {(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。
. Q: D* J% R5 n& p本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。% G) j& m# c0 o" m3 B
表 1
请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
8 n; s0 P8 k  r9 g1.1 STA模式测试
  F1 M2 n2 n3 B! g进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。! M3 d' c/ Y3 h2 e
Target# insmod 8189fs.ko: t# `6 [5 P! E" f+ H
6 F0 ^: `+ f3 \1 j! o7 {0 n
( @* o; X1 D4 X0 q- f( C
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。8 [5 s* Z3 p) p" }+ l
Target#ifconfig eth0 down
- h, U6 o5 @' x8 w$ kTarget#ifconfig eth1 down
, Q1 y; x9 w3 X, dTarget#killall -9 wpa_supplicant! O+ t- F& B; C3 r
Target#ifconfig wlan0 up
7 E1 c3 ?6 T' O: e5 o, CTarget#ifconfig
0 V3 c- B7 @1 s  B$ L' v
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。
' o* e' f2 D- A$ X& Q; _& vTarget#./wifi_setup.sh -i Tronlong-test -p omapl138
4 ^( [9 ]7 h4 [2 v& q* s4 U
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
* X1 i6 _7 T5 w! ]Target#ifconfig
8 h# ~9 V7 e, {; u* ~" }. Q  ~2 vTarget#ping 192.168.1.1003 @' G6 O; z+ ?
在评估板文件系统执行如下命令,查看评估板IP地址,使用IpeRF3工具测试评估板与PC机的网络通信带宽。2 J4 h' e1 S8 x/ ?. t4 q; y0 N
Target#ifconfig. F3 g( r8 c: c" K2 X5 _( h
Target#iperf3 -s
# N8 i4 |! K6 |. ]: {8 U0 I( L
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。5 g2 t( J+ L' ]" _
Host#iperf3 -c 192.168.1.103 -i 1
0 f, u0 z3 I/ b- L/ B% n
1.2 AP模式测试
& [! S6 {  D' @; j3 R* `# @& m请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。* r1 X5 T/ D3 C# f/ ^; ?5 E: ^; M
Target# insmod 8189fs.ko1 U9 |9 S% I  A/ R  W2 C# p
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。# E) Y2 i$ b) v4 Y6 h) c
Target#ifconfig eth0 down; {5 K) f6 o3 L! Q. Z
Target#ifconfig eth1 down/ b, j3 D) V5 j$ [
Target#killall -9 wpa_supplicant
: G9 k# B7 b/ _6 {Target#ifconfig wlan0 up: m* }+ L3 g) P+ L, W
Target#ifconfig. F8 j0 }% H2 M' L& x' }/ `  p* h! S
在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。
9 T- ~7 o. Y! ?! z2 ZTarget#./ap_setup.sh1 \3 Y  {' @/ O6 Z8 X. w
如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。
: P, x5 C2 ]1 t0 V6 s, K) p( x- @Target# mv /dev/random /dev/random_ori% p( d$ K. d+ A  L# \$ C1 }6 y6 P
Target# ln -s /dev/urandom /dev/random
. h+ O6 \* |6 f7 o
程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。: e2 n+ `, Y% F' n: j; z5 g; h
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
+ ?; D0 x# z' T; r2 S, [# L+ D; L& l
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。
) X0 m* B% P0 yTarget#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址
4 U2 }, a0 t7 e, o- G$ C
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
7 S, ^! |+ \9 M' |8 D: y5 \Target#ifconfig
& Y0 L/ s8 s) ?# PTarget#iperf3 -s
2 h- f& C: C, u
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
% O1 _. x; g5 K# a# UHost#iperf3 -c 192.168.0.1 -i 1
! v/ x: _, c4 A, p* e4 [
测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。) N  G3 O: H5 h. g& {
1.3 SDIO WIFI驱动编译7 `, y4 e* R% n7 j! V
请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。
% K/ b6 c' Z$ K' v: g* ~: eHost#tar -xf rtl8189FS.tar.gz
' R/ R$ h; A( J- U
执行如下命令,进入驱动源码目录,修改顶层Makefile文件
8 }/ M- m& [3 RHost#cd rtl8189FS/
& K4 \8 }( {- @% V0 cHost#vim Makefile9 o( }  \( `3 x! S% O. C0 n
Makefile文件内容请按如下说明进行修改。
. @+ p' F: O" k- _, b$ S; ~KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径6 m/ x5 b( W  [7 i9 G
在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。
' i% |" ^0 z7 d. z6 m$ @5 `Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi4 f) I7 h1 {9 e# `2 ?$ h/ m
Host#make! J. V0 _% w3 i- \; Y
编译完成后,即可在当前路径下生成驱动镜像。( {. c. v- H2 ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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