基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc

上传人:小小飞 文档编号:3919770 上传时间:2019-10-10 格式:DOC 页数:53 大小:1.16MB
返回 下载 相关 举报
基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc_第1页
第1页 / 共53页
基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc_第2页
第2页 / 共53页
基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc_第3页
第3页 / 共53页
基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc_第4页
第4页 / 共53页
基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc》由会员分享,可在线阅读,更多相关《基于ARM嵌入式系统的Socket通信设计硕士学位论文.doc(53页珍藏版)》请在三一文库上搜索。

1、西 南 科 技 大 学 工程硕士专业学位论文 题 目 基于 ARM 嵌入式系统的 Socket 通信设计 Classified index: TP391.41 U.D.C: Southwest university of the master degree of engineering thesis The Design of Socket Communication based on ARM embedded system Candidate: Xu Peng Department:School of Computer Science and Technology Speciality:Co

2、mputer Application Technology Supervisor 1: Song Hui Supervisor 2: Zhang Ge Xiang Date: Nov. 4, 2011 学位学位论论文原文原创创性声明性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究 所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包 含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做 出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识 到本声明的法律后果由本人承担。 作者签名: 日期: 年 月 日 学位学位论论文版文版权权使用授使用授权书权书

3、本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅和借阅。本人授权 大学可以将本学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期: 年 月 日 导师签名: 日期: 年 月 日 声 明 本人郑重声明:此处所提交的硕士学位论文基于 ARM 嵌入式系统的 Socket 通信设计 , 是本人在西南科技大学攻读硕士学位期间,在导师指导下进行的研究工作和取得的研究成果。 据本人所知,除了文中特别加以标注和致谢之处外,论文中

4、不包含其他人已经发表或撰写过 的研究成果,也不包含为获得西南科技大学或其他教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 本学位论文成果是本人在西南科技大学读书期间在导师指导下取得的,论文成果归西南科技 大学所有,特此声明。 学位论文作者签名: 日 期: 关于学位论文使用授权的说明 本人完全了解西南科技大学有关保留、使用学位论文的规定,即:学校有权保管、并 向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制 并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为目的,复制 赠送和交换

5、学位论文;同意学校可以用不同方式在不同媒体上发表、传播学位论文的全部 或部分内容。 (涉密的学位论文在解密后遵守此规定涉密的学位论文在解密后遵守此规定) 作者签名: 导师签名: ; 日 期: 日 期: ; 西南科技大学工程硕士学位论文 第 I 页 摘 要 嵌入式系统是计算机技术、半导体技术和电子技术的综合体,已 经广泛应用于科学研究、工程设计、国防军事、自动化控制等各个领 域。随着网络通讯技术的迅猛发展,生产和生活中广泛要求嵌入式系 统终端能够完成网络通讯功能。论文就是以 ARM7 TDMI 为嵌入式开发 平台,开发具有网络通信功能的嵌入式终端。 SOCKET 是一个通信链的句柄,通过套接字向

6、网络发出请求或者应 答网络请求,用于 TCP/IP 协议的应用程序之间的相互通信。论文选 择了 ARM 体系结构的嵌入式 LPC2200 处理器,根据系统的需求,在综 合各种设计方案的基础上,选择移植带有 TCP/IP 协议的 ucLinux 嵌 入式操作系统。裁剪和定制系统后,构建相关的文件系统。在此基础 上,编写应用程序,调用系统的 Socket 通信函数,实现服务器端和 客户端的通信。描述 IP 地址和端口,用于在两个 论文成功的实现了嵌入式设备的网络接入功能,各个带有网络通 讯功能的嵌入式终端可以相互通讯,扩大了和提高了嵌入式设备的应 用范围,对嵌入式系统的发展有较大的意义。 关键词:

7、嵌入式系统;ARM7TDMI;socket;TCP/IP 西南科技大学工程硕士学位论文 第 II 页 Abstract The embedded system is a complex system 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 r

8、apid development of network communication technology,our production and life requires the terminal 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

9、. Socket is a communication chain handle, and sends network request or response to network requests. 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

10、need, design the integration based on transplantation with TCP / IP protocol ucLinux embedded operating 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 clie

11、nt communication. The paper achieved the network access functions of the embedded device, the embedded 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 wor

12、ds: Embedded Systems;ARM7TDMI;socket;TCP/IP 西南科技大学工程硕士学位论文 第 III 页 目 录 1绪论绪论.1 1.1嵌入式系统.1 1.2国内外现状和趋势 .2 1.3选题必要性.3 1.4选题的目的和意义 .4 1.5课题研究范围及要达到的技术要求5 2需求分析需求分析6 2.1任务概述.6 2.2系统的需求分析 .6 2.2.1系统的功能需求.6 2.2.2系统的性能需求.6 2.3系统设计思路 .6 3系统概要设计系统概要设计 9 3.1系统设计的基本原则 .9 3.2系统设计方案分析 .9 3.3概要设计.11 3.3.1开发环境.11

13、3.3.2ARM 开发环境的建立12 3.3.3建立程序运行调试交叉编译环境 .15 3.4模块化的设计与分析 .15 3.4.1开发板上完成的设计.15 3.4.2PC 机上完成的程序开发16 3.5设计基本流程 .16 4系统详细设计系统详细设计 19 4.1.UCLINUX的移植.19 4.1.1uClinux 嵌入式系统的下载19 4.1.2根文件系统的建立.19 4.1.3应用程序库.20 西南科技大学工程硕士学位论文 第 IV 页 4.2.内核编译.20 4.2.1uClinux 的安装20 4.2.2配置 uClinux21 4.2.3构建文件系统.23 4.3.PC 机上的程序

14、设计 26 4.3.1嵌入式 TCP /IP 分析.26 4.3.2嵌入式 TCP/IP 设计.27 4.4.编程模型.28 4.4.1TCP 客户端设计28 4.4.2TCP 服务器端主要代码分析30 4.5.程序下载到嵌入式硬件平台34 5系统的实现与测试系统的实现与测试.37 5.1测试环境和测试的条件 .37 5.2功能及数据测试 .38 5.2.1容错功能.38 5.2.2连接成功的信息说明.39 5.2.3数据收发功能.39 5.3测试的结果.41 结结 论论 .42 参考文献参考文献43 致致 谢谢 .45 西南科技大学工程硕士学位论文 第 1 页 1 绪论 1.1嵌入式系统 目

15、前,嵌入式系统的应用越来越广泛,我们日常生活中就存在大量的嵌入式 系统的产品:比如手机、MP3、收音机、电视机等等,我们已经离不开嵌入式产 品了。嵌入式产品是面向应用的,应用的需求推动了嵌入式技术的发展。 嵌入式系统的基本技术仍然是计算机技术,包含软件、硬件、操作系统等。 嵌入式系统是可裁剪的,根据应用的具体场合和需求,选择相应的模块,把系统 中不需要的部分去掉,这样做的主要目的是节约资源,降低功耗。每一个嵌入式 产品是不同的,使用不同的硬件和软件,搭建自己的嵌入式操作系统,但是核心 技术都是一样的。嵌入式系统主要有以下几个特点: (1)以需求为目标:嵌入式产品没有统一的要求,在开发过程中,它

16、主要 是解决用户的需求问题的。比如我们使用的手机产品,用户有各种各样的需求, 有的看重的是移动功能,有的看中的是娱乐功能,还有的看中的是导航功能。那 么在设计开发过程中,就需要按照不同的需求搭建自己的嵌入式系统。这样做的 主要目的是节约资源,让嵌入式芯片发挥更大的作用。 (2)运行高效,节约资源:嵌入式系统要求运行速度快,具有很高的执行 效率。基于 ARM7TDMI 的嵌入式芯片,在指令设计上使用是精简指令集,执行效 率高;使用三级流水技术,大大增强了嵌入式产品的性能1。 (3)较小的体积和可靠性:嵌入式产品一般都要求体积较小,较小的体积, 主要是可以满足便携功能。在可靠性方面,要求嵌入式系统

17、的代码执行效率高, 系统运行稳定可靠,也别是在工业控制领域。只有做到这一点,嵌入式产品才会 有更大的应用空间和应用市场。嵌入系统是一个片上系统,应用空间巨大,在各 个方面都可以应用,比如工业控制领域、消费电子、移动通讯等,都得到了广泛 的使用。 1.2国内外现状和趋势 随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发 展空间。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式 市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战。 西南科技大学工程硕士学位论文 第 2 页 (1)嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入 式软硬件系统本身,

18、同时还需要提供强大的硬件开发工具和软件包支持。 目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作 为重点推广。比如三星在推广 Arm7,Arm9 芯片的同时还提供开发板和版及支持 包(BSP),而 WindowCE 在主推系统时也提供 Embedded VC+作为开发工具,还有 Vxworks 的 Tonado 开发环境,DeltaOS 的 Limda 编译环境等等都是这一趋势的典 型体现。当然,这也是市场竞争的结果。 (2)网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高, 使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更 加复杂。这就要求

19、芯片设计厂商在芯片上集成更多的功能,为了满足应用功能的 升级,设计师们一方面采用更强大的嵌入式处理器如 32 位、64 位 RISC 芯片或信 号处理器 DSP 增强处理能力,同时增加功能接口,如 USB,扩展总线类型,如 CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。软件 方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用 程序设计、保障软件质量和缩短开发周期2。 (3)网络互联成为必然趋势。 未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络 通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始 内嵌网络

20、接口,除了支持 TCP/IP 协议,还有的支持 IEEE1394、USB、CAN、Bluetooth 或 IrDA 通信接口中的一种或者几种,同时也需 要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统系统内核支持 网络模块,甚至可以在设备上嵌入 Web 浏览器,真正实现随时随地用各种设备上 网3。 (4)精简系统内核、算法,降低功耗和软硬件成本。 未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设 计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源 实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化 编译器性能。因此,既要软件人

21、员有丰富的硬件知识,又需要发展先进嵌入式软 件技术,如 Java、Web 和 WAP 等。 (5)提供友好的多媒体人机界面 嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户 界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的 老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下 西南科技大学工程硕士学位论文 第 3 页 苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使 使用者获得自由的感受。目前一些先进的 PDA 在显示屏幕上已实现汉字写入、短 消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。 1.3选

22、题必要性 当前,计算机技术和微电子技术发展迅猛,特别是纳米技术取得了重大进展, 嵌入式芯片的设计和开发也越来越迅速。对嵌入式芯片的运行速度要求越来越快, 存贮器也越来越大,这大大推进了嵌入式技术的发展,嵌入式系统在一定的程度 上推进了现代生活的提高和改善。 在网络通讯方面,嵌入式系统的发展增强了网络的智能化与灵活性,从而实 现各种通信系统之间的互联互通。互联网是我们日常办公生活中最常用的网络, 很方便的把我们相互连接。目前,互联网已经开始普及,包括广大的农村,网络 成为了我们生活的一部分。由于嵌入式系统低功耗、面向应用等特点,在网络通 讯方面得到了广泛的应用。我们使用的移动设备,基本上都是基于

23、嵌入式系统设 计开发的。 嵌入式系统是指将应用程序、操作系统与计算机硬件集成在一起的系统。它 以应用为中心、以计算机技术为基础,而且软硬件可以裁剪,因而能满足应用系 统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统。嵌入式系 统与通信、网络技术的结合可以极大地增强网络的智能化与灵活性,拓展通信功 能,从而实现各种通信系统之间的互联互通4。 1.4选题的目的和意义 传统的数据传输和通讯,需要铺设专用的介质和电缆。通过前端的传感器采 集数据信息,并通过相关的通讯协议进行数据传输。比如我们经常使用的 CAN,485 总线等。这些总线和协议需要自己定制,硬件设备需要自己设计开发, 面向的对

24、象不同,解决的设计问题不同,主要面向专业设计开发,由于技术上的 门槛,普通人员很难理解和使用。 以太网是使用最为广泛的网络,由于标准的统一,硬件的支持和配套,普通 人员也可以使用,是信息交流和流通的重要渠道。因此,基于嵌入式系统,设计 开发网络应用产品具有重要的意思。 (1)嵌入式网络为终端设备网络化提供了保障 如果将我们所有的终端设备进行网络连接,可以方便有效地进行信息沟通和 数据共享,同时也为管理者提供了一种有效的管理方式。移动办公设备很方便的 西南科技大学工程硕士学位论文 第 4 页 将我们连接在一起,无论何时何地,增强了我们的相互沟通。 (2)嵌入式网络技术为工业控制领域设备的发展提供

25、动力 基于嵌入式系统的网络技术,随着嵌入式技术的迅猛发展,也得到了广泛的 应用。我们现在使用的手机设备,无论我们在天涯海角,都可以随时尽心交流和 沟通;家庭经常使用的网络电视,可以方便的下载和点播节目;网络课堂更是把 我们组织在一起学习,提高我们的能力好和水平;网络会议可以让我们处在不同 地域的人组织在一起讨论和解决问题,节约费用。当然,还有经常使用的 B2B 网 上购物、远程会诊等等。真不敢相信,离开了网络,我们的生活会是怎么样。 在工业控制方面,嵌入式网络可以有效可靠地进行远程控制和操作,通过网 络通讯模块进行协议的转换,各个控制对象可以独立为嵌入式网络的一个终端, 这种控制可以做到有效、

26、可靠和实时。 (3)嵌入式网络为家庭生活的智能化提供了技术支持 现在的家庭都已经离不开网络。通过网络,可以进行远程的家庭监控,我们 经常使用的家用电器。我们可以把家庭的所有设备联网,组成一个家庭智能中心, 可以很方便的通过网络进行控制。这种网络的设计和开发基本都是基于嵌入式技 术的。 基于嵌入式系统的网络通讯,一般具有以下功能: (1)嵌入式网络以 Internet 网络为基础,通过协议的转换,把相关的信息 传输到目的地,大大节约了资源; (2)TCP/I P 协议是一个标准公开的协议,不做任何改变,我们就可以利用 Web 浏览器读取信息,非常的方便快捷; (3)客户机根据信息的需求状况,获得

27、相关的信息,并且能够自由的处理, 并能够显示处理结果; (4)信息的显示有多种方式,通过计算机技术处理成文字、图象、表格等 形式,并且还能够实时的自动更新,在设备的终端上最好相关记录,更加方便有 效的进行控制和操作5。 1.5课题研究范围及要达到的技术要求 课题是基于 ARM 的嵌入式 socket 通信设计,研究的范围包含:ARM 上 uClinux 操作系统的移植、Linux 下 socket 通信的建立、交叉编译环境下嵌入式 socket 通信的实现等。课题设计后应该实现在特定的 ARM7 平台上运行嵌入式 uClinux 操作系统,顺利的驱动网络设备运行,完成在 ARM7 开发板和 P

28、C 机的通 信,方便的进行数据收发。 西南科技大学工程硕士学位论文 第 5 页 将嵌入式系统与网络结合起来,主要的困难在于网络上的各种通讯协议对于 计算机的存储器,运算速度等的要求比较高,而嵌入式系统中除部分 32 位微处 理器外,大量存在的是 8 位和 16 位的微处理器,如果要支持 TCP/IP 等 Internet 协议将占用大量系统资源,或根本不可能实现6。因此,设计中要解决以下问题: (1)如果要移植操作系统,选择什么操作系统,才最适合; (2)如何使开发板驱动网络芯片工作; (3)如何建立交叉的编译环境; (4)如何使 ARM 芯片上具有 TCP/IP 协议的网络环境; (5)如何

29、用 Socket 来建立网络的通信。 2 需求分析 2.1任务概述 论文的主要工作,是选择适当的嵌入式开发平台和文件系统,建立交叉的编 译环境,构建 TCP/IP 网络体系,实现客户端和服务器端的 socket 通信。 2.2系统的需求分析 2.2.1 系统的功能需求 嵌入式系统设备能快速的接入网络,实现网络资源的共享和网络设备的通信, 首先应该保证嵌入式设备具有完整的网络协议体系结构,满足网络设备的技术规 范,能够正确控制嵌入式平台上的网络芯片,可以完整的接收和发送数据。嵌入 式设备还具有网络设备标识,也就是嵌入式设备有自己唯一的 IP 地址,只有这 样,才能完成 Internet 上网络设

30、备之间的通信。 2.2.2 系统的性能需求 在系统的设计上,要求系统具有以下性能: (1)实时性:嵌入式设备具有足够的反映速度,能快速的接收来自网络设备 西南科技大学工程硕士学位论文 第 6 页 数据,并作出快速的反应; (2)稳定性:系统在异常情况下不发生死循环,设备系统不会崩溃和瘫痪; (3)可扩充性:系统可以根据需要进行扩充,能够新的通信技术或新的通讯 协议方案(程序) ,可以在不改动系统大部分硬件的情况下,其实现新的功能; (4)易维护性:在设备发生数据灾难的时候使系统及时的恢复,达到以前的 状态; (5)持久性:嵌入式系统工作的特殊性,以及各种特定工作环境的具体要求, 系统必须能够稳

31、定地长时间工作,适应各种不同的工作环境。 2.3系统设计思路 系统的设计开发,宿主机采用的是任意发行版本的 Linux 系统,但程序是采 用标准 C 语言来编写,可以在不同的 Linux 系统中实现通信功能。考虑到在 ARM 开发板上需要运行特定格式的程序文件,所以设计采用 Linux 下的 gcc 开发工具, 使用 arm-elf-tools 交叉编译工具生成在 ARM 开发板上的可以直接运行的程序。 由于嵌入式开发要结合软件和硬件的详细情况来操作,所以系统的开发应该 具有以下的几种操作接口,第一用户可以通过以 RJ45 的以太网对开发板和系统 操作,其次用户可以采用串口的方式对开发板的功能

32、和运行效果进行操作,最后 操作人员还可以通过开发板特有的 JTAG 对开发板进行操作。 系统分为宿主部分和开发板部分,每个部分独立成块,用网络相互连接,宿 主机上运行的 Linux 操作系统,开发板上运行的是 uClinux 嵌入式操作系统7。 宿主机和开发板通过 Switch 交换机进行网络通信,宿主机一方作为服务器端, 开发板作为客户端,系统的原理如下图 2.1 所示。 西南科技大学工程硕士学位论文 第 7 页 图 2.1 系统设计环境关系图 系统的设计目标是完成宿主机和开发板的网络通信实现。要完成通信,就要 完成系统底层硬件的驱动等一系列的工作,首先启动宿主机和客户机的操作系统 Linu

33、x 和 uClinux,然后每个模块加载网络设备驱动程序,最后通过 TCP/IP 协议 建立双方的通信链路,完成 Socket 通信,详细情况如图 2.2 所示8。 西南科技大学工程硕士学位论文 第 8 页 图 2.2 系统的原理示意图 3 系统概要设计 3.1系统设计的基本原则 无论采用什么设计开发方式,最终的目的是驱动开发板完成网络的通信。设 西南科技大学工程硕士学位论文 第 9 页 计过程中,首先开发板的网络芯片能够正常工作,其次要完成通信就必须要有完 善的通信的协议,根据系统的要求选择合适的协议9。目前,Internet 上用应用 最多相对开放的协议就是 TCP/IP 协议,它能使不同

34、网络设备以及不同类型的网 络按照标准协议互相连接,轻松的实现上层的通信。在此基础上,设计上层通信 模块,通过调用 socket 函数来实现各种功能,包括数据的接收和发送,数据的 校验等等10。 3.2系统设计方案分析 采用 TCP/IP 协议已经确定了,如何在开发板上移植入 TCP/IP 协议成了一个 最主要的解决问题,开发板上虽然有网络通信芯片和足够的存储空间,但没有任 何的网络通信协议,有以下几种方案可以实现系统的要求,具体的设计方案是: (1)方案 1 无操作系统,自己构建 TCP/IP 协议族,编写上层 socket 通信模块完成程序 的通信。 (2)方案 2 包含操作系统,其中又分为

35、带 TCP/IP 协议族的操作系统和不带 TCP/IP 协议 族的操作系统11。 带 TCP/IP 协议族的 Linux 或者 uClinux 操作系统,不需要自己构建 TCP/IP 协议族可以直接调用底层的函数,驱动上层模块完成 socket 通信12。 不带 TCP/IP 协议族的 uCOS-II 操作系统,自己构建 TCP/IP 协议族,编写上 层 socket 通信模块完成程序的通信。 在选择什么样的操作系统这个问题上,主要归结于嵌入式系统的性能,主要 有以下几点13-15: (1)微处理器是否支持 微处理器是否支持是选用操作系统的核心因素。从应用的角度来说,选用一 种稳定可靠的微处理

36、器是设计成功的关键。 (2)资源占用情况的多少 嵌入式系统的资源是有限的,资源占用是另外一个重要的指标。通常所说的 资源主要是嵌入式芯片的内存和 Flash。处于成本和体积等各方面的考虑,要求 操作系统尽可能节约资源。 (3)应用软件资源 嵌入式操作系统在应用过程中需要多方软件支持,包括协议栈、设备驱动以 及一些应用程序,在设计过程中,可以方便的应用这些软件,或者只需要很少的 西南科技大学工程硕士学位论文 第 10 页 改动就可以适用于新的平台。 (4)操作系统性能 操作系统的可靠性通常无法在用户程序或者函数库层次得到增强。操作系统 的稳定性在操作系统设计之初,就已经由系统的设计构想和编码质量

37、决定了。嵌 入式系统可靠性要求要比一般桌面系统要高,设计中有可能无法确定出现的问题 是程序的问题还是操作系统的性能问题。 (5)执行效率 执行效率是另一个评价基准。操作系统的执行效率可能直接影响操作系统的 处理能力,还有一个重要的指标是这个操作系统的实时性到底如何。操作系统选 择不正确,有可能导致系统根本无法运行。 通过对 uClinux 和 Linux 的详细比较,因为 uClinux 和 Linux 具有同样的内 核,所以在处理器的支持,软件资源丰富程度,操作系统的功能,操作系统执行 性能和可靠性上基本上一致,Linux 相对于 uClinux 在嵌入式应用相对不足,主 要体现在以下几点1

38、6: (1)空间占用大 Linux 操作系统功能完善,但是占用空间大。通常的 Linux 系统,都需要占 用上百兆的空间。嵌入式 Linux 也要占用 1M 空间,运行时更需要超过 4M 的内存 空间,因此对于存贮空间不足的嵌入式系统,资源的要求没有办法满足。 uClinux 系统一般采用 Romfs 文件系统,这种文件系统相对简单、占用空间 较少。主要是由于内核支持 Romfs 文件系统比支持 ext2 文件系统需要更少的代 码,还有就是 romfs 文件系统相对简单,在建立文件系统超级块需要更少的存储 空间。 (2)操作系统的实时性 实时系统是指一个系统在执行时能够对外部、异步发生的事务,

39、于一定的时 间采取响应 17,当一个优先等级高的进程能够获得系统立即的、没有延迟的服 务而不需要等候任何进程,而且在它夺取到 CPU 的使用权后,它可以一直执行到 工作结束或是有更高等级的进程出现为止。因此,高效的中断处理能力与高速的 输入输出能力是实时系统所必备的基本特征。 Linux 和 uClinux 本身并不支持实时性应用,但是设计时候,对 ucLinux 可 以进行实时性的修改,提供基于内核空间和用户空间的硬实时和软实时的系统调 用。 (3)内存管理 Linux 系统带有 MMU 内存管理单元,具有相应的内存管理机制。在 ARM7TDMI 西南科技大学工程硕士学位论文 第 11 页

40、嵌入式处理器没有 MMU 模块。而 uClinux 是专门针对没有 MMU 的处理器而设计的。 uClinux 管理内存的方法是采用实存储器管理,通过地址总线对物理内存进行直 接访问,程序中访问的地址都是实际的物理地址,所有的进程都在一个运行空间 中运行。系统在启动时把实际存储器进行分页,在加载应用程序时程序分页加载 18。 缺少 MMU 单元,对于系统及应用程序开发带来一定的限制,但对于成本和体 积敏感的嵌入式设备,由于应用环境和应用需求并不要求复杂和相对昂贵的硬件 体系,内存的分配和管理完全可以由开发人员解决。 通过更深入的分析,uClinux 比 Linux 有更多的优势,本次设计采用的

41、是 SmartARM 开发平台,主要的处理器为 ARM7TDMI,所以在应用于嵌入式设备的时 候,有一些不合适的因素(主要集中在资源消耗太大以及内存管理方面),所以最 终选用了 uClinux 作为嵌入式操作系统进行应用程序的开发。 3.3概要设计 3.3.1 开发环境 课题最终选择带 TCP/IP 协议族的 uClinux 操作系统来完成项目的设计,所 以要针对 uClinux 上程序的开发配置特定的 PC 机环境。 嵌入式系统主要是面向应用的,是一个片上系统,因此它的体积是很小的, 包括它的 RAM 和 ROM 都是有限的,这就决定了嵌入式系统的调试不能直接在嵌入 式系统上调试,而要采取一

42、种交叉编译环境的方式,也就是“目标机和宿主机” 交叉编译的方式,如图 4.1 所示19。 图 3.1 uClinux 的交叉编译环境 西南科技大学工程硕士学位论文 第 12 页 目标机主要用于运行操作系统和系统应用软件,而操作系统的内核编译、应 用程序的开发和调试则需要通过宿主 PC 机来完成。双方之间通过串口进行通讯 。目标机运行 uClinux 系统,并在系统上运行嵌入式应用软件。运行操作系统时 ,首先要将定制的操作系统进行编译,这是一个繁琐复杂的过程,编译通过后, 进行应用程序的设计开发。上面已经提到,嵌入式系统由于资源有限,这些工作 的安装调试需要在目标机进行,调试完成后下载到宿主机中

43、,这也可能是一个多 次重复反复进行的工作。目标机需要安装 LINUX 系统,为了在 Windows 下开发嵌 入式操作系统应用程序,可以在 Windows 环境下装上 Cygwin 软件。 建立 PC 上的开发环境应在宿主机上安装标准 Linux 操作系统,推荐使用 RedHat Linux,一定要确保计算机的网卡驱动、网络通讯配置正常。 3.3.2 ARM 开发环境的建立 1991 年 ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采 用 ARM 技术知识产权(IP)核的微处理器,即人们通常所说的 ARM 微处理器,已 遍及工业控制、消费类电子产品、通信系统、网络系统、无线系

44、统等各类产品市 场,基于 ARM 技术的微处理器应用约占据了 32 位 RISC 微处理器 75以上的市场 份额,ARM 技术正在逐步渗入到人们生活的各个方面。 ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司,作为知识产权供应 商,本身不直接从事芯片生产,靠转让设计许可由合作公司生产各具特色的芯片, 世界各大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核,根据各自不同 的应用领域,加入适当的外围电路,从而形成自己的 ARM 微处理器芯片进入市场。 采用 RISC 架构的 ARM 微处理器一般具有如下特点: (1)体积小、低功耗、低成本、高性能; (2)支持 Thum

45、b(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位 器件; (3)大量使用寄存器,指令执行速度更快; (4)大多数数据操作都在寄存器中完成; (5)寻址方式灵活简单,执行效率高; (6)指令长度固定。 ARM7TDMI 具有 32 位 ARM 指令集和 16 位 Thumb 指令集。ARM 指令集效率高, 但是代码密度高。Thumb 指令集具有较高的代码密度,却仍然保持着 ARM 大多数 西南科技大学工程硕士学位论文 第 13 页 性能上的优势,它是 ARM 的子集。所有的 ARM 置零都是可以条件执行的,而 Thumb 置零仅有一条指令具备条件执行的功能。 ARM 和

46、 Thumb 程序可以相互调用,相互之间状态切换开销几乎为零。寻址方 式是根据指令中给出的地址码字段来实现寻找真实操作数地址的方式。ARM 处理 器具有 9 种基本寻址方式: (1)寄存器寻址; (2)立即寻址; (3)寄存器移位寻址; (4)寄存器间接寻址; (5)基址寻址; (6)多寄存器寻址; (7)堆栈寻址; (8)块拷贝寻址; (9)相对寻址。 设计采用 SmartARM2200 开发板,使用 NXP 公司的 LPC2210 微处 理器。LPC2210 基于 ARM7TDMI 内核,系统时钟频率达 60 MHz,总线对外开放, 宽度可配置为 81632 位。同时还扩展了 RTL801

47、9AS(10 Mbs)以太网控制器。 西南科技大学工程硕士学位论文 第 14 页 图 3.2 SmartARM 开发板 论文的设计以 SmartARM 进行,如图 3.2 所示。所以对开发板上要做的操作 是接上 JTAG,串口,网络线,并且 BOOTSET 设置为 outside,设置 Bank0 为 FLASH,Bank1 设置为 RAM,接通应用的模块的跳线,然后把已经编译成功的系 统内核文件系统烧入到开发板上,成功建立开发环境后,并启动开发板上的 uClinux 操作系统,如图 3.3 所示: 西南科技大学工程硕士学位论文 第 15 页 图 3.3 开发板上成功启动 uClinux 3.

48、3.3 建立程序运行调试交叉编译环境 由于 uClinux 及它的相关开发工具集大多都是来自自由软件组织的开放源代 码,这些软件都是共享在网络上的,因此,在建立开发环境的时候,直接找到相 关的网络地址进行下载,接下来就可以建立交叉开发环境。 从网站 http:/www.uClinux.org 上下载最新的 arm-elf-gcc 工具,即脚 本文件 arm-elf-tools-20040427.sh,在宿主机上安装该工具链,在该文件所在 目录下,键入一下指令: #ls-l arm-elf-tools-20040427.sh 等待指令的执行,完成后在路径:/usr/local/bin/下有:gc

49、c, arm-elf- gcc,binudls, genromfs,flthdr 和 elflflt 等各种应用工具。 3.4模块化的设计与分析 3.4.1 开发板上完成的设计 从项目的整体出发,开发板上应完成的工作包括,移植 uClinux 到 SmartARM2200 开发板,移植过程中应配置 uClinux,其中包含大部分系统配置, 如:Non-standard serial port suppor(非标准串口支持) 、ftp(文件传输协议) 、 http(超文本传输协议) 、telnet(远程登陆协议) 、ping(网络探测回应工具) 、 ifconfig(网络配置模块) 、ls(文件目录显示模块) 、mount(设备挂载模块) 、 cp(文件拷贝模块) ,uClinux 文件系统的划分中还应为用户留出可以读写操作的 西南科技大学工程硕士学位论文 第 16 页 区域,帮助用户轻松的写

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1