基于I.MX6UL平台的WIFI模块AP6214A 驱动移植

基于I.MX6UL平台的WIFI模块AP6214A 驱动移植

在这里插入图片描述
IoT-6ULX简要介绍
IoT-6ULX,主要面向Internet Of Things应用,该产品集成了 ARM Cortex-A7 900Hz(MAX) NXP I.MX6UL/L 处理器,并板载AP6214 WIFI模块+BT4.2,稳定运行Linux 4.14和YACTO。IoT-6ULX提供了3.3V I/O接口,可提供宽温的工业组件,运行于条件恶劣的工业现场!
在这里插入图片描述
主控CPU功能框图:
在这里插入图片描述
i.MX6UL/L核心模块产品:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
i.MX6UL/L核心模块引脚定义:
在这里插入图片描述
在这里插入图片描述
产品参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2 驱动移植
*bcmdhd驱动是Dongle Host Driver (DHD) 是一个可执行的模块,它基于SDIO总线之上提供了通信主机与Ampak (WiFi)模块之间的协议栈封装。DHD架构如图1-1所示:
在这里插入图片描述
驱动移植除了处理驱动代码,还要设定固件与NVRAM文件的存储路径。驱动加载时从指定的路径读取固件与NVRAM,当不能正常读取时,会导致WiFi模块不正常通信。
2.1 内核驱动
与集成其他的Linux驱动类似,bcmdhd驱动添加到Linux内核中,需要修改Kconfig与Makefile文件。步骤如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:可将CONFIG_BCMDHD=y或CONFIG_BCMDHD=m添加到内核配置文件中(EVB-6ULx 的为evb6ulx_defconfig),使之包含bcmdhd驱动。
2.2 固件
以2.1节的固件与NVRAM文件的存储路径为例,说明在buildroot与yocto下打包固件到rootfs方法。
buildroot:
在BR2_ROOTFS_OVERLAY变量所指定的目录中新建子目录:/ lib/firmware/brcm/,然后复制固件以及NVRAM文件到改目录,然后重编译buildroot,新生成的rootfs中将包含固件与NVRAM。
yocto
在sources/meta-embfly/recipes-connectivity/中新建recipe,编译该recipe,然后重新生成rootfs即可包含固件与NVRAM。有关代码参考EVB-6ULx yocto BSP。
3 网络通信测试
WiFi网络通信测试内容包括:连通性测试与带宽测试。前者旨在验证WiFi的功能,后者更多地关注性能。

3.1 连通性测试
在这里插入图片描述
连接AP的过程内核会枚举设备、加载固件等操作,调试信息中看到ssid、加密方式则表明连接成功,入图3-1:

在这里插入图片描述

注:亦可通过iwconfig指令查看WiFi连接信息。

2、获取IP
root@embfly ~# udhcpc -i wlan0
执行udhcpc,从路由获取一个动态IP,如图3-2:
在这里插入图片描述
4、连通性测试
root@embfly ~# ping 192.168.0.1 -I wlan0 -c 5
ping指令测试网络联通性,如图3-3所示:
在这里插入图片描述
3.2 带宽测试
在完成连接AP与成功获取IP的基础上,测试WiFi的带宽。
1、开启iperf3服务器
[daniel@localhost ~]$ iperf3 -s -p 1472
2、带宽测试
执行iperf3测试前,为免受干扰,先将无关的网络设备关闭,只保留要测试的设备。例如,需要测试wlan0,先将eth0关闭。
root@embfly ~# ifconfig eth0 down
root@embfly ~# iperf3 -c 192.168.0.114 -p 1472 -t 10 -4
测试TCP带宽、端口为1472、时长10s、IPv4标准,如图3-4所示:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值