已有的单片机TCP IP协议栈

由于TCP协议栈的程序流程较为复杂,因为程序中需要处理对方法送过来的数据、发起的连接,而我方并不知道对方会何时进行什么样的操作,这就使得协议处理起来较为复杂。另外一个原因是单片机TCP IP协议栈的稳定性是以非常重要的问题,一个稳定的协议栈需要在实际应用中经过长时间的测试,所以编写一个稳定的单片机TCP IP协议栈更加困难。为此另外一种选择就是使用现有的TCP IP协议栈。

1. eCos单片机TCP IP协议栈(http://ecos.sourceware.org/getstart.html):

eCos TCP/IP栈是涉及与eCos操作系统/内核一起运行的。eCos(和TCP/IP栈)由大量处理其结构支持。eCos TCP/IP栈当前发布了一个测试版,作为一个单独的模块。

2. ZLIP 51单片机TCP IP协议栈(http://www.zlmcu.com/ZLIP/zlip_introduction.htm):

ZLIP是专门为51单片机设计的嵌入式TCP IP协议栈,可以在有操作系统和没有操作系统情况下运行,具有代码量适中、运行速度快、用户接口简单、兼容BSD socket接口的特点。实现了TCP、UDP、ICMP、ARP协议,ZLWeb实现了HTTP协议。支持多TCP连接、多UDP连接同时运行,支持在uc/os-II操作系统下多任务运行数据收发。可以用于51单片机TCP/IP上网解决方案。

3. uc/ip 单片机TCP IP协议栈(http://ucip.sourceforge.net/):

uC/IP(mew-kip)是为为控制其设计的一个TCP IP协议栈。代码基于BSD(很像所有其它栈)但对非常小的覆盖范围功能有所减少。它当前为Linux和DOS目标而建。

4. BSD 单片机TCP IP协议栈(http://www.freebsd.org/internet.html):

BSD栈历史上是其他商业栈的开始点,大多数专业TCP/IP栈(如带Wind-River VxWorks内核的)是BSD栈派生的。这是因为BSD在BSD许可协议下提供了他们的栈,它们的许用证使你能以修改或未修改的形式结合它们的代码而无须向创建者付版税。与GPL许用证相比,如果你结合GPL源代码,后者要求你的GPL中公开你的源代码。

5. lwIP 单片机TCP IP协议栈(http://www.sics.se/~adam/lwip/):

lwIP(轻型)TCP/IP栈是TCP IP协议栈的一个小型实现。它包括带IP和ICMP的TCP和UDP传输层。还提供一个可选的BSD套结籽API。为了性能,还包括一个零拷贝API。LwIP协议栈是为嵌入式系统设计的并能适合40KB的ROM和几百字节的RAM。为了可移植性它用C编写。

6. uIP 单片机TCP IP协议栈(http://www.sics.se/~adam/uip/index.php/Main_Page):

uIP是专门为8位和16单片机设计的一个非常小的TCP IP协议栈。uIP完全用C编写,以此可以移植到各种不同的结构和操作系统上。一个编译的栈可以有几KB ROM或几百字节RAM中运行。uIP还包括一个HTTP服务器作为服务内容。

7. TinyTCP 单片机TCP IP协议栈(http://www.unusualresearch.com/tinytcp/tinytcp.htm):

TinyTCP栈是TCP/IP的一个非常小的简单的实现,它包括一个FTP客户。TinyTCP是为烧入ROM设计的并且现在开始对大端结构似乎是有用的(初始目标是68000芯片)。TinyTCP也包括一个简单的以太网驱动器用于3Com多总线卡。

8. WATTCP 单片机TCP IP协议栈(http://www.erickengelke.com/wattcp/):

WATTCP是为嵌入基于DOS的系统而设计的一个小型TCP/IP栈。它包括一个Real Mode DOS版本和另一个32位扩展环境版本。


相关内容