基于ARM嵌入式的以太网通信程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
目次
1 绪论 (2)
1.1 课题研究背景及意义 (2)
1.2 嵌入式系统的现状和发展趋势 (2)
1.3 嵌入式网络的关键问题 (4)
1.4 本论文的主要工作 (4)
2 ARM嵌入式系统 (6)
2.1 系统开发环境 (6)
2.2 ARM嵌入式硬件平台 (6)
2.3 搭建ARM嵌入式开发环境 (9)
2.4 PC机Linux开发环境的建立 (22)
2.5 本章小结 (22)
3 ARM嵌入式以太网通信的开发 (24)
3.1 OSI网络模型 (24)
3.2 TCP/IP协议栈的基本概念 (24)
3.3 TCP协议基本概念 (25)
3.4 UDP协议 (28)
3.5 本章小结 (29)
4 ARM嵌入式的以太网通信程序设计 (31)
4.1 TCP通信程序设计 (31)
4.2 TCP网络程序设计流程 (33)
4.3 TCP服务器/客户端网络程序的实现 (42)
4.4 UDP通信程序设计 (46)
4.5 UDP服务器/客户端网络程序的实现 (52)
4.6 本章小结 (54)
结论 (55)
致谢 (56)
参考文献 (57)
附录 1 (58)
附录 2 (61)
附录 3 (64)
1 绪论
随着信息技术的迅猛发展,在我们的生活工作中,对于网络通信的要求逐年增高,且随着移动互联网络的发展与需求,嵌入式系统与通信网络,日日夜夜伴随着我们。嵌入式系统与网络技术融合已经是必然的发展趋势,当嵌入式设备具有网络功能时,人们可以在任何地方、任何时间、任何平台随时浏览设备的信息,并进行操作和测试。这是在嵌入式系统在其网络性和开放性的发展趋势。
1.1 课题研究背景及意义
如今,我们的生活与工作中已经无法离开网络。人们进行信息的传送和交流,之所可以实时且效地,恰是因为有“信息高速公路”,而“信息高速公路”的重要支撑网就是以太网[1]。“以太(Ether)”这个词,是来源自十九世纪的物理学家们假设出的某种媒介,用以传播电磁波的辐射。在下,他们认为“以太”充斥于世界各处,因此,到后来将“以太”这个假说引入到计算机局域网中,从而用来表现它在通信领域也是无处不在,就像“以太”充斥于世界中那样普遍存在。以太网可以方便的接入网络,以太网使用的通信协议也因为适用性,有着十分优异的兼容性。
当前,在嵌入式系统接入因特网的所有技术中,被使用最多的局域网通信技术即是以太网通信。通过以太网可以十分方便地搭建局域网,因而能与因特网链接。嵌入式系统的开发与设计有了前所未有的空间与机遇,对于嵌入式系统的发展应用,任何时候都有机会跨入嵌入式以太网时代,这些都是需要两者技术上的完美融合。
只要完成了嵌入式系统与以太网的链接,使嵌入式系统发展成为以太网中单独的一个节点,用户在节点可以通过网络,便捷且低代价地进行数据传输。所以为了实现整个系统的数据的传输功能,而在嵌入式系统与以太网链接的方法上做相应的研究,是具有十分重要的经济价值和现实意义的。
在这种背景下,本文对基于ARM的以太网通信的这一问题,进行研究与应用,具有充分的实际意义。
1.2 嵌入式系统的现状和发展趋势
几乎电子设备所有新的生机都与嵌入式系统的发展关系紧密,在电子通信、医疗卫生、轻工业产品、监控安防、消费类电子、工业自动化系统等行业都有重要的嵌入式相关产品。尤其是在消费电子相关产业,占有最高的嵌入式系统的产品的市场比重,监控安防、电子通信、医疗卫生以及其他领域紧随其后。
近十几年来,嵌入式系统得到了根本性的发展。微处理器、微控制器大量在产品中使用,CPU 也从当初8 位的单片机发展到现在的16位、32位甚至64 位的高端微处理器;从仅具备单一内核发展到提供丰富外设及接口功能;从几兆的频率发展到现在几百兆甚至1~2G 的处理速度。伴随着CPU性能的不断攀升,嵌人式系统也具备了文件系统、网络系统、图形界面系统等功能,并形成了以嵌入式操作系统为核心的嵌入式软件体系。跟随应用程度的不断加深扩大的嵌入式系统,全新领域应用以及商品化的需求在嵌入式系统软硬件上面表现出了更高的需求。嵌入式系统不仅仅具有微小性、低功耗、高可靠性的特点,还要向高实时性、高自适应性、易于操作和棋块化的方向发展[2]。总的说来,嵌入式系统在以下几个方面将会有更大的发展:
1. 嵌入式操作系统:
嵌入式系统刚刚发展的时候,软件系统还是前后台方式的系统开发,这种开发方式也被大多数人比喻为“裸奔”。前后台方式下的软件系统的实时性差、功能单一、代码不易于维护等缺点越来越不适应嵌入式系统的高速发展,为此嵌入式操作系统被引人。嵌入式操作系统的使用能够更加丰富嵌人式系统的功能,使得产品更加稳定可靠,多任务并发的处理方式也让系统的实时性要求得到满足,模块化的编程方式让产品的可定制性进一步增强。当前普遍使用的嵌入式的操作系统有Windows CE、μC/OS-II、Linux、VxWorks等。
这些嵌入式操作系统中当属Linux具有最高的人气和应用潜力,原因是其源代码公开且具有很好的定制性和可利用性,支持硬件广泛、安全可靠、拥有众多的开发者,另外有一重要原由便是产品生产商们在研发基于Linux系统的相关产品时,通常不必为发行软件或者生产产品而支付Linux的许可费用。目前广泛应用在手机、PAD等消费电子产品上的安卓操作系统,便是由Linux的内核所开发出来的。由此可见嵌入式操作系统,特别是嵌入式Linux系统应用潜力巨大。
2.网络互连:
网络技术已经深入到我们生活和工业生产的各个领域,由互联网引发的物联网技术正在快速发展中,网络也使得人与人、设备与设备之间的联系更加紧密,嵌人式设备为了适应网络技术的发展,必然要求在硬件上提供各种网络通信接口。传统单片机的系统对于网络连接有很大欠缺,然而现在的嵌入式处理器,却拥有了内置的网络端口,不仅拥有对TCP/IP协议的支持外,对于USB、总线、IEEE1394、蓝牙、或红外通信接口的支持,拥有上述通信接口中的一项或者多项,而且还对物理层提供其驱动的