WinCE下WIFI模块AR6102的调试

今天调试了一款SDIO的无线网卡AR6102,由于该芯片是板载的,所以写了一个应用程序,模拟无线网卡的插入拔出,然后简单修改了SDHC驱动,检测应用程序发出的模拟卡插拔的动作,并控制芯片的PWR和RST引脚。幸运的很,改完之后,就可以用了。通过应用程序模拟无线网卡的插入动作后,在超级终端看到了加载无线网卡驱动的打印信息,在控制面板的网络连接里也看到了WIFI设备,AR6K_SD1。

用于测试的无线AP是Cisco的,加密方式是WPA-Personal,根据路由器的设置,选择加密方式并输入网络密钥,如下图所示。

点击确定后,正常连接至无线AP,但信号强度极低,可能跟天线有关系。

连接至AP后,AR6K_SD1的IP信息如下图所示。

连接过程中的日志如下图所示。

下面简单介绍一下调试的思路。我们知道,WinCE下SD卡驱动主要由三部分组成,BusDriver、HostControllerDriver和ClientDrivers。他们三者与应用程序和操作系统的关系如下图所示。

可以看到,BusDriver是介于ClientDriver和HostControllerDriver之间的一个抽象管理层。它为ClientDriver提供了标准的API,使其能在不同的WinCE系统上运行。BusDriver的真实存在为SDBUS.dll。这部分代码由微软提供,与平台和应用无关。所以,在移植驱动的过程中无需做任何修改。

ClientDriver通过BusDriver提供的抽象接口,控制并操作SD设备。WinCE下SDIO的ClientDriver类型有Memory、BlueTooth、GPS和WIFI等几种。这部分的驱动根据设备类型不同而不同,当SD设备插入时,BusDriver根据注册表的配置,加载相应的ClientDriver。ClientDriver一般由模块厂商提供,基本不用做修改即可使用。

HostControllerDriver是BusDriver和HostController之间的一个硬件抽象层,这部分代码随着平台和芯片的不同而不同。在调试SD设备的过程中,需要做相应修改。

根据以上分析,调试AR6102的驱动时,仅仅修改了HostControllerDriver的代码,其他两个部分都没有动。实际上原厂也没有提供ClientDriver的代码,只给了DLL文件而已。

文章名称:WinCE下WIFI模块AR6102的调试
分享地址:http://www.shufengxianlan.com/qtweb/news6/473806.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联