潘多拉IoT Board WiFi驱动编写----WiFi模块初始化(完成)

2019-07-20 02:09发布

本帖最后由 huohua1991 于 2019-5-5 12:57 编辑

由于正点原子所提供的潘多拉IoT Board的WiFi模块驱动已经编译成库来方便开发者使用,
但要想深究SDIO WiFi模块的原理,没有源码是一难题。
潘多拉IoT Board的WiFi模块是AP6181,其核心芯片是CYW43362,经过多方查证,终于
了解到其驱动是WICED,而赛普拉斯官网免费提供WICED Studio来让开发者进行二次开发。
本人经过一个多星期的研究,终于完成了潘多拉IoT Board的WiFi模块驱动的第一阶段,
即能读写WiFi模块内部寄存器、WiFi模块SDIO枚举成功和WiFi模块成功开启WiFi功能。
至于进一步WiFi的AP,STA和网络传输功能仍在攻克中。
现分享我完成的成果,有兴趣的工程师可到赛普拉斯官网下载WICED Studio一起研究。
工程在Porject下的hal_wifi文件夹,只提供IAR工程。
链接:https://pan.baidu.com/s/1-VoUR01YvrnQAiyWQWcX6g
提取码:fr08
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
huohua1991
2019-07-20 09:36
关于AP6181的驱动仍有bug没更改,具体在wwd_sdio.c中的wwd_bus_init函数,即671行
[mw_shl_code=c,true]
-- }while(((data_byte & SDIO_FUNC_READY_2) == 0) && (loop_cnt < 200));
++ }while(((data_byte & SDIO_FUNC_READY_2) == 0) && (loop_cnt < 1000));
[/mw_shl_code]
加上696行
[mw_shl_code=c,true]
-- }while(((data_byte & SBSDIO_HT_AVAIL) == 0) && (loop_cnt < 200));
++}while(((data_byte & SBSDIO_HT_AVAIL) == 0) && (loop_cnt < 1000));
[/mw_shl_code]
修改后WiFi模块的Function 2启动不了,具体是初始化WiFi模块时要更新固件,我起初
以为没必要,现在这是必须步骤

一周热门 更多>