嵌入式 TCP IP 资料汇总

1.前言

最近看了不少嵌入式以太网方面的资料,这里嵌入式指的是AVR或者STM32之类的可以在无操作系统下运行的案例,并不是linux级别的嵌入式以太网协议栈。感觉上嵌入式以太网的资料非常多,但是也显得非常杂乱。我简单的整理一些图书和技术资料,供自己和大家参考一下吧!

2.图书资料

我个人比较喜欢看书,不太喜欢通过网络乱找资料。以太网(嵌入式web)较为复杂涉及的知识点也比较多,没有书或者不看书是万万不可的。毕竟图书资料通过一定的凝练,体系也比较完整。

《嵌入式Internet TCP IP 基础 实现及应用》

这本书正如同书名一样分为三个部分,基础部分讲解的是各种TCP协议栈的基本内容,实现部分讲解如何通过LPC实现以太网的各种协议,例如ARP TCP和UDP。作者有一套自己的编写的协议栈,底层使用CS8900A,采用IAR编译环境,代码实现部分有完整的解释,可以帮助读者了解协议栈如何实现。虽然自己没有动手修改一下,但是还是收获不少。非常值得一读。

3.国外开源项目

国外开源项目有很多,总体来说国外的开源项目喜欢使用AVR单片机,这也是我始终不愿放弃该芯片的原因。国外的资料比较多,创意也比较有趣,让人学的很是开心。国外关于嵌入式以太网的项目有两类,一类是嵌入式通用的以太网协议栈,例如uIP和LwIP,还有一种侧重于Web服务器的实现,例如AVRNET和AVR WebServer。

3.1 AVRNET

该项目于2007年左右完成,现在已经不更新了。采用的芯片为ATmega32,网站中有完整的电路图,可以通过该电路图使用proteus和winpcap在计算机中仿真运行,这样实践起来并不需要通过真实的开发板。学习嵌入式以太网相关内容,感觉和硬件已经没有太大的联系了,但是需要弄清的是ENC28J60的工作原理,这也是AVRNET项目的使用的以太网驱动芯片。AVRNET项目侧重于web方式实现设备控制和状态查询。为了实现web功能,需要学习HTML相关技术,例如表单,输入框,按钮和提交按钮等,必须理解GET方法和POST方法,必须理解HTTP请求和响应格式。当学习完那么多的基础知识之后,其实实现web控制也就是编写HTML文本,然后通过TCP发送HTML文本。

AVRNET项目

国内的许多淘宝店家甩卖的ENC28J60代码可能都出自该项目。硬件电路设计和软件部分设计都是很好的参考资料。

3.2 AVR WebServer

从时间和项目维护的角度来说,AVRNET项目应该也参考了AVR WebServer项目。AVR WebServer文档做的更好,实现的功能也可能更多一点。这个项目还没有认真研究,国内著名的开发板野火开发板就参考了这个项目实现了WEB功能。和AVRNET项目相似,该项目也使用ENC28J60作为以太网驱动。

【2013年10月回顾:Arduino项目关于ENC28J60实现以太网的代码也是参考该项目,不妨一试】

AVR WebServer项目

3.3 uIP和LwIP

uIP和LwIP同出于一人之手,此人是嵌入式以太网中的泰斗。LwIP尚未开始研究,但是uIP却研究了有很长一段时间。uIP实现一个TCP通信算比较方便的,但是由于uIP是一个精简协议栈也使用uIP时存在多种限制。移植这些协议栈需要把握一点,哪些需要修改,而哪些不需要修改。接下来的几篇博文将会谈谈uIP的移植和使用,我想移植说的少一点,应用说的多一点。

【2013年10月回顾:uIP和LwIP均认真移植测试,应该总结一下和大家分享了】

uIP学习笔记LwIP学习笔记——STM32 ENC28J60移植与入门ENC28J60学习笔记

 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值