首先不管我用没用源码,都要谢谢楼主的无私分享精神!楼主很专业,也很细致。
本人已经完成了微芯TCP/IP协议栈到STM32xx7的移植,经测试运行效果不错,指标比采用uIP/lwIP都要好很多。这里说几点自己的体会:
(1)很多朋友认为Microchip的TCP/IP协议栈比较“低级”,好像只能单线程裸奔,因此纷纷拜倒在lwIP+xxxOS的方案脚下。这其实是理解错了操作系统和网络协议栈的关系。再说第一,Microchip协议栈也能跑xxOS,第二,跑OS似乎不应是目标,性能好才是目标。我这次的网络音频项目先是采用了lwIP1.4.1+FreeRTOS8.0.0RC2,可是测试下来指标不够好,不是基本指标不好,是尖端指标不好(比如发送性能)。最后我改用"裸奔"的微芯协议栈,才实现了完美运行。原因是什么,因为我把OS消耗性能加到了网络性能上。朋友们不要以为我不懂操作系统,这里想说的是,由于成本压力,我越来越多的设计都必须采用非常紧凑的设计,我突然发现,裸奔的情况我将越来越多面对,你们呢?
(3)很多朋友说lwIP是“经典”,说句实话,我第一次看了源码之后简直不敢相信自己的眼睛,基本上不相信是欧洲人写的,印象是小家子气。写法一律小写而没有匈牙利写法,变量和常量都随意起名,就像是看8086时代的小汇编程序……要我说,是欧洲人睡着时写的!
(2)微芯协议栈最大的优点是什么?我觉得是“想得太周全了”。功能是所有开源协议栈中最强大的,很多朋友说用lwIP也可以,是的,按照OSI模型,只要有TCPIP,你实际上是可以写出一切的,问题是你有这个做车轮的时间吗?而微芯协议栈几乎全带了。所以说,说到这里,我要冒昧地给楼主提个意见:我的意见是微芯协议栈要移就要移全,不然就失去了移植的意义了,还不如用功能可怜的lwIP/uIP。