火牛板学习RT-Thread Step by Step——第六篇:网络学习,附带LwIP学习资料
Lwip部分代码很多,由于之前自己也没有接触过,所以先收集了下LwIP的资料。这里先奉上LwIP比较全的资料。主要包括 LwIP官方文档的中文翻译,LwIP移植到uCos的方法。
LwIP中文学习资料ourdev_704164E22HK6.rar(文件大小:2.92M) (原文件名:lwip学习资料.rar)
简单介绍LwIP的文件和架构。方便知道其目录结构和工作原理。
LwIP把所有与移植相关代码独立出来,放在了src/arch目录下。
譬如与CPU和编译器有关的 cc.h,cpu.h,perf.h等等。
与操作系统有关的是sys_arch文件。
主要包括信号量、消息、timeout、线程的移植。
LwIP函数关系及分层示意图
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_704166I0C9XO.png
LwIP分层 (原文件名:无标题.png)
RT-Thread的范例代码已经较为详尽,enc28j60的驱动也都给出了。
移植的时候,碰到更多的是自己网络知识的匮乏。刚开始没有ping通。
注意事项如下:
移植的时候,保证网络相关的中断配置正确,能进中断。
选择单纯一点的网络环境,譬如一台主机、一台交换机/路由器、开发板。
到目前为止,在复杂的公司网络上还是没有ping通......
使用网络协议查看软件,如 Wireshark,使用该软件需要先安装 WinPcap 包
给个下载地址吧:http://www.xdowns.com/soft/1/44/2009/Soft_51490.html
调试过程:
1.绿灯亮,黄灯闪
2.finsh显示网络初始化成功
3.打开 Wireshark 监视网络协议.
4.可以ping着试试了
范例代码在初始化成功后,可以用finsh开启两个网络线程
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_704185MJO87W.png
串口中断 finsh (原文件名:无标题.png)
调用
finsh>> udpclient("192.168.1.1", 80, 10);
此函数表示当UDP客户端启动后,向192.168.1.1,端口80,连续发送10次“This is UDP Client from RT-Thread”,
发送部分正确的话,至少可以在 Wireshark 上看到 设备IP地址:192.168.1.30 字段出现。
另外一个函数
finsh>> tcpserv()
调用后,启动TCP服务端,在端口5000上进行监听,收到数据,就向客户端发送“This is TCP Server from RT-Thread”,
接收到q或Q字符串时,将关闭此TCP连接。
非常惭愧的是,我不知道如何快速方便的在电脑上向开发板发TCP字符串......./emotion/em119.gif./emotion/em119.gif
在windos命令行窗口下,ping 192.168.1.30,可以ping通。
目前的工作就完成这些。另外试了下DHCP功能,也是可以正确使用的。
STM32_RT-Thread 网络工程目标 V022ourdev_704186AV6H63.rar(文件大小:3.33M) (原文件名:STM32_RTThread_V022.rar) 重发附件。老论坛附件问题一直没解决啊。。。
非常好的资料,非常好的学习系列,lz有邮件或GTalk、QQ什么的吗? 老大前来关注啦。。。谢谢捧场。
邮箱:draapho@gmail.com 支持楼主。继续!! 自己研究了下,电脑向网络发送字符串用windows自带的超级终端即可。
配置方法和显示效果下图:
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_705660XUNH5E.png
电脑端配置和显示 (原文件名:无标题.png) markMARK mark! 不知道这个是什么,不过顶一下,收藏着一块火牛开发板,嘿嘿 mark! mark 谢谢分享~~~~ mark ,方便以后查看
页:
[1]