搜索
bottom↓
回复: 19

今天看了RT_Thread_stm32f4xx spi wifi8686模块源代码,wifi中的函数

[复制链接]

出0入4汤圆

发表于 2012-10-12 14:13:58 | 显示全部楼层 |阅读模式
从applications/startup.c中的main()开始:

     main()-->
           rtthread_startup()-->
                  rt_application_init()-->
                         rt_thread_create("init", rt_init_thread_entry, -->
                                rt_wlan_init()-->
                                       WlanInitPhase1-->
                                              wlan_init_card()

                                       eth_device_init()

                                WlanDirectConnect()-->
                                       wlan_set_ap_info()
                                       wlan_set_security()
                                       WlanScanAP()-->
                                              SendSpecificBSSIDScan()
                                              wlan_set_infrastructure()-->
                                                       wlan_cmd_802_11_snmp_mib()

                                       WlanStartAssociation()-->
                                              set_wep_materials()-->
                                                       wlan_cmd_802_11_set_wep()-->
                                                                 WlanExecuteCommand()-->
                                                                          DownloadCommandToStation()-->
                                                                                   sbi_host_to_card()-->
                                                                                            gspi_write_data_direct

                                                       wlan_Control_Mac()-->
                                                                 WlanExecuteCommand()

                                               wlan_set_wap()-->
                                                       wlan_associate()-->
                                                                 wlan_cmd_802_11_associate()-->
                                                                          setup_rates_from_bssdesc()-->
                                                                                   get_common_rates()

                                               wlan_set_wpa_info()
                                               Wlan_Association()
                                               set_wep_no_key()

                                 wlan_pm_exit()-->
                                        wlan_cmd_802_11_exit_pm()-->
                                               wlan_cpu_to_le16()

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2012-12-28 16:02:37 | 显示全部楼层
谢谢楼主分享!
楼主的wifi搞定了吗?

出0入0汤圆

发表于 2012-12-28 16:32:49 | 显示全部楼层
楼主研究得很透彻

出0入4汤圆

 楼主| 发表于 2012-12-31 19:39:51 | 显示全部楼层
sblpp 发表于 2012-12-28 16:02
谢谢楼主分享!
楼主的wifi搞定了吗?

还没有呢,买的SDIO接口的,我向他(嵌入式家园)请教SPI接口要如何改无果,

出0入4汤圆

 楼主| 发表于 2012-12-31 19:41:57 | 显示全部楼层
xi_liang 发表于 2012-12-28 16:32
楼主研究得很透彻

其实我是浮在表面,懂得很少

出0入0汤圆

发表于 2013-3-4 11:51:53 来自手机 | 显示全部楼层
真棒,我也在做……

出0入0汤圆

发表于 2013-6-11 23:40:08 | 显示全部楼层
本帖最后由 zhiyunli 于 2013-6-11 23:45 编辑

RT-thread的WIFI代码调用层次很深,光一个WIFI联网功能从main函数开始算到SPI读写寄存器的函数,大概跨越了14层,感觉把简单的问题复杂化了。

对于RT-thread,真是看不懂,系统越搞越复杂,看得出借鉴了很多unix/linux的系统设计思想,但是市场上的类unix系统已经不少了,难道国产的意义就是再造一个类unix OS,你有我有大家有?

嵌入式领域的rtos应用有民用的、工业用的和军用的,民用和工业领域有简易型和复杂型的,前者以uc-os为代表(其实鬼子的itron标准RTOS更为简洁,在早期的功能手机上有大规模应用)、后者以安卓为代表,在安卓之前的手机上,nucleus占据了绝多多数市场份额,但是其API很简洁,没搞什么面向对象的噱头,驱动架构也不复杂,可以满足大多数功能手机和伪智能手机的应用。

出0入0汤圆

发表于 2013-9-5 22:46:33 | 显示全部楼层
看看,学习中···

出0入0汤圆

发表于 2013-9-5 23:20:37 | 显示全部楼层
学习学习!

出0入0汤圆

发表于 2013-9-29 02:23:51 | 显示全部楼层
学习一下!wifi是相当复杂的东西

出0入4汤圆

 楼主| 发表于 2013-9-29 08:27:26 | 显示全部楼层
MrMount 发表于 2013-9-29 02:23
学习一下!wifi是相当复杂的东西

正在啃,

出0入0汤圆

发表于 2013-9-29 15:18:38 | 显示全部楼层
同意7楼zhiyunli的观点,rtos的优势在于内核,而不在于组件,ucos一个简单的内核,能够影响全世界,靠的是内核的稳定性和特性。从来没有一个rtos靠一堆没有验证过的组件能最终推广成功的。要玩组件的,为什么不去玩linux, rtos没意义了。

出0入0汤圆

发表于 2014-2-15 17:48:30 | 显示全部楼层
顶一下,正在学习

出0入0汤圆

发表于 2014-7-22 18:22:07 | 显示全部楼层
utopia_zone1986 发表于 2013-9-29 15:18
同意7楼zhiyunli的观点,rtos的优势在于内核,而不在于组件,ucos一个简单的内核,能够影响全世界,靠的是 ...

同意7,12楼的讲法,我这几天也在看这块,打算把例程移植过来,结果花了一个星期时间,越搞越糊涂了
就一个SPI,装来装去的,LWIP里也很多地方被他修改过了,记得以前搞过LWIP的LAN例程,很简单,很清晰
就几个函数Tx,Rx,Init之类的,实现了加进去,配置一下,花不到一天时间就可以调好,怎么rt-thread的例程
那么复杂,我也有其他例程抽出了那几个函数的,打算跳开RT的SPI部分移植,后来发现LWIP上很多东西
是改过的,到最后还是放弃了用他的例程,直接用其他LWIP+LAN的来移植就好了,RT-THREAD的例程浪费了
我一个星期的时候,我还真觉得奇怪,为什么他们要搞的那么复杂?是为了不让人家那么容易在他的例程里
移植走吗?是故意这样做的吗?我曾经很多次想换个环境使用rt-thread,但每次都觉得不知道怎么上手,只能用
他的例程来小改玩玩,有什么想法要在这里实现的时候,都不知道怎么入手,感觉太复杂,

出0入0汤圆

发表于 2014-7-22 18:37:23 | 显示全部楼层
edmundchang8 发表于 2014-7-22 18:22
同意7,12楼的讲法,我这几天也在看这块,打算把例程移植过来,结果花了一个星期时间,越搞越糊涂了
就一 ...

证明你还没有用熟,也没多关注代码的可移植性。

比如SPI上有NN个CS时用户可以随意用而不需要关注多个CS是否会冲突。
当换个不同厂家的芯片时,原来的SPI驱动的器件可以一字不改的直接使用。

是得是失,自己体会过了才能理解,
不然,如果直接操作芯片的寄存器可能一句就解决了。
而套上各种框架后,一下子就看不懂了。

出0入0汤圆

发表于 2014-7-23 02:22:22 | 显示全部楼层
aozima 发表于 2014-7-22 18:37
证明你还没有用熟,也没多关注代码的可移植性。

比如SPI上有NN个CS时用户可以随意用而不需要关注多个CS ...

实在太难入门了
最纳闷的是,,不是说这个是中国的开源系统吗?怎么都是讨厌的英文啊?显高档吗?
唉,,,
怎么不多用中文呢?
你说的很有道理,我也不介意包了很多层,可是太乱了,转来转去,指来指去,完全没有感受到半点的方便之处
倒是感觉非常迷惑,甚至有点怀疑,是不是故意刁难,要我们付费技术支持吗?(啥猜的,没恶意),
总的来说,折腾了一个多星期后,我还是放弃参考rt-thread的例程,找其他例程,几乎是没什么难度的,顺利的,
移植到我的环境上,
支持国产系统,支持国产芯片,希望rt-thread努力改进

出0入0汤圆

发表于 2014-7-23 09:36:11 来自手机 | 显示全部楼层
rtt代码结构,实现方式质量都挺高的,为什么你们愿意守着你们以前的那些经验什么的,不愿意尝试新的东西?

出0入0汤圆

发表于 2014-8-12 00:44:42 | 显示全部楼层
pangweishen 发表于 2014-7-23 09:36
rtt代码结构,实现方式质量都挺高的,为什么你们愿意守着你们以前的那些经验什么的,不愿意尝试新的东西? ...

质量高不高,真看不出来啊,希望rtt搞多点中文资料吧,中文说明吧,看英文太累了,
不过我个人认为,很多小应用,rtt这牛刀好像重了点,如果小应用简单点,更受欢迎

出0入0汤圆

发表于 2014-8-13 08:56:26 | 显示全部楼层
88W8686这套WiFi驱动是从Linux中移植过来的,所以繁琐而复杂,已经试图做过简化,但是发现会引入更多的问题,bug。后来因为8686发热量大,速度偏低,兼容性不好等特点,所以后来没有再继续。简单的,RW009的驱动最简单了,就两个文件:spi_wifi_rw009.h、spi_wifi_rw009.c

关于lwIP部分,RT-Thread这边主要的修改是对底层驱动这块,这部分是为了和RT-Thread的驱动编程模型统一起来,内部的修改要么是修正lwIP发现的bug,要么是一些完善。从长远来看,RT-Thread会尽量少修改lwIP的代码,突出其中的可配置项,保持其中的原汁原味,这样抱怨反而能够少些。

出0入0汤圆

发表于 2015-4-17 21:00:39 | 显示全部楼层
顶一下,正在学习
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 23:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表