移植uIP开源协议栈需注意的几点

随着物联网的发展,越来越多的设备需要加入联网的功能,Uip是专为嵌入式设计的轻型开源TCP/IP协议栈,很小的代码尺寸,因为嵌入式控制器资源的限制,所以不是全功能的TCP/IP协议栈,在移植的时候需要注意一些问题。(里面有很多的全局变量需要注意)

1 首先要搞清楚uIP的源码目录结构,分析源码的结构,风格。

0?wx_fmt=jpeg

0?wx_fmt=jpeg

2 例程的分析和学习,Uip的源码包里含有很多的例程,像webserver,telnet,等功能如上图所示,注意源码里面很多的宏定义,像定义UIP_APPCALL,自己的应用函数要按照这个规定来定义。

3,doc文件夹里面的参考文档是最重要的参考资料,是最权威的。应多读几遍,至少三遍以上,有一个清晰的理论和脉络,对学习和移植都有很大的帮助。像webserver例程,可以参考移植到自己的工程,做出很漂亮的嵌入式上的webserver。小猿已经在K64上移植成功。是很好的学习参考。移植过程中有问题就去文档中寻找答案。如有跟多的网络方面的问题还要参考RFCxxx文档。

4,移植到裸机和带操作系统的设备上要注意有一些区别。像在Uip上移植modbusTCP/IP到裸机和带freeRTOS的系统上就有区别,需要注意修改代码。

5,举一反三,在研究明白源码,并能简单移植BSP后,可以加入更多的功能,移植更多的源码,例如可以移植freeModbus,使基于Uip的 Modbus TCP/IP跑起来

6,之后还可以研究下其他的开源协议栈,像LwIp,比uip复杂一些,功能多一些。

最后我们要感谢这些设计出开源协议栈可以供我们学习和使用的前辈们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值