(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf_第1页
(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf_第2页
(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf_第3页
(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf_第4页
(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(机械电子工程专业论文)嵌入式远程监测装置若干单元技术研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 嵌入式远程监测装置是“智能维护系统”和“开放式数控装备的远程操作、监 控与诊断技术研究”两个项目的重要组成部分,本文就嵌入式远程监测装置中的以 下几个方面的内容进行了探讨: 对l i n u x 系统裁减的研究。根据嵌入式远程监测装置的需要和适应嵌入式p c 硬 件资源有限的限制,对l i n u x 的内核和文件系统进行了裁减,最后裁减出一个体积 小、性能稳定的嵌入式l i n u x 系统。 网络通讯模块的设计。网络通讯模块是嵌入式远程监测装置与外界进行通讯的 基础。为了解决嵌入式p c 内存、闪存资源少,c p u 速度低,而嵌入式远程监测装 置需要多个网络服务器的矛盾,提出了服务器最小化裁减和端口复用技术。对f t p 和w e b 服务器进行最小化裁减,并将测量数据通讯模块、f t p 服务器模块和w e b 服务器模块集成为一个服务器,用一个端口对外提供网络服务。一 一 嵌入式数据库的研究。为便于对设备状况进行全生命周期的跟踪分析和诊断, 也便于对设备事故发生原因进行追忆,设计了一个嵌入式数据库模块来管理设备运 行状态特征信息。设备管理工程师或用户通过网络可以对设备的运行状态特征数据 库进行管理或查询。一 , 原型系统的设计。为验证研究工作的效果,我们设计了一个对轴承进行监测的 , 远程监测原型系统,恸能包括基于w e b 的远程监测、远程文件管理和轴承状态信息 数据牟管理和查询,嵌入式操作系统加程序占1 6 m 内存、i 6 m 闪存,满足了嵌入式 远程监测装置的设计需要。) 关键词:l i n u x 裁减、服务器裁减嵌入式数据库网络远程监测 华中科技大学硕士学位论文 a b s t r a c t t h ee m b e d d e dr e m o t em o n i t o r i n ga p p a r a t u si s a ni m p o r t a n tp a r to ft w on a t i o n a l p r o j e c t s ,i n t e l l i g e n tm a i n t e n a n c es y s t e m a n d r e s e a r c ho f r e m o t em a n i p u l a t i o n 、 m o n i t o r i n ga n dd i a g n o s t i c so ft h eo p e ns t r u c t u r e dn c m a c h i n e t h i st h e s i sp r e s e n t s s e v e r a la s p e c t so f e m b e d d e dr e m o t em o n i t o r i n ga p p a r a t u s : t h e r e d u c i n g o f l i n u xi ss t u d i e d a c c o r d i n gt ot h er e q u i r e m e n to f r e m o t em o n i t o r i n g a l s p a r a t u sa n dt h el i m i to f e m b e d d e dp ch a r d w a r e ,ar e d u c i n gm e t h o do fl i n u xs y s t e mi s p r o p o s e d a n dac o m p a c t 、s t a b l ee m b e d d e dl i n u x s y s t e m i sb u i l t t h ed e s i g no fn e t w o r kc o m m u n i c a t i o nm o d u l e t h en e t w o r kc o m m u n i c a t i o nm o d u l e i st h ef o u n d a t i o no fe m b e d d e dr e m o t em o n i t o r i n ga p p a r a t u s f o rt h ee m b e d d e dp c ,t h e a m o u n to fi t sr a ma n df l a s hd i s ka l es m a l la n dt h es p e e do fi t sc p ui ss l o w , h o w e v e r m u l t i p l en e t w o r ks e r v e r s a r er e q u e s tt or u na ts a m et i m e t os o l v et h i s p r o b l e m t h e r e d u c i n gm e t h o do f t h ef t ps e r v e ra n dw e bs e r v e ri sd i s c u s s e d a n da ni n t e g r a t em e t h o d o f s e r v e r si sd e s i g n e d w h i c hc a n i n t e g r a t e t h ed a t ac o m m u n i c a t i n gs e r v e r 、f t ps e r v e ra n d w e bs e r v e ri n t oo n es e r v e ra n du s eo n et c p i p p o r tf o rn e t w o r k s e i n e t h er e s e a r c ho ne m b e d d e dd a t a b a s e i no r d e rt oo n l i n ea n a l y z ea n dd i a g n o s et h e s t a t u so fe q u i p m e n ti ni t sl i f ec y c l ea n di no r d e rt or e m i n i s c ef a u l tr e a s o n so f e q u i p m e n t , a ne m b e d d e dd a t a b a s em o d u l ei sd e s i g n e dt om a n a g et h es t a t u si n f o r m a t i o no f e q u i p m e n t e q u i p m e n te n g i n e e r so rc u s t o m e r sc a nk n o wt h er u n n i n gs t a t u so ft h ee q u i p m e n tb y b r o w s et h ed a t a b a s ef r o mw e ba ta n y p l a c ea n d a ta n yt i m e t h ed e s i g no np r o t o t y p e s y s t e m f o rt e s t i n g o u rw o r k ,as i m p l e p r o t o t y p e o f e m b e d d e dr e m o t e m o n i t o r i n ga p p a r a t u so f b e a r i n gi sd e s i g n e d i t sf u n c t i o n si n c l u d e :w e b b a s e dr e m o t e m o n i t o r i n g ,r e m o t e f i l e m a n a g e m e n t ,r e m o t eo p e r a t i n go fe m b e d d e d d a t a b a 。0n ef m i s h e de m b e dl e dl i n v xs y s t e ma n da p p l i c a t _ :- - k , r o i a m so c c u p y1 6 m r a ma n d1 6 mf l a s h i tm e e t st h ed e m a n d o f i n t e l l i g e n tm a i n t e n a n c es y s t e m k e y w o r d s :l i n u xr e d u c t i o ns e r v e rr e d u c t i o n r e m o t e m o n i t o r i n g n 华中科技大学硕士学位论文 1 1 课题概述 1 1 1 课题来源 1 绪论 本文课题来源于以下科研项目: ( 1 ) 深圳市蓝滓信息技术有限公司和华中科技大学智能维护技术中心共同承担 的国家经贸委2 0 0 1 年重点技术创新项目“智能维护系统”; ( 2 ) 华中科技大学国家数控系统工程技术研究中心承担的国家2 0 0 1 年机器人技 术主题8 6 3 计划项目“开放式数控装备的远程操作、监控与诊断技术研究( 课题编号: 2 0 0 1 从4 2 3 2 3 0 ) ”。 1 1 2 课题的提出 本学位论文申请人所在的项目组参加并承担了国家经贸委2 0 0 1 年重点技术创新 项目“智能维护系统”和国家8 6 3 计划项目“开放式数控装备的远程操作、监控与诊 断技术研究”两个项目的部分研究工作。“智能维护系统”项目的主要研究内容是: 研制能嵌入和集成在被监测对象( 中) 的嵌入式、标准化、模块化远程监测、诊断、维 护控制软件和装置。“开放式数控装备的远程操作、监控与诊断技术研究”的主要研 究内容是研制能与开放式数控设备无缝结合的嵌入式远程操作、监测、诊断、控制软 件和装置,开发直接面向数控设备个体产品和最终用户的数字化远程服务支持平台。 上述两个项目的研究任务中都包含了“研制能嵌入和集成在被监测对象中的嵌 入式、标准化、模块化远程监测软件和装置”。图1 1 是嵌入式远程监测装置的结构 图,它由设备状态信息输入模块,设备信息处理模块、网络远程通讯模块和嵌入式数 华中科技大学硕士学位论文 据库模块四个主要部分组成。 图1 1 嵌入式远程监测装置结构图 该装置可作为一个独立的硬件模块嵌入在设备中,它通过r s 2 3 2 口、a d 卡等 外部接口获取设备状态信息:然后对设备状态信息进行分析处理,建立设备运行状态 数据库记录,并根据设备运行状态通过网络发出报警信息:同时通过网络提供设备运 行状态历史数据查询、当前设备运行状态信息、系统文件管理等功能。由于嵌入式远 程监测装置的功能比较复杂,所以在本课题中,嵌入式远程监测装置硬件平台选用 p c i 0 4 。 本学位论文承担其中的嵌入式l i n u x 操作系统的构建、嵌入式网络通讯模块开发 和嵌入式数据库模块设计三部分工作。 1 1 3 课题研究目的和意义 网络环境下的智能维护技术是未来设备维护的发展方向。它的意义在于“: ( 1 ) 实现设各的数字化维护; ( 2 ) 现设备使用过程的跟踪服务; ( 3 ) 使企业能在任意时间、任意地点为客户提供服务; 2 华中科技大学硕士学位论文 ( 4 ) 使厂商更注重设备老化的监控与预测,而不仅仅是设备故障的探测和诊 断。 本学位论文所研究的面向智能维护系统的嵌入式l i n u x 系统、网络通讯模块和嵌 入式数据库模块是智能维护系统中的单元技术和有机组成部分,具有重要的理论意义 和工程实用价值。 1 2 相关技术的国内外发展现状及趋势 1 2 1 智能维护技术 智能维护技术( i n t e l l i g e n tm a i n t e n a n c es y s t e m ) 是由美国u n i v e r s i t yo f w i s c o n s i n m i l w a u k e e u n i v e r s i t y o f m i c h i g a n 联合成立的i n t e l l i g e n t m a i n t e n a n c ec e n t e r 提出的网络环境下设备监测、诊断和维修服务解决方案。研究 内容包括e l l l o n i t o r i n g 、e - d i a g n o s t i c s 、e - - p r o g n o s t i c s 、s e f m a j n t e n a n e e , 目的是采用嵌入式计算机技术和网络通讯技术开发网络化设备智能诊断、维护技术, 开发“零故障率”和“2 4 一小时”在线技术服务的自动化产品和设备,从而使设备能 在接近零故障的状态下进行工作 利用网络来提高设备监测、诊断和维修的效率和智能化程度是目前的一个发展 趋势“。为解决半导体芯片生产设各的技术服务与保障问题,i n t e l 、p h i l i p 等1 3 家半导体制造商组成的国际性协作组s e m a t e c h 成立了e - d i a g n o s t i c 项目组,计划在 半导体芯片生产设备中加入含设各运行状态信息采集、监测、诊断和调试功能的 e - d i a g n o s t i c s 模块,实现设备制造厂家对产品的远程技术支持与服务。据a v a n t c o m n e t w o r ki n c 提供的资料,带e - d i a g n o s t i c s 模块的半导体芯片生产设备平均可缩短 l - 5 小时的故障处理时间,减少1 0 一1 5 万美元的损失“”“。 设备网络化远程监测、诊断与维修服务技术是提高全球化市场上我国企业产品 竞争力,降低技术支持与维修服务费用的一项核心技术。国内虽然起步较晚,但在国 家自然科学基金和8 6 3 计划的支持下发展速度很快。2 0 0 0 年国家自然科学基金资助 华中科技大学硕士学位论文 项目有。r 基于实时智能的远程监测故障诊断理论与方法研究”,2 0 0 1 年国家8 6 3 项 目资助的项目有“基于嵌入式网络的设备智能维护系统”、“基于资源节点的设备监 测诊断网络系统及关键技术研究”、“开放式数控装备的远程操作、监控与诊断技术 研究”“3 “1 。 1 1 2 2 嵌入式p c 操乍系统 本课题采用结构类似于台式p c 的嵌入式p c 作为硬件开发平台,目前可以在嵌入 式p c 平台上运行的嵌入式操作系统有很多,比较常见主要有如下几种:( 1 ) d o s , 在嵌入式p c 平台上非常活跃的操作系统,为了克服d o s 本身存在的一些问题,如不 支持大内存、长文件名、实时性、多任务、多线程等,目前有很多为解决这些问题而 出现的d o s 版本,如d j g p p ,是一个支持大内存( 达4 g b ) ,支持3 2 位的d o s 操作系 统”“:r o m d o s 支持大硬盘,支持长文件名,支持网络t c p 协议栈“;r e a l 3 2 实现 了操作系统的实时性“”;d r - d o s 支持多线程、多任务“。( 2 ) w i n d o w sn te m b e d d e d , 由w i n d o w sn t 发展而来,它提供安全、高效、灵活的网络服务,提供远程管理功能, 支持w i n 3 2a p i ,提供了w i n d o w sn t 的所有丰富功能,并且用户能够对操作系统进 行模块化定制“;( 3 ) w i n d o w sc e ,是面向小内存3 2 位移动智能连接设备而开发的模 块化实时嵌入式操作系统,具有多线程、多任务的特点1 ;( 4 ) l i n u x ,由于它的源 代码的开放性、可裁减性使其在嵌入式系统中得到了广泛的应用“1 ,比较成熟的嵌 入式l i n u x 产品有:r t l i n u x 、e m b e d i x 、m o b e l l i n u x 、x l i n u x 等“。“,目前l i n u x 在 嵌入式系统中朝着:图形界面、实时性和小型化三个方向发展“。1 。 与其他操作系统相比,l i n u x 具有源代码开放性、操作系统可裁减、支持网络、 支持多线程,目前许多嵌入式远程监测与诊断系统都采用l i n u x 操作系统。 1 2 3 嵌入式网络通讯技术 由于i n t e r n e t 技术的飞速发展,网络技术已经开始向嵌入式系统中渗透。嵌入 式网路技术已经进入了人们的日常生活。目前嵌入式网络通讯技术有以下几种: 4 华中科技大学硕士学位论文 ( 1 ) 一些低速单片机上t c p p 协议栈的实现。在单片机上根据单片机的特点对 t c p i p 协议栈进行设计,使单片机能够通过这个网络协议栈与外界进行网络通讯: 目前有很多工程师对嵌入式t c p i p 协议栈进行设计“; ( 2 ) e m w a r e 公司的e m i t 技术。嵌入式设备以8 1 6 位单片机为核心,本端的服 务器部分刻意地简化到仅仅保留h t m l 的标记,其它的服务器部分全部移到客户机一 侧;网络协议部分则放弃使用代码较长的t c p i p 协议而换用十分轻型的网络协议, 从而将设备端的名日e m m i c r o 减少到很小的i k b y t e 字节。而且e m m i c r o 有两部分: e m t a g 对应于h t m l 标记,e m n e t 对应于网络协议,也是功能二合一的。轻型的( 1 i g h t w 9 i g h t ) 网络协议( 如r s 2 3 2 、r s 4 8 5 、c a n 等) 可以支持在本端构筑小网。如果不与 i n t e r n e t 网相联便是孤立网;为要和i n t e r n e t 网进行网际联结,则须增加网关 ( e m g a t e v a y ) ,实行异种网络协议的互换3 : ( 3 ) 在高档的嵌入式系统或嵌入式p c 中,直接利用嵌入式操作系统提供的网络 协议栈对网络服务器进行设计。如a g r a n a ts y s t e m 公司在嵌入式设备上创建了e m w e b 服务器。在h t m l 文本中嵌入c 语言程序对实时数据进行访问,把c 语言库中的t c p i p 协议和其它重要的i n t e r n e t 高层软件标准( 如h t m l 、x m l 、r v s a 、t c n 等) 合并到 e m w e b 服务器中去“”。 1 2 4 嵌入式数据库技术 嵌入式数据库是指能运行在嵌入式p c 、p d a 等嵌入式软硬件平台上的数据库,它 具有数据库的基本特征“。 由于嵌入式数据库广泛的应用前景,国内外各研究机构纷纷展开了对嵌入式数据 库的研究,各大数据库厂商也陆续推出其主打数据库的嵌入式数据库系统,如i b m 公司的d b 2e v e r y w h e r e 、o r a c l e 公司的o r a c l el i t ed b m s 、s y b a s e 公司的a d a p t i v e s e r v e ra n y w h e r e 以及国内东北大学的o p e n b a s em i n i 1 ”。 i b md b 2e v e r y p l a c e 是用于p d a 、手持电脑或其他移动设备中的小型关系数据库 平台,包含d b 2e v e r y p l a c ed a t a b a s e 、d b 2e v e r y p l a c es y n cs e r v e r 和d b 2e v e r y p l a c e p e r s o n a la p p l i c a t i o nb u i l d e r 。其中d b 2e v e r y p l a c ed a t a b a s e 使得在移动设备中 华中科技大学硕士学位论文 可以存储一些本地数据以及来自中心服务器的数据,支持s q l 标准,可以进行查询、 更新和删除操作;a d a p t i v es e r v e ra n y w h e r e 是一个具有诸如完整事务处理、存储 过程、查询优化、触发器、行级锁等等特性的标准s o l 数据库。通过它的u l t r a l l i t e 提交技术,可以实现数据库的定制。o r ,e n b a s em i n i 最小的应用系统只有5 0 k b 左右: 支持w i n d o w sc e 和p a l mo s 、h o p e n0 s 等主流嵌入式操作系统,具有一般的数据库 功能,支持s q l 8 9 标准的子集并吸收了部分s q l 9 2 标准的特征,在某些方面还对s q l 标准进行了扩展,具有事务处理功能,支持事务的提交和回滚,可以保证操作的原子 性,具有完善的故障恢复机制。 1 3 本文的主要研究工作 本学位论以智能维护系统中嵌入式远程监测、诊断、维护装置的构造和实现问题 为研究对象,内容涉及嵌入式l i n u x 系统构建、嵌入式网络通讯模块设计和嵌入式数 据库三个方面的内容。具体研究工作主要体现在以下几个方面: ( 1 ) 在嵌入式远程监测装置中,为实现网络远程监测,网络通讯模块需具备 t c p i p 测量数据通讯服务器功能;为实现文件管理,网络通讯单元需具备f t p 服务 器功能;为实现节点浏览,网络通讯模块要具备w e b 服务器功能。为解决嵌入式p c 内存、闪存资源少,c p u 速度低与多网络服务器的矛盾,提出了服务器最小化裁减 和端口复用技术,对f t p 服务器和w e b 服务器进行最小化裁减,并将其与测量数据 通讯服务器集成。形成一个服务器,用一个端口和一个服务器耗费的资源提供多个网 络服务器的服务; ( 2 ) 针对嵌入式p c 的硬件资源特点和嵌入式远程监测装置功能需求,对l i n u x 操作系统进行了最小化裁减,裁减出了一个符合嵌入式远程监测装置需要的体积小、 性能稳定的嵌入式l i n u x 系统: ( 3 ) 为便于对设备状况进行全面的跟踪分析和诊断,也便于对设备事故发生原 因进行追忆,设计了一个嵌入式数据库模块,通过嵌入式数据库模块可以对设备的状 态特征信息进行查询、管理以及设备故障信号分析: ( 4 ) 设计了一个简化的轴承远程监测、诊断系统原型。原型系统主要功能包括: 6 华中科技大学硕士学位论文 基于w e b 的远程监测、远程文件管理和轴承状态查询。 本文内容组织如下: 第一章绪论,介绍了课题的相关背景知识。第二章嵌入式l i l n u x 系统的构建, 论述了嵌入式远程监测装置对嵌入式l i n u x 的功能需求,对l i n u x 内核体系结构和可 裁减性进行了分析,建立了嵌入式l i n u x 系统。第三章嵌入式远程监测装置网络通讯 模块设计,对网络通讯模块进行了功能需求力析,对网络通讯模块中的各个子功能模 块进行了设计,并对网络通讯模块进行了集成。第四章嵌入式数据库模块设计,对嵌 入式数据库模块进行了功能需求分析,对嵌入式数据库的a p i 和网络接口进行了设 计。第五章嵌入式远程监测装置原型系统开发,介绍了嵌入式远程监测装置原型系统 扪软硬件组成、功能以及原型系统的运作图例。第六章全文总结与展望,给出了本文 的主要结论和对下一步工作的展望。 华中科技大学硕士学位论文 2 嵌入式l i n u x 系统的构建 2 1 引言 l i n u x 是一种大型操作系统,它当初的设计并没有考虑到会被用于嵌入式系统, 如果简单的把l i n u x 移植到嵌入式p c 上是行不通,所以要对l i n u x 进行裁减。为了 满足嵌入式远程监测装置的功能要求及适应嵌入式p c 的硬件资源有限的限制,我们 从内核和文件系统两个方面对l i n u x 系统进行裁减,使裁减后的l i n u x 系统在达到要 求功能的基础上尽量最小。 2 2l i n u x 系统裁减需求分析 本课题采用嵌入式p c 作为系统开发的软硬件平台,受容量、功耗等因素限制, 目前嵌入式p c 的主流c p u 是3 8 6 、4 8 6 、5 8 6 ,内存一般4 m 到6 4 m ,电子盘容量一般 l i 到3 2 m ,与普通台式机相比其硬件资源要低几个等级。这是l i n u x 系统裁减时必须 考虑的硬件平台因素。 嵌入式远程监测装置是一个计算机,应具备操作系统的基本功能,即系统的文件 管理、设备管理、内存管理功能。 嵌入式远程监测装置要接入i n t e r n e t ,并为外界提供网络服务,所以嵌入式 l i n u x 必须支持网络功能,即系统要有t c p i p 协议和网络驱动模块。 嵌入式远程监测装置需要通过a d 卡、g p i b 卡等获取设备状态信息,需要用到 外部中断、d m a 、串口、并口等资源,即系统必须支持这些硬件和功能。 嵌入式远程监测装置作为一个模块嵌入在被监测对象中,一般没有显示器、键盘 等外设,通过网络来进行控制和管理,可以去掉显示器、键盘、声卡等硬件驱动模块。 嵌入式p c 硬件与普通p c 不完全一样,它的设备驱动模块与普通p c 机也不完全 相同,如嵌入式p c 的电子盘与p c 机上的硬盘,所以嵌入式l i n u x 系统应该能驱动这 t rj 8 华中科技大学硕士学位论文 些模块。 2 3l i n u x 内核体系结构及内核可裁减性分析 图2 1l i n u x 单内核结构 l i n u x 的内核结构简图如图2 1 所示。虚线部分是l i a u x 单内核结构,所谓的单 内核也就是说,它是一个大程序,其中任一函数都可以访问公共数据结构和其它函数 调用。这样能使系统的各部分直接沟通,有效地缩短任务之间的切换时间,提高了系 统的响应速度,实时性好并提高了c p u 的利用率,但在系统比较大的时候体积也比较 大。 虽然l i n u x 的内核是单核结构,但它引入了模块机制,模块本身是可被剪裁的, 并可动态地加载和卸载,这使得l i n u x 内核在某种程度上具有了层次化和模块化的特 性。实际上,l i n u x 的核心中,进程调度、内存管理、中断管理、定时器管理等所占 体积* t t d , ,核心的大部分为设备驱动程序。而绝大部分设备驱动程序都是用模块方式 实现的。 对于采用嵌入式p c 的设备远程监测装置,只使用了少量的设备,所以可以有针 9 华中科技大学硕士学位论文 对性的保留网卡、串口、并口等特定的设备驱动模块,剪裁掉其他未用到的设备驱动 模块。除了面向设备驱动程序的模块可被裁减外,l i n u x 内核中还有其他一些可被剪 裁的模块,如n f s ( 网络文件系统) 等1 。 2 4 嵌入式l i n u x 系统的建立 2 4 1 裁减方法 目前,有很多版本的嵌入式l i n u x 操作系统,如e m b e d i x 、e t l i n u x 等。这些嵌 入式l i n u x 都是源代码开放的,都可以得到它们的内核,但是它们的开发工具和开发 环境都是商业的,需要购买。并且由于他们是商业的,所以他们的一些技术是保密的, 不具备开放性,所以在开发的时候会遇到很大的难度。另外,这些嵌入式l i n u x 系统 主要是针对通讯、信息家电等嵌入式应用场合设计的,其应用需求与远程监测有许多 区别,如对外部中断、d m a 等底层操作的开放程度和对数据采集卡等外设的支持程度 不够,因此我们选择对标准l i n u x 进行裁减的方案。 为了缩小系统体积,采取从内核和文件系统两个方面对l i n u x 系统进行裁减。对 内核的裁减采取内核精简的方法进行,即根据嵌入式p c 特点和嵌入式远程监测装置 的功能需求对内核编译选项进行取舍,从而设计出一个最小的内核。 对文件系统的裁减从以下两个方面进行: t 去掉一些系统不需要的系统管理、设备管理、文件管理命令,留下最基本的 管理命令: 2 对函数库进行裁减,只留下系统和以后开发应用程序所需要的库。 2 4 2 内核的精简 嵌入式远程监测装置的硬件平台采用的是嵌入式p c 。嵌入式p c 的存储设备是电 子盘,规格有8 m ,1 6 m 或3 2 m 等,容量都不大,不能用般的硬盘驱动,而要用o l di d e d e v i c e 模块:嵌入式p c 有串口、并口,所以要选择串、并行口支持模块;因为系统 1 0 华中科技大学硕士学位论文 要有网络功能,所以要把网卡的驱动程序和网络协议栈加进去。由于嵌入式p c 没有 其他的硬件模块,所以其它的选项都不选,选项选好之后,就可以利用内核编译命令 进行内核的编译,编译好了的内核放在u s r s r c l i n u x a r c h i 3 8 6 b o o t 目录下,内 核映像文件名为z l m a g e 。经过上述方法裁减后的内核大小为3 5 2 k ,而不做裁减的内 核将近6 0 0 k 。 2 4 3 文件系统建立 对l i n u x 体积的裁减主要集中在对l i n u x 文件系统的裁减上,对内核的裁减节省 不了太多的空间,一般的内核在6 0 0 k 左右,最小的内核也不会小于l o o k ,所以对l i n u x 系统的裁减很大一部分工作在于对文件系统的裁减。 标准l i n u x 文件系统的结构如下图2 2 所示“: b i n m b i n d e v e t c h o m 1 i b p r o c t :p “| 甚n i n c l 髓u d e l i b 毛 b 1 h 一 1 一 l - - - - - - - - - - - - - 一 i n c l u d e 1 i b - 二二翟。 图2 2l i n u x 文件系统树状结构图 其中主要目录的含义如表2 1 所示。 訾一 0 k 鬈聆 华中科技大学硕士学位论文 表2 1l i n u x 下文件系统主要目录及其含义 目录名含义 b i n包含常用的用户命令,如1 s 、s h 等 s b i n包含所有系统管理命令,如f d i s k 、1 i l o 等 e t c存放系统及软件的配置文件,如l i l o c o n f 文件 b o o t放置有关系统启动的相关文件,如内核映像文件v m l i n u z d e v 包含系统所有的硬件装置文件 1 1 i b包含系统所有的库文件 p r o cp r o c 文件系统的主目录,包含了系统的启动信息 m n t只用于挂接 u s r含有用户的命令,程序及库等 表2 2 嵌入式远程监测装置b i n 目录下的命令及功能说明 命令功能说明 b a s h 控制台使用b a s hs h e l l 解释执行命令 s h b a s h 的符号连接 d a t e 查取系统时间值 m o u n t 挂接根文件系统 u m o u n t 卸载文件系统 c p文件拷贝命令 1 s 列出目录下的文件需使用的方式 r m 0 1 r 删除目录 m k d i r 建立目录 m v 移动文件 r m 删除文件 p 1 n g网络测试命令 华中科技大学硕士学位论文 为了满足嵌入式远程监测装置对操作系统提出的功能需求,我们建立的文件系统 由如下目录组成:b i n 、s b i n 、e t c 、b o o t 、d e v 、l i b 、m n t 、p r o c 、u s r 。 在b i n 中存放有大量的用户管理命令,对于嵌入式远程监测装置来说没必要每 个命令都要,可以只选择一些必须的用户管理命令,其它的都可以不要。选择的命令 如表2 2 所示: 同理我们可以对s b i n 、e t c 、b o o t 、d e v 、l i b 目录进行类似的裁减,最终 裁减的一个结果如表2 3 所示: 表2 3 嵌入式l i n u x 文件系统的构成 目录包含的内容 b a s h ,d a t e ,s h ,m o u n t ,u m o u n t ,c p ,l s ,r m d i r ,m k d i r ,m v ,r m b i n 和p i n g m i n g e t t y ,r e b o o t ,h a l t ,s u o g i n ,u p d a t e ,i n i t ,f s c k ,t e l i n i t s b i n 和m k f s h o s t n a m e ,b a s h r c ,f s t a b ,g r o u p ,i n i t t a b ,n s s w i t c h ,p a m d , e t cp a s s w d ,p w d b c o n f ,r c d ( 目录) ,s e c u r e t t y ,s h a d o w ,s h e l l s 以及l i l o c o n f b o o tb o o t b ,s y s t e m m a p 和z l m a g e c o n s o l e ,f d o ,h d a l ,h d a 2 ,h d a 3 ,k m e m ,m e n ,n u l l ,t t y l 和 d e v t t y s o l i b c s o 6 ,1 d l i n u x s o 2 ,1 i b c o m _ e r r s o 2 ,1 i b c r y p t s o 2 , l i b l i b p a m s o 0 ,l i b p a m _ m i s c s o 2 ,1 i b u u i d s o 2, l i b n e s s f i l e s s o 2 ,l i b t e r m c a p s o 2 和s e c u r i t y ( 目录) r a n t空 p r o c 空 , u s r放置应用程序、库等 华中科技大学硕士学位论文 2 4 4 脚本设计 l i n u x 系统在启动和退出时使用了大量的脚本,这些脚本用于启动或者停止服务 进程。这些脚本定义了系统启动时设备加载的类型以及包含了一些系统创始化命令, 如挂接文件系统、读取网络设置、检查文件系统以及启用交换分区,装载声音模块等 3 。由于l i n u x 内核精简后启动和支持的设备与标准l i n u x 系统不同,需要重新定义 系统的启动和退出脚本。 1 理解l i n u x 的启动和退出过程 图2 3 系统启动流程 不同体系结构的计算机启动过程稍有差别,由于我们采用的嵌入式p c 硬件结构 为x 8 6 系列,所以这里详细解释x 8 6 计算机启动过程。 1 4 华中科技大学硕士学位论文 启动流程如图2 3 所示“。计算机加电后b i o s 就会寻找有无系统开机磁盘,如 没有的话,寻找硬盘的她r ( m a s t e rb o o tr e c o r d ) ,并执行记录在m b r 上的程序, 而这个程序通常就是操作系统的l o a d e r ,以l i n u x 来说就是l i l o ( l i n u xl o a d e r ) ; l i l o 执行后会载入l i n u x 的k e r n e l ;k e r n e l 载入后,内核会搜寻系统的所有硬件设 备、并驱动它们,k e r n e l 对硬件的检查完成后会调用i n i t 程序;i n i t 被启动后,根 据e t c i n i t t a b 脚本决定进入哪个运行级别,并根据运行级别执行相应的脚本启动 特定服务,这些脚本包括e t c r c d r c s y s i n i t 和e t c r c d r c n d 。脚本运行完成 后由进程i n i t 启动g e t t y 进程给出等待提示。 l i n u x 的退出过程相对要简单一些。一般来说,退出时l i n u x 运行e t c r c 6 d 中的脚本来终止服务进程,其中最重要的是脚本s o l r e b o o t 。不过因为l i n u x 使用了 多种缓存机制,写入磁盘的数据并不一定立即写到了物理设备上,因此以切断直接退 出可能导致数据的丢失。 2 决定运行级别脚本的设计 i n i t 进程读取的第一个脚本文件就是e t c i n i t t a b ,此脚本的主要功能是决定 l i n u x 系统将进入的运行级别,因此i n i t t a b 叫做决定运行级别的脚本。 标准l i n u x 中的i n i t t a b 脚本文件中有七个运行级别,分别是0 、l 、2 、3 、4 、 5 和6 。具有g u i 界面的l i n u x 系统默认运行级别是5 ,即运行x l l 。无g u i 界面的 l i n u x 系统默认运行级别是3 。这七个运行级别的含义如表2 4 所示。 表2 4 运行级别含义 运行级别含义 0关闭系统 1表示重启至单用户模式 2表示无n f s 支持的多用户模式 3 表示完全多用户模式 4保留给用户自定义 5 表示x d m 图形登录方式 6 系统重新启动 华中科技大学硕士学位论文 i n i t t a b 脚本共建立6 个虚拟控制台,即同一用户可以在六个不同的虚拟控制台 登陆,这样使用户同时在多个控制台工作。但是这样非常占系统内存。 针对嵌入式远程监测装置内存少、无图形界面的特点,以及简化i n i t 进程启动 的服务程序,我们对特定运行级别脚本进行了如下修改:因为嵌入式远程监测设备没 有显示设备,所以不要启动图形界面的运行级别5 ;因为不需要自定义运行级别,所 以不要自定义级别4 ;因为嵌入式监测设备需运行多用户环境,所以不要单用户模式 1 ,不要无n s p 的多用户模式2 ,保留运行级别3 ;因为系统要重启和关闭,所以保留 级别6 和级别o ;为了节省嵌入式远程监测装置的内存,只建立一个虚拟控制台。 3 自定义公共启动脚本 公共启动脚本e t c r c d r c s y s i n i t 是与运行级别无关的脚本,此脚本运行时, 其他脚本如由b o o t 运行的脚本不能运行。在分析了标准l i n u x 的公共启动脚本之后, 发现这个脚本挂接了p r o c 文件系统,设置了内核时钟,启用了交换分区,对文件系 统进行了检查,检查了内核模块之间的依赖关系,装载了声音模块和混音器设置,读 入网络配置,挂接其他文件系统( 如网络文件系统等) ,对串行口进行了初始化等等, 可以发现这个脚本过于冗长,并且启动了很多设备。由于嵌入式远程监测装置没有很 多设备,所以系统启动时并不需要进行那么繁琐的检查。针对这种情况,我们参照标 准l i n u x 的公共启动脚本,自行设计了嵌入式远程监测装置的公共启动脚本,这个脚 本只挂接p r o c 文件系统、设置了系统内核时钟、进行了网络设置、挂接了文件系统, 这样不但节省了系统资源,而且加快了系统启动的速度。标准l i n u x ( r e d h a t 6 0 ) 在赛扬4 3 3 p c 机上的启动时间是7 0 秒,启动脚本修改之后启动时间只需要3 0 秒,实 现瞬时启动。 4 自定义退出脚本 退出脚本主要用于终止所有启动的服务进程。终止信息打印在屏幕上,直到显示 “p o w e to f f ”。标准l i n u x 系统设置退出脚本的初衷是让系统在关闭前或者说进入 运行级别0 、6 以后运行e t c r c d r c 脚本,同时利用e t c r c d r c 脚本间接执行 e t c r c d r c 6 d 目录下的所有脚本。e t c r c d r c 6 d 目录下的核心脚本文件是 1 6 华中科技大学硕士学位论文 s l o r e b o o t ,实际上执行这个脚本文件就可以终止系统所有的服务进程,但是为了可 靠地终止系统服务,有时需要逐项检查。 针对嵌入式远程监测装置的具体要求,首先对嵌入式l i n u x 系统中 e t c r c d r c 6 d 以及e t c r c d r c o d 目录下面的文件进彳亍了组织,屏蔽那些为可 靠终止服务进程而编写的脚本,直接让s o l r e b o o t 负责终止所有进程。这样就加快了 嵌入式远程监测装置的关机和重新启动的速度,使原来的2 5 秒缩短到5 秒钟,实现 瞬时关机和重肩 在对l i n u x 进行了上述三个步骤的裁减和修改之后,建立的嵌入式l i n u x 系统大 小为1 2 m ,运行时占内存l o m ,具有基本的系统管理功能( 3 t 件管理、内存管理、文 件管理) ,系统启动速度快、稳定性好,具有多任务、多线程的特征,支持串口和并 口,允许外部时钟中断,支持d m a 传送方式,并带有t c p i p 网络协议栈和一些常用 网卡的驱动程序,能够很好地达到嵌入式远程监测装置提出的要求。 2 5 本章小结 本章首先对l i n u x 系统的裁减需求进行了分析,然后对l i n u x 的内核结构和可裁 减性进行分析,最后对标准的l i n u x 系统r e d h a t 6 0 进行了裁减。在组建嵌入式l i n u x 系统的过程中对以下问题进行了详细的研究和实践: ( 1 ) 分析了l i n u x 的内核结构,提出按嵌入式远程监测装置所需要的功能进行 裁减的方案,并编译出了一个小的l i n u x 内核; ( 2 ) 对l i n u x 的文件系统进行了分析,提出按嵌入式远程监测装置所需功能对 文件系统进行裁减的方法: ( 3 ) 分析了l i n u x 的启动和退出过程,提出按嵌入式远程监测装置的功能特点 和硬件限制的启动和退出脚本设计方法。 1 7 华中科技大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论