我们给大家介绍过目前比较流行的开源TCP/IP开源协议栈uIP和lwIP, 这两种都是由瑞典计算机科学研究院开发的,广泛应用于嵌入式系统中。因为全功能的TCP/IP协议是很庞大的,在资源紧张的嵌入式上是很难实现的,所以本着复杂问题简单化的原则,在嵌入式的应用场景下,做了一些假设和简化,瑞典计算机科学研究院开发出了这种可在嵌入式中应用的开源TCP/IP协议栈。在freeRTOS的学习中我们就给大家介绍过这两种协议栈,uIP比lwIP更精简,被大量移植在8位,16位,32位单片机上, lwIP比uIP功能更全一些,但同时占用资源也就更多一些。上面一张图就可以看出功能区别。
两者在内存管理和分配上也有所不同,具体在移植应用时可以看源码。源码包里有一些例程可以参考学习,我们给大家移植过在freeRTOS下基于这两种协议栈的,webserver,并且测试通过,有兴趣的可以看看前几篇文章。关于协议栈的源码可以到
https://github.com/adamdunkels/uip
去下载uip源码。源码目录结构如下
学习任何一个源码都要先搞清楚他的源码目录结构。
Lwip可以去http://sava