找回密码
 注册
查看: 154|回复: 0
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 Tronlong123 于 2024-7-21 17:38 编辑 ( M% I4 q( U2 v) u- C
* v. `' I1 s+ h. {% P
( ^2 D7 D4 Y( Z4 o
目录
7 B' z5 P* |) _8 a1 |前 言
  `: |9 S  h6 e% p, o2 i+ _1 SDIO WIFI模块测试4 @" E9 F3 y( N
1.1 STA模式测试" ~- P. x# ?6 s
1.2 AP模式测试& [2 m, p" S( W  H2 x. I1 G
1.3 SDIO WIFI驱动编译
6 F! I. Q+ p" o6 y前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:
" f" X2 F2 u* k- y2 m$ H3 @Windows开发环境:Windows 7 64bit、Windows 10 64bit
& Z* F4 b/ B% c" w虚拟机:VMware15.1.0! N! g4 o$ {7 `% f- Z4 E
Linux开发环境:Ubuntu18.04.4 64bit
5 G, B2 H! p2 t3 zU-Boot:U-Boot-2020.04: Y( S4 N$ c) o; u' a
Kernel:Linux-5.4.700 n. J7 t9 Q7 b) \
Linux SDK:5.4.70_2.3.06 `$ g* e3 T5 I% h- @/ ^6 `8 _+ v8 l2 y
无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。3 X. J& Y$ X, ^- ]; G( P9 f
创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
) r* M' y2 b2 |. A
评估板正面图
1 SDIO WIFI模块测试本案例使用SDIO WIFI模块型号为:RTL8189,请将SDIO WIFI模块插至评估板SDIO接口,如下图所示。
4 B. z. T. O  K- c) T/ ]
SDIO WIFI模块支持STA和AP模式,具体说明如下:
2 r% O7 l! ]7 _3 j) k(1) STA模式:在STA工作模式下,WIFI模块可接收来自无线路由器发出的信号,实现通过路由器连接互联网。
3 N, m1 B% L/ H& m(2) AP模式:在AP工作模式下,WIFI模块会创建一个无线局域网热点,手机、电脑等设备可通过此热点组建局域网。: q  s" `* k; w# h9 B! d
本案例测试程序位于产品资料“4-软件资料\Demo\module-demos\sdio_wifi_test\”目录下,具体说明如下。
' q5 F/ @) P! c3 z6 H
表 1
请将bin目录下所有文件和driver目录下8189fs.ko驱动文件拷贝至评估板文件系统任意相同路径下,并将SDIO WIFI模块正确连接至评估板SDIO接口。由于SDIO接口与Micro SD接口存在引脚复用关系,因此请务必将Linux系统启动卡从评估板Micro SD卡槽中取出。将评估板启动方式选择拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
9 _. S% O; Y% s8 Q& X3 x$ K1.1 STA模式测试
2 H- f( P$ D' P6 R进入评估板文件系统,在SDIO WIFI模块驱动8189fs.ko所在路径下,执行如下命令加载驱动。
" J' T& Q, u. E- P- ITarget# insmod 8189fs.ko6 k3 A% K$ M9 V# g3 u0 Y
& U* ~4 |3 }. m; B+ _- M% w

- y, G) D4 \% l, x
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。
! N8 O: R! {1 h: p7 s% CTarget#ifconfig eth0 down
6 C' }3 {+ C& D# M! h, vTarget#ifconfig eth1 down3 `0 ~9 J4 I6 t. ?' B
Target#killall -9 wpa_supplicant; e( k) J, W, d& L/ c- X  w% [
Target#ifconfig wlan0 up: u. t- ~  i- V+ R0 B: L- m1 t
Target#ifconfig
/ C2 M9 j8 V4 P5 c
在wifi_setup.sh文件所在路径下执行如下命令,将评估板通过WIFI模块连接至路由器。"-i"指定WIFI名称,"-p"指定WIFI密码,请根据实际情况修改。
" c) l. Q/ w7 G" |  x% s( DTarget#./wifi_setup.sh -i Tronlong-test -p omapl138! `/ n- \* }4 u: G- Z
执行如下命令查看获取的IP地址,并通过ping命令测试评估板与PC机通信是否正常。192.168.1.100为PC机实际IP地址,请确保评估板与PC机在同一局域网内。
) v4 F2 v& T6 p8 J% C0 nTarget#ifconfig
- V' c8 P( r1 v9 b2 T, k6 a- Y8 bTarget#ping 192.168.1.100" O  x' P% n; h  b8 `$ ^
在评估板文件系统执行如下命令,查看评估板IP地址,使用IpeRF3工具测试评估板与PC机的网络通信带宽。
9 a  A5 o% d+ K7 U5 N4 X1 P: DTarget#ifconfig1 \8 j4 p3 b( ~8 ?& k& |
Target#iperf3 -s* G1 f7 k' e7 v: D" {  [
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.1.103为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
3 n7 D8 Y. ~, s1 X. THost#iperf3 -c 192.168.1.103 -i 1
) Q- w% P1 J7 N, }! Y* b  V
1.2 AP模式测试
* G# D) a) m! n1 Q; C请重启评估板系统,在SDIO WIFI模块驱动8189fs.ko所在路径下执行如下命令加载驱动。
. C% @2 M) G- J' @: pTarget# insmod 8189fs.ko* D4 d" j3 B' A1 X  Z
执行如下命令关闭其他网络和wpa_supplicant进程,仅保留WIFI网络。+ h5 I2 @+ k& |+ p- P4 G! g
Target#ifconfig eth0 down
0 o( K$ s* `. Y) T/ F9 ATarget#ifconfig eth1 down0 ]5 a, L1 H1 E1 `+ V" Z/ n5 k
Target#killall -9 wpa_supplicant
( Y# V9 G3 T% R6 TTarget#ifconfig wlan0 up
/ y/ U: s5 J+ I) e* \Target#ifconfig
# Z9 z! a. p2 C, @9 w
在ap_setup.sh文件所在路径下执行如下命令,将SDIO WIFI模块设置为AP模式。8 R$ f( T- E1 |8 c1 d, E
Target#./ap_setup.sh' {; o8 }5 i2 v3 S+ s
如启动AP功能过程中,出现如下问题,是由于random熵不够引起,需重启评估板,执行如下命令更换熵池,再重新测试。* _* y* }# Z! j
Target# mv /dev/random /dev/random_ori
- I  r! A) |$ L& _Target# ln -s /dev/urandom /dev/random) @  p# s! k+ `" H
程序默认设置的WIFI名称为:rtl8188fs,密码为:88888888,可在rtl_hostapd_2G.conf配置文件内进行修改。7 g5 c* _' h1 c$ n; l
将具有WIFI功能的PC机(比如笔记本电脑或装有USB WIFI的台式电脑)连接至此无线局域网热点,并断开已有的有线网络连接。连接成功后,串口调试终端将会打印如下信息,显示Ubuntu已分配的IP地址。如使用虚拟机 + Ubuntu的开发方式,将会获取到两个IP地址,其中一个为Windows端IP地址,一个为Ubuntu端IP地址。
& `% C! S: v" K
执行如下命令测试无线局域网设备之间网络连接是否正常。若出现连接超时或失败,可尝试关闭PC机防火墙后再次连接。
' ?+ c' [( I( a( ^8 a- U0 }Target#ping 192.168.0.21 //192.168.0.21为Ubuntu端IP地址' J9 e/ i7 J: ~. L* w, S, G
在评估板文件系统执行如下命令,查看评估板IP地址并等待PC机连接。
$ s/ L" E3 G2 ~5 Y* `4 oTarget#ifconfig$ ^' O* D& o  R" C
Target#iperf3 -s. z9 |8 a# T% V* R0 w- }3 L
在Ubuntu系统执行如下命令测试网络通信带宽,192.168.0.1为评估板实际IP地址。测试完成后,Ubuntu和评估板均会打印测试结果。测试结果受网络环境影响,仅供参考。
, Q3 P# Y7 T$ {' p; a1 v; x2 @Host#iperf3 -c 192.168.0.1 -i 1
$ C9 L4 M" S7 c% k. C
测试完成,请将评估板断电,拔出SDIO WIFI模块,将Linux系统启动卡插入Micro SD卡槽,启动方式选择拨码开关拨为010100(1~6) SD启动模式。
! b; q, `7 n/ W2 d1.3 SDIO WIFI驱动编译
% J4 l5 l7 m4 b请将案例src目录下的驱动源码rtl8189FS.tar.gz拷贝至Ubuntu工作目录下,执行如下命令将源码压缩包解压至该目录下。
' X+ V7 h+ F( _0 N7 m2 x- H- d6 h* }Host#tar -xf rtl8189FS.tar.gz" M! |3 [$ a" s, a
执行如下命令,进入驱动源码目录,修改顶层Makefile文件0 p2 I# V& [, f2 M8 m  m# Z% A% v
Host#cd rtl8189FS/) B1 P' E9 z& e& l, I7 L0 l- Z1 W: N
Host#vim Makefile
$ F0 l' a. E2 q, Q* v, K
Makefile文件内容请按如下说明进行修改。
$ S" I* X2 _$ P; S3 {: K% SKSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 //指定内核源码实际路径# ?0 o+ F) h, \' p: |6 e2 q
在驱动源码所在路径执行如下命令,使能SDK环境变量并编译SDIO WIFI驱动。
1 k& S8 q0 Z$ y8 \3 SHost# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi# P: J- N" N+ o* R
Host#make+ [) N( t: t: z- y
编译完成后,即可在当前路径下生成驱动镜像。+ n3 x6 I$ N  Q/ z, i2 N2 `
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-1 01:51 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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