[应用相关] 怎么将Linux的WIFI驱动移植到STM32F系统上?

[复制链接]
983|16
 楼主| 两只袜子 发表于 2022-11-14 13:56 | 显示全部楼层 |阅读模式
关于WIFI的驱动在网上找到的一般是Linux的驱动源码, 已知WIFI通信接口是SDIO方式, 请问下若想将这种WIFI驱动移植到STM32F系统上,这要怎么做?有没有详细点的步骤?
谢谢!
失物招領 发表于 2022-12-14 09:00 | 显示全部楼层
移植的话,应该就要梳理它的程序逻辑了

她已醉 发表于 2022-12-14 09:32 | 显示全部楼层
基本都是C编写的吧,你可以直接复制过来使用的吧

故意相遇 发表于 2022-12-14 10:04 | 显示全部楼层
这个好像不是很容易,毕竟平台都不一样

西洲 发表于 2022-12-14 10:36 | 显示全部楼层
你可以直接找原厂要关于MCU的驱动,这样能好点

将爱藏于深海 发表于 2022-12-14 11:08 | 显示全部楼层
可以把.c.h文件复制到ST的工程文件之中,试试应该能可以

春日负喧 发表于 2022-12-14 11:40 | 显示全部楼层
你用的是哪个WiFi模块啊?

白马过平川 发表于 2022-12-14 12:12 | 显示全部楼层
按理来说,2个开发平台不一样,移植是比较麻烦的

捧一束彼岸花 发表于 2022-12-14 12:44 | 显示全部楼层
Linux的话,你可以看看WiFi的工作流程,然后自己用C语言编写一下

风凉 发表于 2022-12-14 13:16 | 显示全部楼层
你还是找个原厂或者网上找个相关的驱动,移植一下应该比较快,比较容易

温室雏菊 发表于 2022-12-14 13:48 | 显示全部楼层
Linux驱动要是转移到MCU的驱动就本来就比较麻烦,不好弄的

抹茶妹妹 发表于 2024-7-30 20:30 | 显示全部楼层
确认STM32F的硬件平台支持SDIO接口,并且已经配置好相关的引脚和时钟。
准备好WIFI模块,确保其SDIO接口可以与STM32F的SDIO接口连接。
我爱台妹mmd 发表于 2024-7-31 23:12 | 显示全部楼层
由于Linux驱动和STM32F的开发环境不同,需要对驱动代码进行大量修改:

移除不必要的部分:Linux驱动中很多部分与STM32无关,如文件系统操作、网络协议栈等,可以先删除这些部分。

适配硬件抽象层(HAL):

将Linux驱动中的硬件操作部分替换为STM32的HAL库函数。例如,SDIO读写操作、GPIO配置等。
创建一个SDIO传输函数,用于数据传输。
适配中断和DMA:

配置STM32的中断服务程序(ISR),处理SDIO接口的中断请求。
配置DMA进行数据传输,提高效率。
移植WIFI驱动中的协议栈:

如果驱动中包含协议栈代码(如802.11协议),需要确保这些代码能够在STM32上运行,可能需要移植或重写部分代码。
考虑使用STM32的LWIP协议栈库来处理网络协议。
5. 调试和测试
调试SDIO通信:确保SDIO通信正常工作,能够正确读写数据。
调试WIFI驱动:逐步调试WIFI驱动,确保各个功能模块正常工作。
功能测试:进行全面的功能测试,包括连接AP、数据传输、掉线重连等。
实际测量不符 发表于 2024-8-29 13:18 | 显示全部楼层
可能需要编写或修改底层的SDIO驱动以适配你的WiFi芯片。
星辰大海不退缩 发表于 2024-8-29 23:56 | 显示全部楼层
其实不太好移植的毕竟需要手搓代码
帛灿灿 发表于 2024-10-11 08:11 | 显示全部楼层

MinUnit 是一个 用 C 语言编写的极其简单的单元测试框架
Bblythe 发表于 2024-10-11 09:14 | 显示全部楼层

功率开关和整流器的交流电流环路包含非常高的PWM开关电源典型的梯形电流波形
周半梅 发表于 2024-10-11 11:10 | 显示全部楼层

电源电压处于1.6V到5.5V之间
Pulitzer 发表于 2024-10-11 12:13 | 显示全部楼层

无法提供开关电源所需的脉冲电流
童雨竹 发表于 2024-10-11 14:09 | 显示全部楼层

单片机的外部都连接有象电池等电源部分
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部