(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf_第1页
(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf_第2页
(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf_第3页
(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf_第4页
(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(电气工程专业论文)用嵌入式linux组建的三相电能表校验仪.pdf.pdf 免费下载

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

文档简介

华。中科技犬学硕士学位论文 摘要 电能、电压和电流是电力仪器仪表中最基本、最重要的测量量。现在的仪器仪 表的测量精度要求越来越高、界面越来越好,并且产品更新换代的速度也越来越快。 因此产品构建方案设计在近代的产品设计中特别重要。 本文论述精度为0 0 5 的三相电能表校验仪的嵌入式l i n u x 和d s p 相结合的构建 方案。嵌入式l i n u x 在国内刚刚兴起,但其发展势头猛烈。l i n u x 功能强大、免费开源 和性能稳定,以及k d e 和嘴优秀的界面编程软件和强大的网络功能为仪器仪表的 操作和界面设计提供了良好支持。本文介绍了以高性能的数字信号处理芯片d s p 为核 心设计的高精度的数据采集系统。数据采集和界面设计的软件、硬件分离设计,各 发挥所长,是校验仪设计的基本特点。将产品的软、硬件分块的多c p u 设计方法, 避免了单处理器中多中断多线程对批量数据采集的不利影响。并能有效地简化软、 硬件设计,增强软、硬件模块在设计成其它系统的复用性。这种分布式的软、硬件 设计模式还有利于开发人员工作分配、加快开发周期和产品更新换代。 本文从产品研制,实际应用和设计出发,详细论述嵌入式l i n u x 构建,l i n u x p q 核的裁减,l i n u x 的编程环境和方法。以及用d s p 设计的高精度锁相环采样方法,及 嵌入式l i n u x 和d s p 之间的网络通讯。 本文提出产品设计的这种新方案,其目的是以三相电能表校验仪为实例,探索 嵌入式l i n u x 系统的开发经验,并完成一套高精度的a d 数据采集系统。 关键字:嵌入式l i n u xq 1 蝙程u d p 协议锁相环 华中科技+ 炎学:顽士学住论文 a b s t r a c t t h em e a s u r eo ft h ee l e c t r i cp o w e r , e l e c t r i cv o l t a g ea n de l e c t r i cc u r r e n ti sm o s t f u n d a m e n t a la n de v e ri m p o r t a n td a t ai ni n s t r u m e n to ri n s t r u m e n tp a n e l t h ec u r r e n t i n s t r u m e n t sr e q u e s tt h a ti t sm e a s u r ep r e c i s i o ni sm o r ea n dm o r eh i g h ,i n t e r f a c ei sp r e f e c t , u p d a t i n ga n du p g r a d i n go fp r o d u c ti sm o r ea n dm o r ef a s t ,s o ,d e s i g np l a n to fp r o d u c ti s v e r yi m p o r t a n ti nr e s e a r c ha n dd e v e l o pp r o c e s so fm o d e mp r o d u c t t h et h e s i sd i s c u s s e st h eb l u ep r i n tw h i c hc o m b i n e se m b e d d e dl i n u xa n dd s po f t h r e e - p h a s ew a t t h o u rc h e c k o u tm e t e rw h i c hp r e c i s i o ni sh i g l lt oo 0 5 t h ee m b e d d e d l i n u xt e c h n o l o g yj u s tr a i s e si no u r c o u n t r y , b u ti td e v e l o p e dv e r yf a s t i na d d i c t i o nt ot h e c h a r a c t e r so fl i n u xa r ep o w e r f u lf u n c t i o n ,f r e e l yo p e n i n gs o u r c ec o d e ,a n ds t a b l ef u n c t i o n , a l s om a n ye x c e l l e n ti n t e r f a c ee d i t o rs o f t w a r e ,s u c ha sk d ea n dq t , a n dp o w e r f u ln e t w o r k f u n c t i o np r o v i d ef a v o r 曲l es u s t a i nf u rt h es o f t w a r eo p e r a t i o na n di n t e r f a c ed e s i g no ft h e i n s t r u m e n to rp a n e l t h eo t h e rp a r t si n t r o d u c eah i g h e rp r e c i s i o nd a t e - a c q u i s i t i o ns y s t e m d e s i g n e do nb a s eo fh i g hf u n c t i o nd i g i t a ls i g n a lp r o c e s s i n gc h i pd s et h es o f t w a r ea n d h a r d w a r eo fd a t a - a c q u i s i t i o na n di n t e r f a c ed i v i d ed e s i g ni st h eb a s i sc h a r a c t e r i s t i c so f d e s i g no ft h r e e - p h a s ew a t t - h o u rc h e c k o u tm e t e r t h es o f t w a r ea n dh a r d w a r eo fp r o d u c t w a sd i v i d e di n t om a n yc p u ,w h i c hi saw a yt oa v o i dm a n yi n t e r r u p ta n dm u l t i l i n e si n s i n g l ep r o c e s s o rh a v i n gd i s a d v a n t a g e o u si n f l u e n c et od a t a a c q u i s i t i o n i tc a ne f f e c t u a l l y r e d u c ed e s i g no fs o f t w a r ea n dh a r d w a r e ,a n ds t r e n g t h e nt h er e u s eo fs o f t w a r ea n d h a r d w a r em o d e li nt h ep r o g r e s so fd e s i g n i n go t h e rs y s t e m t h i sd e s i g nm o d e li s9 0 0 df u r d e v e l o pp e r s o nw h oa l l o t m e n tt h e i rw o r k ,s p e e du pd e v e l o pp e r i o da n du p d a t i n ga n d u p g r a d i n go fp r o d u c t t h et h e s i sb a s eo np r o d u c tr e s e a r c ha n dd e v e l o p ,a p p l i c a t i o na n dd e s i g n ,w h i c h d i s c u s s e s b n i l d i n g - u po fe m b e d d e dl i n u xi nd e t a i l ,c u t t i n go fl i n n xk e r n e l ,t h e e n v i r o n m e n ta n dm e t h o do fp r o g r a mi n l i n u x ,t h ew a yo fs a m p l i n gu s i n gt h e p h a s e - l o c k e dl o o pd e s i g n e db yd p s ,n e t w o r kc o m m u n i c a t i o nb e t w e e ne m b e d d e dl i n u x o p e r a t i o ns y s t e ma n dd s e t h i st h e s i sp u t t e df o r e w o r dan e ww a yo fp r o d u c td e s i g n ,i t sa i mi st op r o b ei n t o e m b e d d e dl i n u x d e v e l o pe x p e r i e n c e a n d c o m p l e t e a h i g h e rp r e c i s i o n a d d a t a - a c q u i s i t i o ns y s t e m k e yw o r d :e m b e d d e dl i n u xq tp r o g r a m s u d pp h a s e - l o c k e dl o o p i i 独创性声明 本入声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集 体,均己在文中以髓确方式标明。本人完全惹识到本声明的法律后果由本人承担。 学位论文作者签名疵濞 日期:加卜年4 - 月7 目 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,。可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年解密后适用本授权书。 本论文属于 不保密曰。 ( 请在以上方框内打“”) 学位论文作者签名 毋水冰 日期:加譬年单月1 曰 指导教师签名 日期:旆 华中科- 技大学硕士学位一论文 。 l 绪论 本文阐述以u u x 【1 】为操作系统【2 】的嵌入式系统组建电能表校验仪的基本原理, 探讨了嵌入式l i n u x 的应用。首先说明,作为电能校验仪这一装置国内外研制的厂家 众多。我们研制电能校验仪的意义更在于设计高精度的测量系统的软、硬件通用模 板,并探索高效快速的设计、组建界面良好的测量系统的新方法。 1 1 校验仪的基本原理 电能是电力系统中最重要的物理量,对电能的准确测量直接关系用户和电力生产 厂家对电能的计量。单相、三相电能表校验仪采用数字信号处理技术,可在现场不 拆表、不断电情况下快速校验出电能表实时电压、电流、功率、标准电能及误差【3 】。 校验仪主要采用接受电度表发出的脉冲,其脉冲分为高频和低频脉冲两种方式。 目前电能计量有机械式电度表和电子式电度表两种。对机械式电度表需要经过光电 头将电度表转盘所转的圈数转化为脉冲,然后在根据电表每圈所对应的电能( 电表 常数) 计算误差,一般采用低频脉冲校表法。对于电子式电度表一般都可以发出高 频和低频脉冲,相应的就有高频脉冲校表法和低频脉冲校表法两种。 1 2 校验仪现状和发展趋势 目前国内不少公司研制高精度的电能校验仪,其中有深圳市科陆电子科技股份 公司、上海中荣等公司,其硬件一般采用a d ,多c p u 加大规模运算矩阵模块,其软 硬件设计复杂而且强调专用性,难于移植到其它测量系统中使用。 三相电能表校验仪,一般可检定的仪表种类有:交直流电压、电流表i 单- - 相 有功、无功功率表,相位表,功率因数表,频率表,同步表等。 三相电能表校验仪大多应用先进的全数字化交流采样技术,采用数字化校正技 术,自动校正仪表误差。具有同步工频参数测量功能( 如电压、电流有效值;有功、 无功功率;工频频率;功率因数等) ,可校验各种有功、无功电能表;自动判别电表 接线状态并提示接线错误;适配5 a 至5 0 0 a 多种规格的电流钳;能与计算机、打印机、 条形码扫描器等多种周边设备连接并交换数据。 华中科技大学颂士学位论文 三相电能表校验仪生产厂家多,其发展趋势总的来说是提高精度、美化界面, 简化操作。 1 3 用嵌入式系统组建校验仪的优点和意义 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用 于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机应用系统。它一般 由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部 分组成,用于实现对其他设备的控制、监视或管理等功能。 l i n u x ,一种可以运行于个人电脑和嵌入式系统上的类u n i x 的操作系统,问世 于1 9 9 1 年。它在出现之初,就立刻以其自身独特的自由、奔放、免费的形式吸引了 世界范围内的大量优秀计算机技术人员,无怨无悔地投入到对它的开发和不断的完 善工作之中去,这个人类历史上最大的软件工程就这样被在全世界的范围内启动了。 正所谓十年磨- - n ,在经过十多年的发展后,今天的l i n u x 操作系统已经在全球范围 内掀起了一股愈演愈烈的l i n u x 风暴,并逐渐渗透到了几乎所有与r r 产业相关的领域, 直接威胁至l j 7 w i n d o w s 等商业操作系统的霸主市场地位。现在,国内几大主要的l i n u x 厂商也将主要的注意力放在其上了。使得l i n u x 在近两年内迅速崛起成为嵌入式领域 的一匹黑马。 以嵌入式l i n u x 系统【4 】来开发校验仪的优点:硬件品种丰富,同时,l i n u x 所具备 的稳定、高效、易定制、易裁减、硬件支持广泛等特点,结合上其所独具的免费、 开放源代码等特征,简化了软件设计,开发人员只需集中精力在校验仪所需的电能 的f f r 算法等个别专用性的软件上,利用q t 或m i n i g u i 和嵌入式l i n u x 开发软件能 快速完成界面显示、打印等其他部分软件【叫。 用嵌入式系统组建校验仪的意义不仅在于能快速开发校验仪这一装置。其目的 更在于获得设计高精度的软、硬件通用测量系统的模板,和应用嵌入式l i n u x 快速组 建应用系统的新方案。 2 。华中料技。大学颂士学位论文 1 4 课题的来源及所研究校验仪的主要任务 考虑到不少的仪器都是基于电流、电压或电流与电压之间的夹角的精确测量, 而三相电能校验仪就是一个比较典型的这些物理量的测量装置,其电能就是与电流、 电压及其夹角密切相关的物理量。武汉高压所华电电器公司提出以三相电能校验仪 为基本课题设计一套精确测量仪器,其目的是探索嵌入式l i n u x 系统的开发经验,完 成一套高精度的a d 数据采集系统。 3 华中科技? 大学硕士学位论文 2电能校验仪嵌入式构造方案 2 1 系统构成 由于高精度的测量系统中每周波数据采集的点数多,采样间隔要求严格,系统 采用饼干p c ( 一种嵌入式主板,详见第三章) 加d s p 的结构。d s p 完成数据的采集, 脉冲收发,并将数据经由网络送往饼干p c 。由饼干p c 完成快速傅利叶算法,计算 出电流、电压和电能再送往d s p 。d s p 将电能转换为脉冲量并发送。 2 2 硬件构成 电能校验仪嵌入式系统硬件组成如下所示: l 大屏幕液晶显示 甲 u 盘卜一r l 一 一 饼干p c 网络 一r t l t s j p l :卜i i 键盘i 卜圳画i 饼干p c 部分l 图硬件框图 嵌入式板卡的种类繁多,饼干具有体积小、功能全、易于扩展、可以 接大容量的盘或u 盘等特点。饼干基本上就是一套完整的机主板的体 积微缩。因此其功能强大,硬件接口齐全,软件编写环境良好。因此,它完成大部 分的系统功能,包括图形、显示、打印、键盘处理、盘接口、网络接口、以及 华中科技大学,硕士学住论文 核心的h 可算法。 以d s p 为核心的数据采集主要包括a d 、网络、脉冲收发三部分,就其功能结 构大大简化。其主要完成a d 转换数据采集,并将数据经网络接口实时送出。这一 部分是大多测量系统必不可少,而且是最重要的一部分。它的高精度、高实时性的 设计方案为其它测量系统提供了技术及软硬件直接引用的基础,简化了一些测量装 置的设计过程,避免了模拟量到数字量的软、硬件重复开发过程。 在数据采集板中,以8 2 5 4 计数器为核心的脉冲收发电路是校验仪为发送和接受 脉冲所必需的、特有的一部分电路。当校验仪作为校验表时。d s p 检测8 2 5 4 计数器 触发时刻,并将这一刻时间记录下来发送到饼干p c 。当校验仪作为被校表时d s p 接 受来自饼干p c 的脉冲电能量,改变8 2 5 4 的分频常数,发送高、低脉冲。 2 , 3 系统软件 在饼干p c + d s p 的设计系统中,网络成为数据交换的核心。在该系统中网络协 议采用的是“改进”的u d p 协议增加了应答数据包。其设计思想类似于网络计算1 5 1 1 6 1 1 7 1 。 在d s p 板卡中的软件数据流包括发送和接受两大部分,其发送数据流图【8 】如图 2 2 。 图2 - 2 发送数据流图 华:中j 科技大学硕士竽位论文 车盲曩= = 鼍皇= = 昌= = = = = 宣鲁皇皇兰篁暑宣墨田南昌号篁昌鲁墨= = = = = = = 。;。 发送数据流主要完成模拟量到数据量的量化,并将结果送到饼干p c 。 接收数据流图如图2 - 3 。 图2 - 3 接受数据流图 接受数据流主要是将电能量转换为脉冲量,并由8 2 5 4 分频计数器将脉冲发出。 饼干p c 的软件数据流如图2 - 4 。 图2 - 4 饼干p c 软件数据流 华中科技:炙学硕士学- 位。论? 匿更i 饼干p c 主要是利用它的高性能完成了f f p 算法及大屏幕液晶显示【9 1 【1 0 1 1 1 1 】【1 2 t a l , 而利用嵌入式l i n u x 丰富的软件资源,q t 、k d e 等优秀的界面编辑软件,快速完成 操作界面。 以上各部分的具体分析将在以下章节详细叙述。 华中科技大学颂士学位论文 3 嵌入式l i n u x 的结构 3 1 硬件基本构成 从款式上来说,嵌入式板卡有嵌入式p c i 0 4 主板、全长卡主板、半长卡p c i 接口 专用主板、p o s 结构主板、p c i 0 4 模块、饼干p c 等。各款主板主要采用i n t c l 系列的c p u , 它的工作频率6 6 m 1 0 0 m 1 3 3 m h z 以上,集成一个1 0 1 0 0 m b p s m 络接口、d o c 接口, 小硬盘接口、二串并,并提供扩充用的p c i 0 4 接口、u s b 接口、c r t 接口、键盘接 口等。 嵌入式计算机系统同通用型计算机系统相比具有以下特点【1 4 】【1 5 】: ( i ) 嵌入式系统通常是面向特定应用的,嵌入式c p u 与通用型的最大不同就是 嵌入式c p u 大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、 集成度高等特点,能够把通用c p u 中许多由板卡完成的任务集成在芯片内部,从而 有利于嵌入式系统设计趋于小型化,功能大大增强,跟网络的耦合也越来越紧密。 ( 2 ) 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的 具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高 度分散、不断创新的知识集成系统。 ( 3 ) 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力 争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更 具有竞争力。 ( 4 ) 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品 同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。 ( 5 ) 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储 器芯片或单片机本身中,或f l a s h 盘中,而不是存贮于磁盘等载体中。 ( 6 ) 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不 能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。 。 华中科技大学硕士学位论文 3 2 嵌入式l i n u x 的简介 l i n u x 操作系统核心最早是由芬兰的l i n u st o r v a l d s1 9 9 1 年8 月在芬兰赫尔辛基大 学上学时发布的 那年t o r v a l d s2 5 岁】,后来经过众多世界顶尖的软件工程师的不断修 改和完善,l i n u x 得以在全球普及开来,在服务器领域及个人桌面版得到越来越多的 应用,在嵌入式开发方面更是具有其它操作系统无可比拟的优势,并以每年1 0 0 的 用户数量递增,显示了l i n u x 强大的力量。 l i n u x 是一套免费的3 2 位多人多工的操作系统,运行方式同u n i x 系统很像,但 l i n u x 系统的稳定性、多功能力与网络功能已是许多商业操作系统无法比拟的,l i n u x 还有一项最大的特色在于源代码完全公开,在符合g n ug pl 【1 9 】( g e n e r a lp u b l i c l i c e n s e ) 的原则下,任何人皆可自由取得、散布、甚至修改源代码。 与其它操作系统相比,l i n u x 还具有以下特色: 1 ) 采用阶层式目录结构,文件归类清楚、容易管理。 2 ) 支持多种文件系统,如e x t 2 f s ,i s o f s 以及w i n d o w s 的文件系统f a t l 6 ,f a t 3 2 , n r f s 等。 3 ) 具有可移植性,系统核心只有小于1 0 的源代码采用汇编语言编写,其余均是 采用c 语言编写,因此具备高度移植性。 4 ) 可- q 其它的操作系如w i n d o w s 9 8 2 0 0 0 x p 等并存于同一台计算机上。 l i n u x 包含大量应用软件,如桌面k d e 、开发软件k d e v e l o p 、数据库m y s q l 和p o s t g r e s q l 等;,为l i n u x 的应用提供了良好的基础。 一个最基本l i n u x f l q 内核【1 6 】、引导程序l i l o 或g r u b 1 7 】、s 阳! u 1 8 l 构成。而 x w i n d o w 提供了完美的图形界面。 3 3 内核剪裁 本节介绍构建一个小型的l i n u x 系统。它占用的硬盘空间小于1 6 m 字节,但 是却包括了x f r e e 8 6 的x w i n d o w 窗口系统。 ( i ) 目标 目标是l i n u x 系统运行在一台普通的i n t e l3 8 6p c 机上,可以有硬盘,也可以 华中科技太:学硕士学位论文“ 不要硬盘,而用f l a s hd i s k 来代替。如果是用f l a s h 盘的话。需要b i o s 能够支持从 f l a s h 盘启动,而且f l a s h 盘的大小要在1 6 m 字节或者以上。而且一开机启动,就 直接进入x w i n d o w 图形界面,运行事先指定好的程序。不需要用户输入用户名和 密码进行登录。 ( 2 ) 系统启动 考虑到要从f l a s h 盘进行启动,选择用l i l o 作为b o o tl o a d e r ,而不选用 g r u b 。这是由于g r u b 虽然有较强的对硬盘和文件系统的识别能力,但f l a s h 盘 到底不是标准的硬盘,所选用的文件系统g r u b 不一定认识。而l i l o 就简单多 了,它在硬盘开始的m b r 写入一个小程序,这个小程序不经过文件系统,直接从 硬盘扇区号,读出k e r n e li m a g e 装入内存。这样,保险系数大大增加,并且也给 了我们自由选用文件系统的余地。 ( 3 ) 安装u l o 首先,要找一块普通的1 0 0 左右的i d e 硬盘,连在目标机器的i d e 线上。 这样在目标机器上,i d e l 上挂的是f l a s h 盘,i d e 2 上挂的是一块工作硬盘。然后 用标准的步骤在i d e 2 的标准硬盘上装上一个d e b i a ng n u l i n u x 或r e d h a t 系统 【卸1 。装好工作系统之后,要首先做一些裁减工作,把不必要的s e r v i c e 和xw i n d o w 等等东西都删掉。这样做的目的是增进系统启动速度,因为在后面的工作中,肯定 要不停的重新启动机器,所以启动速度对工作效率是很关键的。 装好工作系统之后,在f a l s h 盘上做一个e x t 2 文件系统,这个用m k e 2 f s 这 个命令就可以完成。由于f l a s h 盘是接在i d e l 上的,所以在l i n u x 里面,它的身 份是d e v h d a 。也可以把整个f l a s h 盘划分了一个整个的分区,这样调用m k e 2 f s 的 时候,处理的是d c v h d a l 。 在f l a s h 盘上做好了文件系统之后,就可以把一个编译好的内核映像文件 v m l i n a z 拷贝到f l a s h 盘上了。注意,必须要先把这个v m l i n u z 映像文件拷贝到 f l a s h 盘上,然后才能在f l a s h 盘上安装l i l o 。不然的话,l i l o 到时候可能会出 问题,因为它会找不到k e r n e li m a g e 在f l a s h 盘上的位置,那样的话f l a s h 盘也就 启动不起来了。还有,如果在f l a s h 盘上用的是一个压缩的文件系统的话,到时候 1 0 华中科n 技犬! 学j 。额! 士学位论文 脚也会出问题,它虽然能正确的找到k e r n e li m a g e 在硬盘上的起始位置,但是 它却没有办法处理被文件系统重新压缩过的这个k e r n e li m a g e ,不知道该如何把它 展开到内存中去。 把k e r n e li m a g e 拷贝过去以后,就可以动手编辑一份l i l o c o n f 文件,这份文件 可以就放在工作系统上就行了。但是注意在l i l o c o n f 中索引的文件名的路径要写对。 这些路径名都是在工作系统上的绝对路径名。比如,如果h a s h 盘m o u n t 在m n t 目录下面,那么,在l i l o c o n f 中,v m l i n u z 的路径名就是m n v v m l i n u z 。编辑好了 l i l o c o r d ,然后再运行l i l o 命令,告诉它用这个新的l i l o c o n f 文件,而不要用 c t c l i l o c o n f 。 安装好l 1 l o 之后,就可以立即重新启动:首先在b i o s 里面,设置成从i d e l 开始启动,如果看到l k , o 的提示符,按回车后还能看到k e r n e l 输出的消息,这 就算l i l o 的安装成功了。 ( 4 ) 编译内核 试验成功l i l o 的安装以后,就要编译一个新的内核。要编译新的内核,首先 要进入工作系统。这里有两个办法进入工作系统,一是在b i o s 里面设置从i d e 2 启动,这就要求当初安装工作系统的时候,要把l i l o 安装在d e v h d b 上;另一个 办法是从i d e l 启动,不改变b i o s 的设置,但是在看到l i l o 的提示符的时候, 要键入f i n u xr o o t = d e v h d b l ,最前面的l i n u x 是在l i l o c o n f 里面定义的一个e n t r y , 只采用这个e n t r y 所指定的k e r n e li m a g e ,但是用d e v h d b l 作为r o o t 文件系统。 两个办法可能有的时候一个比另个好,甚至会更方便一些,这就要看具体的情况 了。不过,它们的设置并不是互相冲突的。 在编译内核的时候,由于内核只有一台机器使用的,所以应该对它的情况了如 指掌;另外,为了降低不必要的复杂性,不用k e r n e lm o d u l e 的支持,而把所有需要 的东西直接编译到内核内核的里面。这样编译出来的内核,在一台普通的5 8 6 主板 上,把所有必要的功能都加进去,一般也不到4 m 字节。所以,这个办法是可行的。 而且降低了i n i ts c r i p t s 的复杂程度。从运行方面来考虑,由于需要的k e r n e l 模块最 终也要装载到内存中的,所以直接编译到内核并不会引起内存的浪费。 华中科技大学硕士学。任论警鬣 在目标平台上,如希望使用u s b 存储设备,就要选择编译u s b 内核代码。还有 一点要注意的,就是对f r a m eb u f f e r 的支持。这主要是为了支持x f r e e 8 6 。一般说 来,如果显卡是x f r e e 8 6 直接支持的1 2 1 1 ,就不需要f l a m e b u f f e r 的内核支持。但如 果是x f r e e 8 6 不支持的显卡,就要考虑用v e s a 模式。但是x f r e e 8 6 的v e s a 卡 支持运行起来不太漂亮,还有安全方面的问题,有时在启动和退出xw 铀d o w 的时 候会出现花屏。所以可以采用k e r n e l 的v e s a 模式的f r a m eb u f f e r ,然后用x f r e e 8 6 的l i n u xf r a m eb u f f e r 的驱动程序。这样一般就看不到花屏的现象了,而且安全方面 也没有任何问题。 d e v f s 是一个令人感兴趣的文件系统。如果k e r n e l 不使用d e v f s ,那么系统上的 r o o t 文件系统就要有d e v 目录下面的所有内容。这些内容可以用d e v m a k e d e v 脚本来建立,也可以用m k n o d 手工一个一个来建。这个方法有其自身的好处,但是 它的缺点是有点繁琐,而且和k e r n e l 的状态又并不一致。相反的,如果使用了d e v f s , 就再也不用担心d e v 目录下面的任何事情了。d e v 目录下面的项目会有k e r n e l 的 代码自己负责。实际使用起来的效果,对内存的消耗并不明显。所以一般选择d e v f s 。 ( 5 ) b u s y b o x 有了l i l o 和k e r n e li m a g e 之后,接下来要安排r o o t 文件系统。为了尽量节 省f l a s h 盘的空间,需要一个小型嵌入式l i n u x 系统,安排r o o t 文件系统时的一 个常用的利器:b u s y b o x 。 b u s y b o x 是d e b i a ng n u l i n u x 的大名鼎鼎的b r a c ep e r e n s 首先开发,使用在 d e b i a n 的安装程序中。后来又有许多d e b i a nd e v e l o p e r s 贡献力量,这其中尤推 b u s y b o x 目前的维护者e r i ka n d e r s e n ,他患有癌症,却是一名优秀的自由软件开发 者。 b u s y b o x 编译出一个单个的独立执行程序,叫做b u s y b o x 。它可以根据配置, 执行a s hs h e l l 的功能,以及几十个各种小应用程序的功能。这其中包括有一个迷你 的v i 编辑器,系统不可或缺的s b i n i n i t 程序,以及其他诸如s e d ,i f c o n f i g ,h a l t , r e b o o t ,m k d i r ,m o u n t ,i n ,i s ,e c h o ,c a t 等等这些都是一个正常的系统上 必不可少的,但是如果把这些程序的原件拿过来的话,它们的体积加在一起占用磁 1 2 华中科技犬+ 学硕士学位论文 盘空间比较大。可是b u s y b o x 有全部的这么多功能,大小也不过l o o k 左右。而且, 用户还可以根据自己的需要,决定到底要在b u s y b o x 中编译进哪几个应用程序的功 能。这样,b u s y b o x 的体积就可以进一步缩小了。 使用b u s y b o x 也很简单,只要建一个符号链接,比方i n s b i n b u s y b o x b i n f l s , 那么,执行肺n i s 的时候,b u s y b o x 就会执行i s 的功能,也会按照i s 的方式处理 命令行参数。又比如i n s b i n b u s y b o x s b i n i n i t ,这样我们就有了系统运行不可或缺 的s b i n i n i t 程序了。当然,这里的前提是,需要在b u s y b o x 中编译进去这两个程 序的功能。 这里面要提出注意的一点是,b u s y b o x 的i n i t 程序所认识的e t c i n i t t a b 的格式 非常简单,而且和常规的i n i t t a b 文件的格式不一样。可参考b u s y b o x 的用户手册。 ( 6 ) 从启动到进入s h e l l t 2 z l b u s y b o x 安装好以后,就可以考虑重新启动,一直到进入s h e l l 提示符了。这之 前,先要准备一下c t c 目录下的几个重要的文件,再把b u s y b o x 用到的f i b r a r y 也 拷贝过来。 用i d d 命令,后面跟要分析的二进制程序及路径名,就可以知道一个二进制程 序,或者是一个l i b r a r y 文件之间的互相依赖关系,比如b u s y b o x 就依赖于t i b c s o 和i d 1 i n u x s o ,有了这些知识,就可动手把所有需要的l i b r 盯v 拷贝到f l a s h 盘上。 直接就用g l i b c 的文件也没有太多问题。如果有特殊的需要,觉得g l i b c 太庞大了 的话,可以考虑用u c l i b c ,这是一个非常小巧的l i b c 库,功能当然没有g l i b c 全, 但是足够一个嵌入式系统使用了。 库程序拷贝过来以后,就可以考虑系统启动的步骤了。启动的时候,先是l i l o , 接下来就是k e r n e l 初始化,再调用l s b i n i n i t ,然后由i n i t 解释e t c i n i t t a b 运行各种 各样的启动配置文件。i n i t t a b 会指导i n i t 去调用一个最重要的系统初始化程序 e t c i n i t d r c s ,我们将要在r c s 中完成各个文件系统的m o u n t ,此外,还有在r c s 中 调用d h c p 程序,把网络架起来。r c s 执行完了以后,i n i t 就会在一个c o n s o l e 上, 按照i n i t t a b 的指示歼一个s h e l l ,或者是开g e t t y + l o g i n ,这样用户就会看到提示输 入用户名的提示符。这里为了简单起见,先直接进入s h e l l ,然后等到调试成功以后, 华中科技大学硕士? 学位论文 ! 再改成直接进入xw i n d o w 。 ( 7 ) 安排文件系统 为了避免麻烦,r o o t 文件系统用的是标准的e x t 2 文件系统。采用一个适当的压 缩文件系统可节省f l a s h 盘的有限空间。考虑到u s r 目录下面的内容在系统运行的 时候,是不需要被改写的。可选择只读的压缩文件系统c r a m f s 来容纳u s r 目录下 面的全部内容。 c r a m f s 是l i n u st o r v a l d s 本人开发的一个适用于嵌入式系统的小文件系统。由 于它是只读的,所以,虽然它采取了z l i b 做压缩,但是它还是可以做到高效的随机 读取。因为c r a m f s 不会影响系统读取文件的速度,又是一个高度压缩的文件系统, 所以它是一个相当不错的选择。 首先把u s r 目录下的全部内容制成一个c r a m f s 的i m a g e 文件。这可以用 m k c r a m f s 命令完成。得到了这个u s r i m g 文件之后,还要考虑怎样才能在系统运行 的时候,把这个i m a g e 文件m o u n t 上来,成为一个可用的文件系统。由于这个 i m a g e 文件不是一个通常意义上的b l o c k 设备,必须采用l o o p b a c k 设备来完成这一 任务。具体说来,就是在前面提到的e t c d i n i t d r c s 脚本的前面部分,加上一行m o u n t 命令:m o u n t - ol o o p - tc r a m f s u s r i m g u s r 这样,就可以经由l o o p b a c k 设备,把u s r i m g 这个c r a m f s 的i m a g e 文件 m o u n t 到u s r 目录上去了。由于要用到l o o p b a c k 设备,在编译内核的时候,要加 入内核对这个设备的支持。对于系统今后的运行来说,这个m o u n t 的效果是透明的。 c r a m f s 的压缩效率一般都能达到将近5 0 ,而系统上绝大部分的内容是位于u s r 目录下面,这样一来,可大大节省f l a s h 盘的空间。 考虑到,f l a s h 盘毕竟不像普通硬盘,多次的擦写不好,所以在需要多次擦写的 地方,使用内存来做。这个任务,可用t m p f s 来完成。至于t r n p f s 和经典r a m d i s k 的 比较,这里从略。一般说来,t m p f s 更加灵活一些,t m p f s 的大小不像r a m d i s k ,可 以顺着用户的需要增长或者缩小。选择把t m p 、v a r 等几个目录做成t m p f s 。这只 需要在e t c f s t a b 里面加上两行类似下面的文字就可以了:n o f l e v a rt m p f sd e f a u l t0 0 ,然后在e t c i n i t d r c s 里面靠近开头的地方,加上m o u n t a 。这样,就可以把 1 4 华:中科技犬学硕士i 学位论文 e t c f s t a b 里面指定的所有的文件系统都m o u n t 上来了【2 3 】。 i ( 9 ) xw i n d o w 在上面的框架上,xw i n d o w 的安装非常简单,只需要把几个关键的程序拷贝过 来就可以了。一般说来,只需要u s 暇1 1 r 6 目录下面的b i n 和l i b 两个目录。然 后,根据用户各自的需要,还可以做大幅的裁减。比如,如果局域网上有一个开放 的x f s 字体服务器的话,可以把所有本地的字体都删掉,而使用远端的字体服务器。 如果只需要运行有限的程序,还可把没有用的l i b r a r y 都删掉。此外,还可以把多余 的x w i n d o w 的d r i v e r 都删掉,只保留本机的显卡所需要的d r i v e r 就可以了。最 后,还要安装网络工具包n e t - t o o l s l 2 5 j 以方便网络测试。 3 4 软件编程环境 k d e v e l 0 口是k d e 的软件集成开发环境【2 4 】,k d e v e l o p3 0 ( a k ag i d e o n ) 使用k d e 的 k p a r t s 集成插件,经过完全的重写,可以支持多种编程语言( c 、c + + 、j a v a 、p y t h o n 、 p h p 等) ,还能让创作者实现他们自己喜欢的特性。k d e 软件是由q t 构造起来的,而 q t 是g n c + + 构造起来的,其编程代码与c + + 接近而且可直接使用c + + 代码【2 6 】 2 7 1 2 8 ) 【2 9 】。 在l i n u x 上,目前比较成熟,同时得到最多开发人员认可的嵌入式系统的g u i , 有紧缩的xw i n d o w 系统、m i n i g u i 、m i c r o w n d o w s 等系统。而基于w i n d o w s 下的 嵌入式系统的非免费、开源g u i 有w i n d o w sc e 、紧缩w i n d o w s9 8 p 0 1 紧缩的xw i n d o w 系统其x 服务器可以降低至u s o o k 的大小,但因为xw n d o w 系统 的运行还需要其他程序和库的支持,包括x 窗口管理器、x l i b 、建

温馨提示

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

评论

0/150

提交评论