1、西 南 科 技 大 学工程硕士专业学位论文题 目 基于 ARM 嵌入式系统的 Socket 通信设计 Classified index: TP391.41U.D.C: Southwest universityof the master degree of engineering thesisThe Design of Socket Communicationbased on ARM embedded systemCandidate: Xu PengDepartment:School of Computer Science and TechnologySpeciality:Computer Ap
2、plication TechnologySupervisor 1: Song HuiSupervisor 2: Zhang Ge XiangDate: Nov. 4, 2011学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部
3、门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日声 明本人郑重声明:此处所提交的硕士学位论文基于 ARM 嵌入式系统的 Socket 通信设计 ,是本人在西南科技大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得西南科技大学或其他教育机构的学位或证书而使用过的
4、材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。本学位论文成果是本人在西南科技大学读书期间在导师指导下取得的,论文成果归西南科技大学所有,特此声明。学位论文作者签名: 日 期: 关于学位论文使用授权的说明本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部或部分内容。(涉密的学位论文在解密后遵守此规定)作者
5、签名: 导师签名: ; 日 期: 日 期: ; 西南科技大学工程硕士学位论文 第 I 页摘 要嵌入式系统是计算机技术、半导体技术和电子技术的综合体,已经广泛应用于科学研究、工程设计、国防军事、自动化控制等各个领域。随着网络通讯技术的迅猛发展,生产和生活中广泛要求嵌入式系统终端能够完成网络通讯功能。论文就是以 ARM7 TDMI 为嵌入式开发平台,开发具有网络通信功能的嵌入式终端。SOCKET 是一个通信链的句柄,通过套接字向网络发出请求或者应答网络请求,用于 TCP/IP 协议的应用程序之间的相互通信。论文选择了 ARM 体系结构的嵌入式 LPC2200 处理器,根据系统的需求,在综合各种设计
6、方案的基础上,选择移植带有 TCP/IP 协议的 ucLinux 嵌入式操作系统。裁剪和定制系统后,构建相关的文件系统。在此基础上,编写应用程序,调用系统的 Socket 通信函数,实现服务器端和客户端的通信。描述 IP 地址和端口,用于在两个论文成功的实现了嵌入式设备的网络接入功能,各个带有网络通讯功能的嵌入式终端可以相互通讯,扩大了和提高了嵌入式设备的应用范围,对嵌入式系统的发展有较大的意义。关键词:嵌入式系统;ARM7TDMI;socket;TCP/IP 西南科技大学工程硕士学位论文 第 II 页AbstractThe embedded system is a complex syste
7、m with the computer technology, semiconductor technology and electronic technology .It has been widely used in scientific research, engineering, national defense, automation and other fields. With the rapid development of network communication technology,our production and life requires the terminal
8、 to complete the network communication function in a wide range of embedded systems. The Paper select the ARM7 TDMI for embedded development platform, develop the embedded network communication terminal.Socket is a communication chain handle, and sends network request or response to network requests
9、. It is used to describe the IP address and port for both TCP / IP based protocol to communicate between applications,. The paper select LPC2200 embedded ARM as processor architecture, with the system need, design the integration based on transplantation with TCP / IP protocol ucLinux embedded opera
10、ting system. The paper build related file system.after cutting and custom systems. On this basis, finished an application, and call the system function of Socket Communications, achieve server and client communication.The paper achieved the network access functions of the embedded device, the embedd
11、ed with a network communication terminal can communicate with each other, and expand and improve the application range of embedded devices, and has a greater significance for embedded systems.Key words: Embedded Systems;ARM7TDMI;socket;TCP/IP西南科技大学工程硕士学位论文 第 III 页目 录1 绪论 .11.1 嵌入式系统 .11.2 国内外现状和趋势 .
12、21.3 选题必要性 .31.4 选题的目的和意义 .41.5 课题研究范围及要达到的技术要求 .52 需求分析 .62.1 任务概述 .62.2 系统的需求分析 .62.2.1 系统的功能需求 .62.2.2 系统的性能需求 .62.3 系统设计思路 .63 系统概要设计 .93.1 系统设计的基本原则 .93.2 系统设计方案分析 .93.3 概要设计 .113.3.1 开发环境 .113.3.2 ARM 开发环境的建立 .123.3.3 建立程序运行调试交叉编译环境 .153.4 模块化的设计与分析 .153.4.1 开发板上完成的设计 .153.4.2 PC 机上完成的程序开发 .16
13、3.5 设计基本流程 .164 系统详细设计 .194.1. UCLINUX的移植 .194.1.1 uClinux 嵌入式系统的下载 .194.1.2 根文件系统的建立 .194.1.3 应用程序库 .20西南科技大学工程硕士学位论文 第 IV 页4.2. 内核编译 .204.2.1 uClinux 的安装 .204.2.2 配置 uClinux.214.2.3 构建文件系统 .234.3. PC 机上的程序设计 .264.3.1 嵌入式 TCP /IP 分析 .264.3.2 嵌入式 TCP/IP 设计 .274.4. 编程模型 .284.4.1 TCP 客户端设计 .284.4.2 TC
14、P 服务器端主要代码分析 .304.5. 程序下载到嵌入式硬件平台 .345 系统的实现与测试 .375.1 测试环境和测试的条件 .375.2 功能及数据测试 .385.2.1 容错功能 .385.2.2 连接成功的信息说明 .395.2.3 数据收发功能 .395.3 测试的结果 .41结 论 .42参考文献 .43致 谢 .45西南科技大学工程硕士学位论文 第 1 页1 绪论1.1 嵌入式系统目前,嵌入式系统的应用越来越广泛,我们日常生活中就存在大量的嵌入式系统的产品:比如手机、MP3、收音机、电视机等等,我们已经离不开嵌入式产品了。嵌入式产品是面向应用的,应用的需求推动了嵌入式技术的发
15、展。嵌入式系统的基本技术仍然是计算机技术,包含软件、硬件、操作系统等。嵌入式系统是可裁剪的,根据应用的具体场合和需求,选择相应的模块,把系统中不需要的部分去掉,这样做的主要目的是节约资源,降低功耗。每一个嵌入式产品是不同的,使用不同的硬件和软件,搭建自己的嵌入式操作系统,但是核心技术都是一样的。嵌入式系统主要有以下几个特点:(1)以需求为目标:嵌入式产品没有统一的要求,在开发过程中,它主要是解决用户的需求问题的。比如我们使用的手机产品,用户有各种各样的需求,有的看重的是移动功能,有的看中的是娱乐功能,还有的看中的是导航功能。那么在设计开发过程中,就需要按照不同的需求搭建自己的嵌入式系统。这样做
16、的主要目的是节约资源,让嵌入式芯片发挥更大的作用。(2)运行高效,节约资源:嵌入式系统要求运行速度快,具有很高的执行效率。基于 ARM7TDMI 的嵌入式芯片,在指令设计上使用是精简指令集,执行效率高;使用三级流水技术,大大增强了嵌入式产品的性能 1。(3)较小的体积和可靠性:嵌入式产品一般都要求体积较小,较小的体积,主要是可以满足便携功能。在可靠性方面,要求嵌入式系统的代码执行效率高,系统运行稳定可靠,也别是在工业控制领域。只有做到这一点,嵌入式产品才会有更大的应用空间和应用市场。嵌入系统是一个片上系统,应用空间巨大,在各个方面都可以应用,比如工业控制领域、消费电子、移动通讯等,都得到了广泛
17、的使用。1.2 国内外现状和趋势随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战。西南科技大学工程硕士学位论文 第 2 页(1)嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广 Arm7,Arm9 芯片的同时还提供开发板和版及支持包(BSP),而 WindowCE 在主推系统时也提供
18、Embedded VC+作为开发工具,还有Vxworks 的 Tonado 开发环境,DeltaOS 的 Limda 编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。(2)网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信号处理器 DSP 增强处理能力,同时增加功能接口,如 USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐
19、步实施片上系统(SOC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期 2。(3)网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持 TCP/IP 协议,还有的支持IEEE1394、USB、CAN、Bluetooth 或 IrDA 通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入 Web 浏览器,真正实现随时随
20、地用各种设备上网 3。(4)精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如 Java、Web 和 WAP 等。(5)提供友好的多媒体人机界面嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下