RT-Thread Wi-Fi Host Driver (WHD)

描述

 

概述

WHD是一个独立的嵌入式Wi-Fi主机驱动程序,它提供了一组与英飞凌WLAN芯片交互的api。WHD是一个独立的固件产品,可以很容易地移植到任何嵌入式软件环境,包括流行的物联网框架。因此,WHD包含了RTOS和TCP/IP网络抽象层的钩子。

 

该存储库已将WHD适应于RT-Thread系统,目前仅支持SDIO总线协议,并使用RT-Thread的mmcsd进行SDIO总线操作。
 

欢迎大家PR支持更多总线接口和芯片。

使用

在软件包选中 Wifi-Host-Driver(WHD) for RT-Thread

驱动程序

软件包配置

驱动程序

注意

SDIO驱动需要支持数据流传输,在RT-Thread的bsp中,大多数芯片都未适配数据流传输的功能。

Cortex-M4内核需要软件来计算CRC16并在数据后面发送它。

对于Cortex-M7内核,只需要修改drv_sdio.c文件的一处地方即可,示例如下:

驱动程序

资源下载(该项目默认使用内部资源,可跳过这一步骤)

WiFi固件储存到代码区域中,固件会变的很大,烧录很慢,影响调试进度!

通过FAL组件外部加载固件以及CLM文件,这样MCU固件就能缩减很多,烧录也会快很多!

可以通过ymodem协议下载资源文件。驱动会使用FAL组件来加载资源文件。

资源下载功能依赖于ymodem组件,请确保打开RT_USING_RYMWHD_RESOURCES_IN_EXTERNAL_STORAGE宏定义。

在终端上执行whd_res_download命令开始下载资源。

该命令需要输入资源文件的分区名。

下载资源文件的实例(使用默认分区名,输入自己的分区名):

驱动程序

ymodem可以使用xshell工具,在完成命令输入后,等待xshell启动文件传输。

驱动程序

此时,在xshell中右键单击鼠标,选择文件传输使用ymodem发送

whdresources(wifi-host-driver/WiFi_Host_Driver/resources)目录下,选择对应芯片的资源文件。

传输完成后,msh将输出如下日志:

驱动程序

下载完固件和clm资源文件后,复位重启即可正常加载资源文件。

芯片支持

驱动程序

‘x’ 表示不支持

‘o’ 表示已测试和支持

‘*’ 理论上支持,但未经过测试

ART-PI测试

ART-PI可以使用英飞凌cyw43438 Wi-Fi模块进行该驱动测试

所有该驱动可以使用ART-PI开发板进行测试,可以参考ART-PI RT-Thread WiFi-Host-Driver(https://github.com/Evlers/art-pi_rt-thread)项目

驱动程序驱动程序

HPM6880和GD32F470的测试

GD32的测试代码后期我会上传至GitHub仓库

 

GD32F470 + CYWL6208模组(芯片CYW43438)

GD32F470 + CYWL6302模组(芯片CYW43012)

HPM6880 + CYWL6302模组(芯片CYW43012)

驱动程序驱动程序驱动程序驱动程序

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分