代码之家  ›  专栏  ›  技术社区  ›  Dan

使用(免费)嵌入式TCP/IP协议栈的经验?[关闭]

  •  31
  • Dan  · 技术社区  · 15 年前

    有没有人对以下嵌入式TCP/IP协议栈有特别好(或坏)的经验?

    易于运输

    系统可能会使用一个RTOS,这还没有决定,但是根据我的经验,大多数栈都可以与RTOS一起使用,也可以不使用RTOS。该平台很可能是ARM变型(很可能是ARM7或CM3)。

    不太关心将堆栈连接到以太网驱动程序,所以在选择时这不是一个重要的优先事项。

    我对从Linux、RTEMS等操作系统中提取堆栈不太感兴趣。

    我也不感兴趣的商业产品,如Interniche,Micrium等。。。

    这个堆栈不需要各种各样的铃声和口哨,不需要IPv6,而且我也不需要在它上面添加任何东西(web服务器、FTP服务器等等),事实上,我可能只使用UDP,尽管我可以设想一些更可取的TCP方案。

    感谢您的时间和投入。

    8 回复  |  直到 8 年前
        1
  •  17
  •   Tim    15 年前

    我广泛使用了uIP和lwIP。

    • 如果你只想要一些基本的东西,比如引导程序,那就太好了
    • 无DHCP“开箱即用”

    lwIP公司

    • 完全中断驱动速度更快(~x10)
    • 包括带故障转移AutoIP的DHCP
    • UDP多播
    • 还有更多

    编辑:
    我们从来没有用过实时操作系统,因为从来没有必要。

        2
  •  11
  •   ukembedded    15 年前

    +lwIP为1。

    正如您所怀疑的那样,无论有没有RTOS,它都可以工作。在我们的系统上运行一个RTOS大约花了一个星期,其中包括我们必须进行的更改,以支持一个不寻常的DSP编译器。因为您可能在ARM上使用GCC,所以您可以避免任何这种努力。

        3
  •  8
  •   Craig McQueen Dr. Watson    15 年前

    lwIP公司

    我在一个3G调制解调器项目中工作,我们需要在PPP上建立一个UDP/IP协议栈(没有TCP)。我们把范围缩小到uIP和lwIP。我们最终选择了lwIP,因为它已经有了PPP(uIP没有),而且我们有足够的RAM来备用。

    我们的特定项目没有使用RTOS,lwIP在没有RTOS的情况下也可以使用。

    我并没有直接参与到lwIP代码的移植中,尽管我开发了调制解调器驱动程序来与它进行接口。我的印象是,移植花了几个星期,使一切顺利进行,我们的工程师谁以前的TCP/IP经验。后来有人在某个地方对我们进行了一些粗略的修改。我们用一个独立的验证套件进行了测试。

    总而言之,它对于我们的UDP/IP和PPP需求是“合适的功能”(但是我不能评论它的TCP功能)。

        4
  •  3
  •   pfmaggi    15 年前

    +lwIP为1。

    它包含在Luminary Micros(现在的TI)串行到以太网参考设计中,具有一些附加功能(某种“服务器端脚本”和cgi)在裸机上工作(不带rto)。

    当做

    PFM公司

        5
  •  3
  •   Jonathan Engdahl    15 年前

    我对Stellaris Cortex-M3上的lwip很满意。

    用于LM3S6965评估板的StellarisWare包括enet_lwip演示。这是一个运行在lwip上的小型web服务器,它在裸机上运行——在本例中没有FreeRTOS。系统由定时器和以太网中断驱动。它是相当容易撕掉网络服务器和下降到我的应用程序。我不必成为一个lwip专家第一次运行这个。

    后来我意识到我的应用程序本质上是呼叫驱动的。起初,它有一个插座来升级垫圈。我用一个简单得多的层替换了这个层,将lwip本机的upcall转换为应用的upcall,并选择了lwip的socketapi。这节省了更多的flash和RAM空间,使整个过程更快更简单。稍作调整,我让它运行在S2E板上,使用52K闪存和30K RAM。

        6
  •  0
  •   mjh2007    14 年前

    我用过微芯片TCP/IP协议栈。我对它很满意。它非常容易实现,提供了大量的演示代码/教程,并且支持许多协议HTTP、tFTP、SMTP、SNTP等。但与您的需求不匹配的一点是,它不容易移植到另一个架构中。实际上,我认为堆栈的许可证明确禁止这样做,因为Microchip希望您只使用他们的硬件PIC18、PIC24和PIC32来运行堆栈。不过,他们销售的外部以太网控制器允许您将此堆栈的某些部分与他们的ENC28J60一起使用。

        7
  •  0
  •   yaGsd    14 年前

    我在RTOS上使用了interniche。 它是一个成熟的堆栈,支持很多特性。 既然你正在寻找一个非商业版本,我投的是lwIP。

        8
  •  0
  •   ЯegDwight kri    12 年前

    你可以试试开源 FNET TCP/IP stack .