随着物联网的越来越火,嵌入式工程师需要更多的网络知识,其中TCP/IP协议栈是我们经常要用到的,在公众号里曾给大家介绍过开源的Uip和LwIP协议栈,并在freeRTOS下移植过,其中这两款协议栈的比较也介绍过,从下表就可以看出。
对这两种协议栈的学习和移植可以参考之前公众号文章
其实freeRTOS本身也有TCP/IP协议栈也是开源的,基于伯克利套接字,只是这个是后来集成进的,所以freeRTOS源码包里很多的例程都是基于uip和LwIP的,今天我们就来看看freeRTOS官方的TCP/IP协议栈
源码包可以从freeRTOS官网下载,下载后在freeRTOS-Plus文件夹下可以看到源码
可以看到,包含DHCP,DNS,UDP,TCP,ARP,等,还有好几个例程,可以学习。
源码目录结构,在重复一次,学任何源码,了解清楚源码目录结构都是很重要的,freeRTOSTCP/IP协议栈源码目录结构如下。
支持的协议如下
特性
源文件大小
可以看到这个比Uip的源码还是大不少,但比Uip功能强大多了。这些协议栈,有兴趣有时间的可以仔细研究下源码,如果只是应用就知道怎么移植使用就可以。究竟在实际的项目中选用哪种协议栈,根据你的需求定,在一些简单低端的需要网络功能的场合uIP就可以满足,在需要更复杂的场合可以考虑另两种。
我们会在K64上移植,并有移植视频,欢迎大家支持。