




已阅读5页,还剩60页未读, 继续免费阅读
(机械电子工程专业论文)基于internet的远程监控系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于i n t e r n e t 的远程监控系统 摘要 随着网络技术的飞速发展,远程监控技术与网络技术紧密结 合起来。远程监控技术应用越来越广泛,在交通系统、工业生产、 医学系统、家庭自动化等许多领域发挥着重要作用。因此研究在 i n t e m e t 环境下,如何实现远程监控技术有极其重要的意义。 本文对基于i n t e r n e t 的远程监控系统进行了研究。构建了一 个通过i n t e r n e t 相连的跨平台远程监控系统服务器端是a r m 嵌入式系统,使用l i n u x 操作系统;客户端是普通p c 机,使用 w i n d o w s 操作系统。 本文首先介绍了基于互联网远程监控系统的发展和应用,指 出了其研究的特点和意义,深入研究了基于因特网远程控制的国 内外研究现状。然后介绍了远程监控系统的总体设计方案、嵌入 式l i n u x 系统环境搭建、网络基本理论、t c p i p 参考模型等。最 后介绍系统的软件设计以及总结和展望。 关键词:i n t e r a c ts o c k e ta r ml i n u x 远程监控系统 t h er e m o t em o n i t o i u n ga n dc o n t r o l s y s t e mb a s e do ni n t e r n e t a b s t r a c t w i t ht h ed e v e l o p m e n to fn e t w o r kt e c h n o l o g y ,i tc o n n e c t sw i t ht h er e m o t e m o n i t o r i n ga n dc o n t r o lt e c h n o l o g yi n t e n s e l y t h e r e m o t em o n i t o r i n ga n d c o n t r o lt e c h n o l o g yi sa p p l i e dm o r ea n dm o r eb r o a d l y ,w h i c hp l a y s a ni m p o r t a n t p a r ti nt h ea r e a so f t r a f f i cs y s t e m s ,i n d u s t r y ,m e d i c a ls c i e n c e ,f a m i l ya u t o m a t i o n , e t c s oi ti se x t r e m e l yi m p o r t a n tt os t u d yh o w t or e a l i z et h er e m o t em o n i t o r i n g a n dc o n t r o lt e c h n o l o g yu n d e rt h ee n v i r o n m e n to fi n t e r n e t t h ep a p e rw o r k so v e rt h er e m o t em o n i t o r i n ga n dc o n t r o ls y s t e mb a s e d o n i n t e r n e t p u tf o r w a r dt h ec r o s s p l a t f o r mr e m o t em o n i t o r i n gs y s t e mw h i c ht h e s e r v e rb a s e do na r m e m b e d d e ds y s t e mu s i n gl i n u xo sa n dt h ec l i e n tb a s e do n p cu s i n gw i n d o w so s ,c o n n e c t e dw i t hi n t e r n e t f i r s t l y ,t h ep a p e ri n t r o d u c et h ed e v e l o p m e n ta n da p p l i c a t i o no ft h er e m o t e m o n i t o r i n ga n dc e n t r e ls y s t e mw h i c hb a s e do ni n t e r n e t ,p o i n to u ti t sr e s e a r c h c h a r a c t e r i s t i ca n dt h es i g n i f i c a n c e ,t h o r o u g h l ys t u d yt h ed o m e s t i ca n df o r e i g n r e s e a r c hp r e s e n ts i t u a t i o no fr e m o t ec o n t r 0 1 t h e ni n t r o d u c et h ed e s i g np r o g r a m o ft h er e m o t em o n i t o r i n ga n dc o n t r o ls y s t e m ,e m b e d d e dl i n u xs y s t e m e n v i r o n m e n ts t r u c t u r e s ,n e t w o r kt h e o r y ,t c p i pr e f e r e n c em o d e le t c f i n a l l y , i n t r o d u c et h es o f t w a r ed e s i g no ft h es y s t e m ,a sw e l la st h es u m m a r ya n d o u t 】o o k k e yw o r d s :i n t e r n e ts o c k e t a r ml i n u x r e m o t em o n i t o r i n ga n dc o n t r o ls y s t e m 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 聋逢 日期: 丝! :兰:型 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:望鹾 导师签名:爿噼 日期:型丝兰! 丛 日期:之塑乒丝 1 1 研究背景 第一章绪论 远程监控技术是一个具有重要研究价值的课题,它在工业、国防等各方面 有着广泛需求。然而,由于传统方式在成本、技术、维护、传输距离等方面的 问题,远程监控技术并没有很好的推广和利用。现今i n t e m e t 正在把全世界的 计算机系统、通信系统逐渐集成起来,为控制系统的远程监控提供了便利条件。 由于i n t e m e t 的发展,使得成本低廉的远距离通信变成了现实。于是采用i n t e m e t 作为远程监控的通信媒介的研究越来越受到人们的重视【l 】。 基于i n t e m e t 的远程监控系统的研究,不仅充分利用了现有资源,拓宽了 因特网的利用范围,而且也使远程监控能够减少成本,扩大远程化距离,增加 远程监控的灵活性,并使远程监控系统进入一般应用的领域( 如家用电器远程 监控领域) 进一步方便人们的生活。采用i n t e m e t 作为远程监控平台,是一项 很有前途和潜力的技术,可以应用到设备远程诊断、监测、控制等领域,成为 当前工业监控领域的研究热点。 目前,基于i n t e m e t 的远程监控是国内外研究的前沿课题,国内外都展开 了积极的研究。相对来说,由于西方国家在信息技术和计算机控制技术的发展 上的优势,他们在研究基于i n t e m e t 的远程监控方面相对早一些,而且有些公 司有相关的产品问世。国内由于i n t e m e t 的飞速发展,近几年也开始积极的研 究【2 】【3 1 。 目前,远程监控技术在远程实验室、水电站监控、石油管道监测、电网运 行监控和机器人的远程控制等领域都得到了广泛应用,实现了将工业生产过程 的监控信息接入i n t e r n e t ,管理人员远程监视生产运行情况,根据需要及时发 出调度指令控制生产过程和现场设备的运行状态和各种参数,节省大量人力物 力的目标【4 j 。 总之,基于i n t e m e t 的远程监控系统己投入到实际的应用领域,并取得了 良好的经济效益,其应用前景是十分广阔的。伴随远程监控技术的发展,在广 泛的工业领域中实现信息网络和控制网络融合,实现真正意义的远程监控,将 对工厂控制、环境监测、水资源管理、电网监控等各个方面的发展起到巨大的 推动作用【5 1 。 1 2 设计目标和本人工作 本文的设计目标是根据远程监控系统的发展趋势,通过i n t e m e t 实现跨平 台的远程监控,包括: ( 1 ) 研究分析远程监控的定义、特点,以及国内外的远程监控技术研究现状。 ( 2 ) 设计远程监控系统的总体设计方案。 ( 3 ) 研究网络远程监控系统实现中的一些关键技术,包括t c p i p 协议、 s o c k e t 网络通信技术,为基于i n t e m e t 的远程监控系统的理论研究及具体设计 提供了必要的依据。 ( 4 ) 探索基于嵌入式l i n u x 的软件开发流程,熟练运用各种l i n u x 下的开发 工具,为本课题搭建系统开发环境。 ( 5 ) 深入理解套接字编程以及套接字在w i n d o w s 环境下和l i n u x 环境下编 程方式的异同。 ( 6 ) 使用m f c 编写控制面板,熟练使用各种控件和a c c e s s 数据库。 1 3 各章节安排 本文共分六个章节: 第一章介绍了课题的背景、设计目标和工作重点。 第二章介绍了远程监控系统的总体设计方案,包括总体结构设计、硬件组 成和软件开发平台。 第三章介绍了搭建嵌入式l i n u x 系统,将程序从宿主机移植到a r m 板。 第四章讲述网络通信。主要介绍通信协议,基于t c p i p 协议的套接字通 信等。 第五章是本文的重点章节,详细介绍系统的软件设计。包括s o c k e t 通信、 控制字和图片的传输、电机控制和数据库的实现。 第六章是总结和展望。对系统的设计进行了总结,并提出有待改进的地方。 2 第二章总体设计方案 2 1 远程监控系统总体设计结构 基于i n t e m e t 的远程监控系统能够将设备层的工作状杏由嵌入式系统反 馈到上层管理平台上,同时响应管理平台发出的控制命令。这里的设备层 可以包括摄像头、各种传感器、电机、控制器等。管理平台工作在p c 机上。 嵌入式系统与管理平台之日j 的通信主要基于i n t e r n e t 。图2 - 1 给出了远程监 控系统的示意图。 辫一穆 囤2 - i 远程监控系统结构示意图 由图2 1 可以看出,只耍在具有i n t e r n e t 接八条件的地方,就可以部署 远程监控系统,将各种终端葭备接入到一个或多个嵌入式设备中,通过 i n t e r n e t 与上层管理平台相连,就可以方便的集成到一起。内于i n t e r n e t 已 经遍布全球不仅计算机能够上网,嵌入式设备同样可以通过网卡接入 i n t e r n e t 。并月,由于i p v 6 ( i n t e m e tp r o t o c o lv e r s i o n6 ) 的应用,l p 地址枯竭 的问题理论上已经不存在,这样,任何信息都可以通过i n t e r n e t 传递到管理 参 黪 平台上,管理人员可以通过客户端软件对其进行监控。 2 1 1c s 结构与b s 结构的比较 1 c s 结构 c s ( c l i e n t s e r v e r ) 结构就是客户端服务器结构。网络通信要求在两台计 算机或相互对话的两个程序之间建立网络连接,网络连接包括通信进程以 及它们之间的通道。c s 结构将网络应用程序分为客户端和服务器两部分, 网络连接的客户端请求连接的服务器端提供服务和信息,连接的服务器端 对客户端的请求做出响应,由服务器进程执行完任务后,将结果返回给客 户端。大多数情况下应根据请求者与被请求者的关系来确定哪一方是客户 端和哪一方是服务器。这种方式隐含了在建立客户端、服务器间通信时的 非对称性。基本的c s 结构是一种“胖客户端瘦服务器模式,建立在点 对点的连接上,分为客户端应用程序和服务器程序。客户端支配的程序除 了系统所要求的所有逻辑功能以外,由所有的用户接口功能组成。客户端 应用程序负责处理许多核心的功能,它采用客户端应用进程与服务器应用 进程共同去实现应用系统的用户界面、业务逻辑、数据处理等功能。用户 界面由客户端应用进程实现,业务逻辑由客户端和服务器联合完成,数据 服务由服务器进程承担。 c s 结构的主要优点有: ( 1 ) 具有成熟的设计开发方法和工具。基于c s 模式的系统设计开发方 法已被用户所熟悉和掌握。其面向对象技术十分完善,众多的数据库和软 件生产厂商提供了各种可视化工具和编程语言来支持它的开发。 ( 2 ) 交互性强、界面友好。各个客户端上运行的应用程序是针对特定的 用户和任务设计的,同时具有在线帮助和出错提示等等之类的功能。 ( 3 ) 数据通信小,有很强的实时处理能力,更适合于对数据库的实时处 理和大批量的数据更新。 ( 4 ) 结构稳定性好。c s 结构简化了应用,把任务进行分离,客户和服务 器各司其职,共同完成任务。 ( 5 ) 由于c s 结构必须安装客户端软件,系统相对封闭,使它的安全性 高。 c s 结构的主要缺点有: 系统的可扩展性差;客户端负担重;维护复杂、升级麻烦;软件设计 周期长、适应性差等。 因此,一般在实时性要求较高,具有较强的交互性,监控地固定的点 4 对点直接通信的情况下适于采用c s 结构。 2 b s 结构 b s ( b r o w s e r s e r v e r ) 结构就是浏览器服务器结构。用户在客户端利用通 用w e b 浏览器,以w w w ( w o r l dw i d ew e b 万维网) 方式访问服务器,客户 端根据某资源的u r l ( u n i f o r mr e s o u r c el o c a t o r 统一资源定位符) 向w e b 服 务器提出服务请求,w e b 服务器把数据文件传送给客户端,而客户端由 h t m l ( h y p e r t e x tm a r k u pl a n g u a g e 超文本标记语言) 负责表示逻辑;服务 端是w c b 服务器,通常已使用c g i ( c o m m o ng a t e w a yi n t e r f a c e 公共网关接 口) ,i s a p i ( i n t e r n e ts e r v e ra p p l i c a t i o np r o g r a m m i n gi n t e r f a c e 因特网服务器 应用程序接口) ,a s p ( a c t i v es e r v e rp a g e 动态服务器页面) 等技术访问数据库 进行数据查询或处理;数据层是负责各种数据处理的数据库服务器,在 i n t e r n e t 境下,由于客户端是浏览器,也就构成了b s 这样的结构。 b s 结构的主要优点: ( 1 ) b s 是一种全新的体系结构,由于w e b 支持底层的 t c p i p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e r n e tp r o t o c o l 传输控制协议) 协议, 使w e b 网与目前使用的几乎所有局域网都可以连接,解决了跨平台问题, 通过浏览器可访问几个应用平台,形成一点对几点,多点对多点的结构模 式。对用户跨平台支持,可跨平台使用数据库、多媒体等多种形式的信息。 ( 2 ) 界面统一,全部为浏览器方式,操作相对简单,方便了用户的使用。 ( 3 ) 软件的安装、维护和升级容易,客户端只要拥有一个浏览器即可访 问系统。 ( 4 ) 系统具有良好的可扩展性,功能扩展只需在服务器上完成,所有客 户端软件都不需要改动,避免了为多种不同操作系统开发同一应用系统的 重复操作。 ( 5 ) 系统发布与后期维护升级的工作量及开销小,在系统进行后期升级、 改造时,只更新w e b 服务器上的程序即可。 ( 6 ) 由于“瘦客户端”使系统开放性得到很大改善,系统对访问的用户 数的限制有所放松。 b s 结构的主要缺点有: b s 虽然由j s p ( j a v a s e r v e rp a g e s ) ,a s p 等提供一定的交互能力,但相 比之下,功能有限;虽然简化了客户端,但也相应增加了网络通信数据量, 增加了网络负担,降低速度。b s 结构是基于i n t e m e t 的,而目前网络安全 仍是一个技术尚未成熟的领域,因此b s 模式的安全性较低。 5 因此,在监控地点灵活、范围广泛、多点通信的情况适于选择b s 结 构。【6 】 本系统监控方式采用c s 模式。主要考虑到实时性、安全性、通信量 等因素。 2 2 远程监控系统硬件组成 由图2 1 可以看出,远程监控系统硬件主要包含p c 机、嵌入式系统、 网络设备、摄像头、电机、传感器等。各种设备的选取可根据实际需要增 加或减少或替换。下面介绍的是本次毕业设计选用的硬件设备。 2 2 1a r m 板选用 嵌入式系统选用h h a r m 2 4 1 0 。h h a r m 2 4 1 0 是华恒推出的用于高端手 持设备、微型智能控制设备的开发套件,采用2 0 3 m h z 的a r m 9 2 0 t 内核的 处理器s 3 c 2 4 1 0 。 $ 3 c 2 4 1 0 内部集成了微处理器和一些手持设备的常用外围组件,特别 适用于手持产品。$ 3 c 2 4 10 微处理器是一个多用途的通用芯片,它内部集 成了微处理器和常用外围组件,可用于各种领域。它是应用于手持设备的 低成本实现,提供了更高性价比。 如图2 2 所示,h h a r m 2 4 1 0 套件由核心板和底板( 外设板或称基本板) 组成,核心板上集成s a m s u n g $ 3 c 2 4 1 0 处理器,6 4 ms d r a m 以及1 6 m 的 f l a s h ,为研发提供了足够的空间。底板上则提供以下外设接口:一个四 线r s 2 3 2 串口( c o m l ) ,一个u s bh o s t 接口,一个1 0 m 1 0 0 m 自适应以 太网接口,一个t f tl c d 接口,一个触摸屏接口。核心板和底板配合即构 成一个最小的完整应用系统。系统具有体积小、耗电低、处理能力强、等 特点,能够装载和运行嵌入式l i n u x 操作系统。用户可以在这个系统平台上 进行自主软件开发。h h a r m 2 4 1 0 套件中提供底板硬件电路图及硬件设计文 档,极大的方便了用户进行硬件扩展开发【7 1 。 6 2 2 2 电机选用 图2 - 2 h h a r m 2 4 1 0 硬件结构 电机选用和利时公司的“森创”两相混合式步进电机。步进电机是将 电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下, 电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载 变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线 性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使 得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机 分三种:永磁式( p m ) ,反应式( v r ) 和混合式( h b ) 。永磁式步进电 机般为两相,转矩和体积较小,步进角一般为7 5 度或1 5 度:反应式步 进电机一般为三相,可实现大转矩输出,步进角一般为l5 度,但噪声和振 动都很大,在欧美等发达国家8 0 年代已被淘汰;混合式步进电机是指混合 了小磁式和反应式的优点。它又分为两相和五相:两相步进角一般为l8 度 而五十h 步进角一般为07 2 度。这种步进电机的应目最为广泛。 图2 - 3 为“森创”两相混台式步进电机细分驱动器s h 一2 0 4 0 3 。 图2 - 3 。森创”两相混合式步进电机细分驱动嚣s h - 2 0 4 0 3 此驱动器可提供整步、改善半步、4 细分、8 细分、1 6 细分、3 2 细分 和6 4 细分七种运行模式,利用驱动器面板上六位拨码开关的第1 、2 、3 三 位可组合出不同的状态( 详见表2 1 细分模式选择表) 。 表2 - 1 细分模式选择刘” 这里介绍一下主要的端口: 公共端:此驱动器的输入信号采用共阳极接线方式,用户应将输入信 号的电源正极连接到该端子上将输入的控制信号连接到对应的信号端于 上。控制信号低电平有效,此时对应的内部光耦导通,控制信号输入驱动 器中。 脉冲信号输入:麸阳极时该脉冲信号下降沿被驱动器解释为一个有效 脉冲,并驱动电机运行一步。为了确保脉冲信号的可靠响应,共阳极时脉 冲低电平的持续时间不应少于1 0 “s 。此驱动器的信号响应频率为7 0 k h z , 过高的输入频率将可能得不到正确响应。 方向信号输入:该端信号的高电平和低电平控制电机的两个转向。共 阳极时该端悬空被等效认为输入高电平。控制电机转向时,应确保方向信 号领先脉冲信号至少1 0 i t s 建立,可避免驱动器对脉冲的错误响应。 脱机信号输入:该端接受控制机输出的高,低电平信号,共阳极时低电 平时电机相电流被切断,转子处于自由状态( 脱机状态) 。共阳极时高电 平或悬空时,转子处于锁定状态。 图2 - 4 为典型接线图。需要注意的是,为了避免信号干扰,应该将功率 线( 电机相线,电源线) 与弱电信号线分开。在无法分别布线或有强干扰 ( 变频器等) 存在下,最好使用屏蔽电缆传送控制信号川。 囤2 4 典型接线图8 】 2 3 远程监控系统软件平台 2 3 1 v c 开发环境 系统要求友好的人机界面,可视化程度高。v i s u a lc + 十是迄今为止 m i c r o s o f t 公司开发的最全面和最完善的程序设计语言。该语言不仅能够编 写传统的d o s 操作系统下的应用程序,更主要的是它可以编写w i n d o w s 操作系统下的各种应片j 程序。并且它提供了一组各种各样的为适应几乎每 一种编程风格而设计的工具。这使得该语言具有功能强大,代码简洁,可 移植性强等特点。同时v i s u a lc + + 语占改变了传统的字符界面的编程手段, 利州可视化的编程方法使得先前枯燥、单调的计算机编程变得更加生动和 令人赏心悦日。v i s u a lc + + 的内容非常庞大,几乎包括了对计算机所有软件 和硬件资源的操作【9 】。 v i s u a lc + + 6 0 是一个功能强大的可视化编程环境。借助于其生成代码 的向导,它能在数秒内生成可运行的w i n d o w s 应用程序外壳。一个v i s u a l c + + 的程序首先是应用程序框架,而这一框架正是应用程序的“骨架 ,应 用程序框架通过提供所有应用程序共有的东西,为用户程序的开发打下了 良好的基础。程序框架就是一个已经完成的可运行应用程序,我们所需要 做的,只是在程序中加入完成所需的功能代码【m 】。m f c ( m i c r o s o f tf o u n d a t i o n c l a s s ) 库是c + + 类的一个集合和一个应用程序框架,主要用于创建m i c r o s o f t w i n d o w s 应用程序。这个类的集合将c + + 语言扩展为包括创建基于w i n d o w s 的应用程序所需要的大部分基本结构元素。在创建应用程序的基本框架后, 使用类向导c l a s sw i z a r d 来定义类的消息及其处理过程、重载虚函数、派生 或创建新的类、定义类的类属性数据等,最终建立起完整的应用程序。m f c 展示了代表w i n d o w s 操作系统中的通用对象( 如窗口和菜单) 的基本类。m f c 缩短了开发时间,使代码更简洁,在不降低编程自由度和灵活性的前提下 提供支持,并提供了对难于编程的用户界面元素和技术( 如a c t i v e x 和 i n t e r n e t ) 编程的方便访问。在用v i s u a lc + + 6 0m f c 进行软件开发时,所要 做的具体编码工作较少,产生的代码都是标准化模块,只需根据应用的需 要完成相应的常量、变量声明,消息映射函数的声明,并且实现各个具体 的函数,设计好用户界面并将各控件与相应的响应函数连接起来就可得到 软件代码【l l 】【12 1 。 开发环境是程序员同v i s u a lc + + 的交互界面。通过它程序员可以访问 c + + 源代码编辑器、资源编辑器,使用内部调试器,并且可以创建工程文件。 目前,利用m i c r o s o f tv i s u a lc + + 提供的m f c 开发人机交互界面是常用 的方法,它能向用户提供图形与文字共存的可视化环境,使操作更为自然、 简便和快速,并且设计、调试及修改都比较方便,技术也比较成熟。 通过m f c 类向导可建立三种应用程序框架,基于s d i ( 单文档界面1 , m d i ( 多文档界面) 和d i a l o g ( 对话框) 。分析整个过程大都是人机交互形式的, 里面出现很多对话框要求用户输入,如参数设定,信息框,选择等等。所 以要创建一个基于对话框的工程项目。 下面介绍一下该项目的创建过程: ( 1 ) 在f i l e 菜单下选择n e w ,在n e w 对话框中选择p r o j e c t s 下的m f c a p p w i z a r d e x e 】,为项目命一个合适的名字并选择存放位置,单击o k 按钮。 ( 2 ) 在弹出的m f c a p p w i z a r d s t e plo f4 对话框中选择d i a l o gb a s e d , 单击n e x t 按钮。 1 0 ( 3 ) 弹出的m f c a p p w i z a r d s t o p2o f4 对话框中选择a b o u tb o x ,3 d c o n t r o l s ,a c t i v e xc o n t r o l s ,取消其它选择,单击n e x t 按钮。 ( 4 ) 在弹出的m f c a p p w i z a r d s t e p3o f 4 对话框中取系统默认选择,单 击n e x t 按钮。 ( 5 ) 在弹出的m f c - a p p w i z a r d s t e p4 0 f 4 对话框中显示a p p w i z a r d 向导 所生成的类,单击f i n i s h 按钮,出现生成新项目的一些信息。 单击o k 按钮一个新的工程项目程序框架就生成了,接下来程序员可以 根据程序的要求完成添加资源、代码等工作。为了便于程序开发,m i c r o s o f t v i s u a lc + + 6 0 同时提供向导c 1 a s s w i z a r d ,它可以帮助程序员完成为程序添 加或删除类、数据成员、函数成员和消息等工作【1 3 】。 2 3 2l i n u x 操作系统 现在流行的嵌入式操作系统有:v x w o r k s 、w i n d o w s c e 、l i n u x 等。相 对其他商业操作系统,l i n u x 存在许多优势,例如广泛的硬件支持、良好的: 可伸缩性、卓越的性能、极高的可靠性和开放的a p i 。从成本方面讲,免缴 版税、免费或者廉价的软件组建以及免费的源代码,都会在降低产品成本 和提高产品灵活度上得到很大的优势。l i n u x 自问世就与网络密不可分,有 完善的网络通讯、图形、文件管理机制,网络是l i n u x 的优势。 嵌入式系统选择l i n u x 的原因: 可应用于多种硬件平台。l i n u x 已经被移植到多种硬件平台,这对受开 销、时间限制的研究与开发项目是很有吸引力的。原型可以在标准平台上 开发然后移植到具体的硬件上,加快了软件与硬件的开发过程。 l i n u x 可以随意地配置不需要任何的许可证或商家的合作关系。唯一的 限制是开发者必须做出对l i n u x 社区有益的改动。 它是免费的,源代码可以得到。这是最吸引人的。毫无疑问,这会节 省大量的开发费用。 微内核直接提供网络支持,而不必像其他操作系统要外挂t c p i p 协议 包。 l i n u x 的高度模块化使添加部件非常容易。 l i n u x 在台式机上的成功,也保证了l i n u x 在嵌入式系统中的辉煌前景。 l i n u x 是一种很受欢迎的操作系统,它与u n i x 系统兼容,开放源代码。 它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在 于它正逐渐的应用于嵌入式系统领域。 l i n u x 是一个自由开放的世界,在l i n u x ( 无论p c 还是嵌入式系统) 上进行软件开发都可以在广袤的网络资源中获取帮助1 4 】【1 5 】【1 6 1 。 2 3 3 g c c 编译器 g c c 是由g n u 之父s t a l l m a n 所开发的l i n u x 下的编译器,全称为g n u c o m p i l e rc o l l e c t i o n ,目前可以编译的语言包括:c ,c + + ,o b j e c t i v e c , f o r t r a n ,j a v a 等。 l i n u x 系统下的g c c 是g n u 推出的功能强大、性能优越的多平台编译 器,是g n u 的代表作品之一。g c c 是可以在多种硬体平台上编译出可执行 程序的超级编译器,其执行效率与一般的编译器相比平均效率要高 2 0 3 0 。 g e e 编译器能将c 、c + + 语言源程序、汇程式程序和目标程序编译、连 接成可执行文件,如果没有给出可执行文件的名字,g c c 将生成一个名为 a o u t 的文件。在l i n u x 系统中,可执行文件没有统一的后缀,系统从文件 的属性来区分可执行文件和不可执行文件。而g c c 则通过后缀来区别输入文 件的类别,以下是g e e 所遵循的部分约定规则。 c 为后缀的文件,c 语言源代码文件; a 为后缀的文件,是由目标文件构成的档案库文件; c ,c c 或c x x 为后缀的文件,是c + + 源代码文件; h 为后缀的文件,是程序所包含的头文件; i 为后缀的文件,是已经预处理过的c 源代码文件; i i 为后缀的文件,是已经预处理过的c + + 源代码文件; m 为后缀的文件,是o b j e c t i v e c 源代码文件; 0 为后缀的文件,是编译后的目标文件; s 为后缀的文件,是汇编语言源代码文件; s 为后缀的文件,是经过预编译的汇编语言源代码文件。 在使用g c c 编译器的时候,必须给出一系列必要的调用参数和文件名 称。这里介绍最基本、最常用的参数。 g c c 最基本的用法是:g c c o p t i o n s 】 f i l e n a m e s 】 其中o p t i o n s 就是编译器所需要的参数,f i l e n a m e s 给出相关的文件名称。 c ,只编译,不连接成为可执行文件,编译器只是由输入的c 等源代码 文件生成0 为后缀的目标文件,通常用于编译不包含主程序的子程序文件。 0o u t p u tf i l e n a m e ,确定输出文件的名称为o u t p u tf i l e n a m e ,同时这个 名称不能和源文件同名。如果不给出这个选项,g e e 就给出预设的可执行文 件a o u t 。 1 2 g ,产生符号调试工具( g n u 的g d b ) 所必要的符号资讯,要想对源代码 进行调试,我们就必须加入这个选项。 o ,对程序进行优化编译、连接,采用这个选项,整个源代码会在编 译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提 高,但是,编译、连接的速度就相应地要慢一些。 0 2 ,比o 更好的优化编译、连接,当然整个编译、连接过程会更慢。 i d i r e c t o r y 指定额外的头文件搜索路径d i r e c t o r y 。 l d i r e c t o r y 指定额外的函数库搜索路径d i r e c t o r y 。 2 3 4m a k e f i l e 在大型的开发项目中,通常有几十到上百个的源文件,如果每次均手 工键入g c c 命令进行编译的话,则会非常不方便。因此,人们通常利用m a k e 工具来自动完成编译工作。这些工作包括:如果仅修改了某几个源文件, 则只重新编译这几个源文件;如果某个头文件被修改了,则重新编译所有 包含该头文件的源文件。利用这种自动编译可大大简化开发工作,避免不 必要的重新编译。 实际上,m a k e 工具通过一个称为m a k e f i l e 的文件来完成并自动维护编 译工作。m a k e f i l e 需要按照某种语法进行编写,其中说明了如何编译各个源 文件并连接生成可执行文件,并定义了源文件之间的依赖关系。 当修改了其中某个源文件时,如果其他源文件依赖于该文件,则也要 重新编译所有依赖该文件的源文件。 m a k e f i l e 文件是许多编译器,包括w i n d o w sn t 下的编译器维护编译信 息的常用方法,只是在集成开发环境中,用户通过友好的界面修改m a k e f i l e 文件而已。默认情况下,g n um a k e 工具在当前工作目录中按如下顺序搜索 m a k e f i l e : g n u m a k e f i l e m a k e f i l e m a k e f i l e g n um a k e 有许多预定义的变量,这些变量具有特殊的含义,可在规则 中使用。下面给出一些主要的预定义变量,除这些变量外,g n um a k e 还将 所有的环境变量作为自己的预定义变量。 $ 幸不包含扩展名的目标文件名称。 $ + 所有的依赖文件,以空格分开,并以出现的先后为序,可能包含重 复的依赖文件。 1 3 $ b o np a r t01 2 8 k1 9 2 k1 9 3 0 k4 3 1 2 k :m 2 将v i v i 写进f l a s h v 1 v i i o a df l a s hv i v ix 3 显示v i v l 的分区结果 v i v i n a r ts h o w 图3 - 2f l a s h 分区 01 2 8 k :v i v i 空间 1 2 8 k - - 1 9 2 k :d “a m 空间 1 9 2 k 一19 3 m :z l m a g e ( k e r n e l ) 空自j 2 m 一4 m :r o o tc f a m 矗f 根文件系统) 空问 4 m - - 6 4 m :用户空间 3 2 2l i n u x 内核源代码 l i n u x 内核源代码是以文件的形式存在于各个文件夹的目录中,位于 u s r s r c l i n u x 目录下,本系统的采用的内核版本是2 4 1 8 ,其具体的代码 树结构如下【1 9 】: ( 1 ) a r c h 目录:所有的与体系结构相关部分的内核代码都包含在这个 目录以及i n c l u d e a s m 中,其中的每一个目录都代表一种硬件平台,比a r m 平台、i 3 8 6 平台,移植工作的重点就是a r c h 目录下的文件。 ( 2 ) i n c l u d e 目录:建立内核代码时所需的大部分头文件,比如,与平 台无关的头文件在i n c l u d e l i n u x 子目录下。在a s m 目录下是与各种平台相 关的头文件,比如a s m a r m 目录是a r m 平台需要的头文件,而a s m i 3 8 6 是i n t e lc p u 需要的头文件。部分内核构建过程创建从a s m 指定a s m 的符号 链接。这样,无需将其固定编码到c 后缀的文件了,# i n c l u d e 就可以获得用 于那个体系结构的正确文件。其它目录中包含的是非体系结构相关的头文 件。如果在不只一个文件中使用了某个结构体、常量或者变量,那么它可 能应该放入其中一个头文件中。 ( 3 ) d r i v e r s 目录:内核中所有的设备驱动程序,包括视频驱动程序、 网卡驱动程序、底层s c s i 驱动程序等,以及其它类似的驱动程序。例如, 在d r i v e r s n e t 中可以找到大部分网卡驱动程序【2 们。 ( 4 ) f s 目录:通用文件系统的代码( v f s ,即v i t u a lf i l es y s t e m ) 和各个 不同文件系统的代码都可以在这个目录中找到。比如e x t 2 文件系统是在 l i n u x 中最广泛使用的文件系统之一,在f s e x t 2 中可以找到读取e x t 2 格 式的代码。 ( 5 ) i n i t 目录:内核的初始化代码( 不是系统的引导代码) ,有m a i n c 和 v e r s i o n c 两个文件,是内核工作的起点。 ( 6 ) i p c 目录:核心进程间的通信代码( i p c ,i n t e r p r o c e s sc o m m u n i c a t i o n , 包含了共享内存、信号量以及其它形式的i p c 代码。 ( 7 ) k e r n e l 目录:主要核心代码。同时与处理器结构相关代码都放在a r c h 宰k e r n e l 目录下。 ( 8 ) n e t 目录:核心的网络部分代码。 ( 9 ) l i b 目录:此目录包含了核心的库代码。与处理器结构相关库代码被 放在a r c h 木l i b 目录下。由于内核不能调用标准的c 库函数,内核自己 编写了一套基本库函数。 1 8 ( 1 0 ) s c r i p t s 目录:此目录包含用于配置核心的脚本文件。主要有内核配 置菜单脚本、内核补丁脚本、内核文档生成脚本。 3 2 3l i n u x 内核组成和架构 l i n u x 内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系 统,网络接口,进程问通信【2 。 1 进程调度( s c h e d ) - 控制进程对c p u 的访问。当需要选择下一个进程 运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待 c p u 资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进 程。l i n u x 使用了比较简单的基于优先级的进程调度算法选择新的进程。 2 内存管理( m m ) :允许多个进程安全的共享主内存区域。l i n u x 的内存 管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总 量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内 存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内 存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。 硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内 存管理硬件提供了虚拟接口。 3 虚拟文件系统( v i r t u a lf i l es y s t e m ,v f s ) :隐藏了各种硬件的具体细节, 为所有的设备提供了统一的接口,v f s 提供了多达数十种不同的文件系统。 虚拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指 l i n u x 所支持的文件系统,如e x t 2 ,f a t 等,设备驱动程序指为每一种硬件 控制器所编写的设备驱动程序模块。 4 网络接口( n e t ) :提供了对各种网络标准的存取和各种网络硬件的支 持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每 一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一 种可能的硬件设备都有相应的设备驱动程序。 5 进程间通讯( i p c ) :支持进程间各种通信机制。 3 2 4l i n u x 内核配置 1 将l i n u x 2 4 内核压缩包解压到系统所需要的目录下【2 2 】 t a rz x v f | m n t | c d r o m l i n u x k e r n e l l i n u x a r t t a r g z cx x x t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能化热管理技术助力2025年储能电池产业创新发展报告
- 2030年绿色金融推动新能源产业国际化发展研究报告
- 新型废旧塑料回收技术革命性进展报告
- 鸟鸣涧课件文库
- 职工追悼会悼词范文
- 考研物理学史资料(3篇)
- 绘画创意初赛试题及参考答案
- 道路客运调度员三级安全教育(班组级)考核试卷及答案
- 木焦油工岗前考核试卷及答案
- 焦化厂安全培训试题及答案解析
- 《济南市城镇燃气领域重大隐患判定指导手册》
- 卢卡奇的《历史与阶级意识》
- JJG693-2011燃气泄漏检测仪器检定规程
- 三峡大学科技学院实习报告及实习成绩考核鉴定表模板
- 电缆电线技术标书
- 柔性压力传感器制备法
- 水稻高产栽培技术要点
- (免费分享)工商银行业务委托书打印版
- GB 5226.1-2008机械电气安全机械电气设备第1部分:通用技术条件
- 《毛泽东思想和中国特色社会主义理论体系概论》全套课件
- (完整)农村污水处理工程施工组织设计
评论
0/150
提交评论