八文_文档搜索
 
设为首页   |  加入收藏夹
 八文网 - 汇聚八方文档 - 做最优秀的免费文档下载网站
 

嵌入式Linux系统的设计与应用

文档类型: Microsoft Word 文档 文档大小:44KB
嵌入式Linux系统的设计与应用
摘要:随着嵌入式Linux系统的迅速发展,嵌入式Linux已发展成为嵌入式操作系统的一个重要分支.本文介绍了嵌入式Linux的设计和几种流行的嵌入式Linux系统.
关键词:嵌入式Linux
一、引言嵌入式系统(Embedded Systems)是根据应用的要求,将操作系统和功能软件集成于计算机硬件系统之中、从而实现软件与硬件一体化的计算机系统.嵌入式系统出现于60年代晚期,它最初被用于控制机电电话交换机、如今已被广泛的应用于工业制造,过程控制,通讯,仪器,仪表,汽车,船舶,航空、航天,军事装备,消费类产品等众多领域.嵌入式系统在数量上远远超过了各种通用计算机系统:计算机系统核心CPU,每年在全球范围内的产量大概在二十亿颗左右,其中超过80%应用于各类专用性很强的嵌入式系统.
一般的说,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统.和通用的计算平台相比、嵌入式系统往往具有功能单一、体积小,功耗低,可靠性高,剪裁性好,软硬件集成度高,计算能力相对较低等特点.多年来,嵌入式设备中没有操作系统,其主要原因有二:首先,诸如洗衣机、微波炉、电冰箱这样的设备仅仅需要一道简单的控制程序,以管理数量有限的按钮和指示灯,没有使用操作系统的必要;其次,它往往只具有有限的硬件资源,不足以支持一个操作系统.
然而、随着硬件的发展,嵌入式系统变得越来越复杂,最初的控制程序中逐步的加入了许多功能,而这些功能中有很多可以由操作系统提供.于是,在70年代末期出现了嵌入式操作系统(Embedded Operating Systems),它的出现大大简化了应用程序设计,并可以有效的保障软件质量和缩短开发周期.简单的ES一般并不使用操作系统,只包含一些控制流程,但是随着嵌入式操作系统在复杂性上的增长,简单的流程控制就不能满足系统的要求,这是就必须考虑使用操作系统做系统软件.因此,嵌入式操作系统就应运而生.
随着EOS的广泛应用,业界已推出一些应用比较成功的EOS产品.归纳起来EOS应该具有以下几个特点:小巧,实时性,可装卸、固化代码、弱交互性,强稳定性和统一的接口.目前使用最多的EOS产品包括有 OS(国内凯思集团公司自主研制开发)等.其中、Vxwork使用最为广泛、市场占有率最高,其突出特点是实时性强(采用优先级抢占和轮转调度等机制),除此之外,其可靠性和可剪裁性也相当不错.QNX是一种伸缩性极佳的系统,其核心加上实时POSIX环境和一个完整的窗口系统还不到一兆.相比之下,Microsoft WinCE的核心体积庞大,实时性能也差强人意,但由于Windows系列友好的用户界面和为程序员所熟悉的API,并捆绑IE,Office等应用程序,正逐渐获得更大的市场份额.而与这些商业化的操作系统相比、Linux已经越来越受到人们的注意.
二、嵌入式Linux概述Linux是一个成熟而稳定的网络操作系统.将Linux植入嵌入式设备具有众多的优点.首先,Linux的源代码是开放的,任何人都可以获取并修改、用之开发自己的产品.其次,Lirmx是可以定制的,其系统内核最小只有约134kB.一个带有中文系统和图形用户界面的核心程序也可以做到不足1MB,并且同样稳定.另外,它和多数Unix系统兼容、应用程序的开发和移植相当容易.同时,由于具有良好的可移植性,人们已成功使Linux运行于数百种硬件平台之上.
然而、Linux并非专门为实时性应用而设计,因此如果想在对实时性要求较高的嵌入式系统中运行Linux,就必须为之添加实时软件模块.这些模块运行的内核空间正是操作系统实现进程调度,中断处理和程序执行的部分,因此错误的代码可能会破坏操作系统,进而影响整个系统的可靠性和稳定性.Linux的众多优点还是使它在嵌入式领域获得了广泛的应用,并出现了数量可观的嵌入式Linux系统.其中有代表性的包括等.ETLinux通常用于在小型工业计算机、尤其是PC104模块.ThinLinux面向专用的照相机服务器,X-10控制器,MP3播放器和其它类似的嵌入式应用.LOAF是Linux OnAFloppy的缩略语、它运行在386平台上.
三、Linux作为嵌入式操作系统的优势Linux作为嵌入式操作系统的优势主要有以下几点:
1, 可应用于多种硬件平台.Linux已经被移植到多种硬件平台,这对于经费、时间受限制的研究与开发项目是很有吸引力的.原型可以在标准平台上开发后移植到具体的硬件上,加快了软件与硬件的开发过程.Linux采用一个统一的框架对硬件进行管理,从一个硬件平台到另一个硬件平台的改动与上层应用无关.Linux可以随意地配置,不需要任何的许可证或商家的合作关系,源代码可以免费得到.这使得采用Linux作为操作系统不会遇到任何关于版权的纠纷.毫无疑问,这会节省大量的开发费用.本身内置网络支持、而目前嵌入式系统对网络支持要求越来越高.Linux的高度模块化使添加部件非常容易.
2, Linux是一个和Unix相似,以内核为基础的,具有完全的内存访问控制,支持大量硬件(包括X86,Alpha,ARM和Motorola等现有的大部分芯片)等特性的一种通用操作系统.其程序源码全部公开、任何人可以修改并在GUN通用公共许可证(GNU General Public License)下发行.这样,开发人员可以对操作系统进行定制,适应其特殊需要.
3, Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上.Linux还提供了强大的网络功能,有多种可选择窗口管理器(X Windows).其强大的语言编译器GCC,C等也可以很容易得到,不但成熟完善,而且使用方便.
四、嵌入式Linux的建立完整的嵌入式Linux解决方案应包括嵌入式Linux操作系统内核、运行环境、图形化界面和应用软件等.由于嵌入式设备的特殊要求,嵌入式Linux解决方案中的内核、环境、GUI等都与标准Linux有很大不同、其主要挑战是如何在狭小的FLASH,ROM和内存中实现高质量的任务实时调度,图形化显示、网络通信等功能.
1, 精简内核Linux内核有自己的结构体系,其中进程管理,内存管理和文件系统是其最基本的3个子系统.图1简单表示了它的框架.用户进程可直接通过系统调用或者函数库来访问内核资源.正因为Linux内核具有这样的结构,因此修改内核时必须注意各个子系统之间的协调.
嵌入式Linux内核一般由标准Linux内核裁剪而来.用户可根据需求配置系统,剔除不需的服务功能,文件系统和设备驱动.经过裁剪,压缩后的系统内核一般只有300k左右,十分适合嵌入式设备.同标准Linux不同的是嵌入式Linux必须要实现从FLASH或ROM的启动.标准Linux启动代码实现了系统初始化和从软盘,硬盘O盘区引导内核.嵌入式Linux一般保存在FLASH或ROM中、标准LILO无法引导.在支持直接从FLASH设备引导的系统中、如华恒公司的uClinux,引导程序主要完成对硬件系统的初始化工作和操作系统的解压,移位工作.在不支持直接从FLASH引导的系统中、FLASH设备只能作为非引导磁盘使用.此时,可采用先从硬盘或软盘加载一个小操作系统,如嵌入式DOS,然后再执行Loadlin加载程序从FLASH引导嵌入式Linux.
对标准Linux的修改主要是虚拟内存和调度程序部分的改动.因为标准Linux系统使用虚拟内存管理的目的是为了能同时运行多个进程,但是这样每个待运行的进程所能分配的CPU时间片就受限制,资源的使用效率就低.这样对于实时性要求较高的嵌入式系统来说,实时任务往往要求CPU具有很高的突发处理能力、即在有些时候需要极高的处理效率,因此需要屏蔽内核的虚拟内存管理机制.对于无硬盘设备的嵌入式系统,不必采用虚存管理.强实时需求的嵌入式应用可以通过修改任务调度模块实现,主要是在内核和设备驱动程序中加入了许多切换点.在该点处,系统检测是否存在未处理的紧急中断、有则内核的运行、及时处理中断.实现实时性服务的一个较好的方法是在标准的Linux内核上增加一个实时内核、标准Linux内核作为一个任务运行于实时内核上,强实时性任务也直接运行在实时内核上,如RT-Linux等.
文件系统是嵌入式Linux操作系统必不可少的.但标准Linux支持大量的文件系统,因此除了满足系统的正常运行需要而保留一种外,其它的全部可以删除,利用原有的设置选项可以移除.一般嵌入式设备文件系统主要使用RamDisk技术和网络文件系统技术.RamDisk可驻留于Flash,运行时加载到内存中.
2, 精简运行环境Linux通常的运行环境指用户运行任何应用的基础设施,主要包括函数库和基本命令集等.标准Linux系统同时向用户提供了静态和动态函数库.静态函数库在生成应用时直接链接到用户应用中.动态库在应用运行时才链接.由于嵌入式系统应用一般都是在开发平台上预先生成的,因此嵌入式系统只需向应用提供动态函数库.Linux应用运行所需的函数库主要有C库,数学库,线程库,加密库,网络通信库等.其中最基本的是C语言的运行库glib.这个库主要完成基本的输入输出、内存访问,文件处理.一个标准的glib库大约要1200kB存储空间,考虑到嵌入式Linux内核往往很小,这种运行库实在太大,我们做了一些精简的工作,方法有两种:(1),使用静态连接的方法,完全不使用运行库动态连接;(2),对这个库的函数进行精简.
在一个桌面系统上,使用动态连接可以带来许多好处.使用动态连接库,可以让应用程序跟函数库的更新,升级分离,便于维护,可以让同时运行的多个程序共享一段代码.但是,在嵌入式系统中、很少有多个程序并行的可能,程序的维护,尤其是库函数的维护更新是不常见的.这时,使用静态连接的优势就极为明显.因为静态连接可以只将库中用到的部分连接进程序.在应用程序较少(小于5)的情况下,静态连接可以达到较好的结果.为了便于将来扩充的需要、我们也采用第二种方法,针对我们的需要、对库函数的内容进行精简、只保留一些基本功能,还有一种方法是采用其它的C语言运行库.但是这些库对兼容性影响很大.
基本命令集同样是运行用户应用的基础、主要包括初始化进程init,终端获取getty,Shell和基本命令等.嵌入式系统的启动过程可能与标准Linux不同、例如跳过登录过程直接启动GUI等.这就要求修改init,getty等.标准Linux命令集同样由于体积问题无法直接应用于嵌入式环境.目前、小命令集的解决方法主要有集成方法和汇编方法两种.集成方法采用集成公共部分减少命令集整体体积,用C实现,有较好的平台移植性;汇编方法则采用汇编编程减少每个命令的体积.这样可使体积很小但其平台移植性较差.
3, 嵌入式Linux下的GUI GUI在嵌入式系统或者实时系统中的地位越来越重要、比如PDA,DVD播放机、WAP手机等、都需要一个完整.漂亮的图形用户界面.这些系统对GUI的基本要求包括:(1),轻型,占用资源少;(2),高性能;(3),高可靠性;(4),可配置.这些也成为评价嵌入式系统的重要指标.目前、嵌入式Linux上的GUI主要有winCE,Micro Window,紧缩的X 国内做得较好的自由软件之一).标准Linux的Xfree86由于体积庞大,运行环境要求高,无法运行于嵌入式环境.嵌入式GUI主要通过削减功能,降低性能来实现体积小和占用资源少.目前嵌入式Linux上的GUI环境主要有两类:X类和win32类.X类GUI分为服务方和客户方两方.服务器方提供鼠标,键盘处理和显示功能,客户方是用户应用,服务方和客户方通过socket接口和X协议通信.采用该方式十分有利于远程网络图形化服务,客户方和服务方可通过网络实现X协议和图形显示.典型的X类GUI有Micro Window,紧缩的X Window等.win32类的GUI不存在客户方和服务方、每个任务都自成一体,任何任务间的切换,事件分发由专门的管理任务负责.如wiCE,MiniGUI就是类似于win32类的GUI.
五、当前流行的几种嵌入式Linux系统除了智能数字终端领域以外,Linux在移动计算平台,智能工业控制,金融业终端系统,甚至军事领域都有着广泛的应用前景.这些Linux被统称为嵌入式Linux.
1,RT-Linux 这是由美国墨西哥理工学院开发的嵌入式Linux操作系统.到目前为止,RT-Linux已经成功地应用于航天飞机的空间数据采集,科学仪器测控和电影特技图像处理等广泛领域.RT-Linux开发者并没有针对实时操作系统的特性而重写Linux的内核、因为这样做的工作量非常大,而且要保证兼容性也非常困难.为此,RT-Linux提出了精巧的内核、并把标准的Linux核心作为实时核心的一个进程,同用户的实时进程一起调度.这样对Linux内核的改动非常小,并且充分利用了Linux下现有的丰富的软件资源.
2,uClinux uCLinux是Lineo公司的主打产品、同时也是开放源码的嵌入式Linux的典范之作.uCLinux主要是针对目标处理器没有存储管理单元MMU(Memory Management Unit) 的嵌入式系统而设计的.它已经被成功地移植到了很多平台上.由于没有MMU,其多任务的实现需要一定技巧.uCLinux是一种优秀的嵌入式Linux版本,是的缩写.它秉承了标准Linux的优良特性,经过各方面的小型化改造,形成了一个高度优化的,代码紧凑的嵌入式Linux.虽然它的体积很小,却仍然保留了Linux的大多数的优点:稳定,良好的移植性,优秀的网络功能,对各种文件系统完备的支持和标准丰富的API.它专为嵌入式系统做了许多小型化的工作,目前已支持多款CPU.其编译后目标文件可控制在几百KB数量级,并已经被成功地移植到很多平台上.
3,Embedix Embedix是由嵌入式Linux行业主要厂商之一Luneo推出的,是根据嵌入式应用系统的特点重新设计的Linux发行版本.Embedix提供了超过25种的Linux系统服务,包括Web服务器等.系统需要最小8MB内存,3MB ROM或快速闪存.Embedix基于Linux 2.2内核、并已经成功地移植到了Intel x86和PowerPC处理器系列上.像其它的Linux版本一样,Embedix可以免费获得.Luneo还发布了另一个重要的软件产品、它可以让在Windows CE上运行的程序能够在Embedix上运行.Luneo还将计划推出Embedix的开发调试工具包、基于图形界面的浏览器等.可以说,Embedix是一种完整的嵌入式Linux解决方案.
4,Xlinux XLinux是由美国网虎公司推出、主要开发者是陈盈豪.他在加盟网虎几个月后便开发出了基于XLinux的,号称是世界上最小的嵌入式Linux系统,内核只有143KB,而且还在不断减小.XLinux核心采用了超字元集专利技术,让Linux核心不仅可能与标准字符集相容、还含盖了1 2个国家和地区的字符集.因此,XLinux在推广Linux的国际应用方面有独特的优势.
5,PoketLinux 由Agenda公司采用,作为其新产品VR3PDA的嵌入式Linux操作系统.它可以提供跨操作系统构造统一的,标准化的和开放的信息通信基础结构,在此结构上实现端到端方案的完整平台.PoketLinux资源框架开放,使普通的软件结构可以为所有用户提供一致的服务.PoketLinux平台使用户的视线从设备,平台和网络上移开、由此引发了信息技术新时代的产生.在PoketLinux中、称之为用户化信息交换(CIE),也就是提供和访问为每个用户需求而定制的主题信息的能力、而不管正在使用的设备是什么.
6,MidoriLinux 由Transmeta公司推出的MidoriLinux操作系统代码开放,在GUN普通公共许可(GPL)下发布、可以在上立即获得.该公司有个名为MidoriLinux计划.MidoriLinux这个名字来源于日本的绿色-Midori,用来反映其Linux操作系统的环保外观.
7,红旗嵌入式Linux 由北京中科院红旗软件公司推出的嵌入式Linux是国内做得较好的一款嵌入式操作系统.目前、中科院计算所自行开发的开放源码的嵌入式操作系统-Easy Embedded OS(EEOS)也已经开始进入实用阶段了.该款嵌入式操作系统重点支持p-Java.系统目标一方面是小型化,另一方面能重用Linux的驱动和其它模块.由于有中科院计算所的强大科研力量做后盾,EEOS有望发展成为功能完善,稳定,可靠的国产嵌入式操作系统平台.
六、结束语由于Linux是一个内核源代码开放,具备一整套工具链,有强大的网络支持及成本低廉的操作系统,因此嵌入式Linux自诞生起就秉承了这众多独特优势,这使它正在并越来越多地受到人们的关注.据Even Data数据显示、期望使用嵌入式Linux的用户从2001年的11%增到2002年27,而同期Vxwork只是从16%到18,Win CE从9%到14.另外,在嵌入式Linux的各种应用市场中、通信(语音和数据)名列第一、2000年的销售额是1300万美元、而2005年预计将达到1.26亿美元、可以预见、嵌入式Linux将在未来的通信用嵌入式操作系统中占据强有力的地位.
doc文档的标签: 设计 应用 系统 嵌入式 Linux
更多推荐标签: 劳动就业制度   江苏省交通厅   俊捷新车型   三速电机   猪的市场报告   定额预算   体育报告范文   车队协议   职教园区规划   宝马岗前培训   盐城公路   学校公共关系   雪灾主题班会   我国的   西方政治   火车调车   应用气候学   中草药   禁塑令的调查   经济法教程   行政强制   收银员考试题   立功竞赛计划   韩国对外贸易   王利民   周平王百迷   抒情文   精神分析主义   大道至简   低氧训练  
相关文档推荐
"嵌入式计算机系统设计与应用&
E*linux信息安全审计系统
嵌入式系统SoC设计竞赛
嵌入式家庭自动化系统
基于FPGA的嵌入式系统设计
嵌入式操作系统
嵌入式LINUX操作系统
嵌入式操作系统
在Linux下用Qt开发新一代DTS图形
嵌入式系统设计的新发展及其挑战
Windows2000和Linux操作系
嵌入式系统的设计与开发
如何编写Linux操作系统下的设备驱动程
将加速基于FPGA的嵌入式系统设计
嵌入式Linux系统MP3播放器之实作
ARM平台之嵌入式系统设计
示波器应用实务0嵌入式系统设计验证与除错
嵌入式系统设计-
基于嵌入式Linux的智能手机系统设计
嵌入式系统设计(二):嵌入式Java程式
推荐文档下载
毕业论文开题报告会安排
信安世纪信息安全技术有限公司
从官方报纸版面语言解读
管理原理
061地铁有限公司董事局报告书
发行创新
农业工商管理(MBA)课程高级研修班
2004年美南台湾人夏令会报名表
渠道组合策略
申办行动电话号码业务
详细操作说明文档下载
沈阳师范大学教职工住房采暖费支付管理规定
宋德才简历
2006年普通学校招生全国统一考试(广东
GPS在隧道工程测量中的应用
河南省教育厅
两岸入世对台商的挑战与商机
2003年国内专利申请授权状况表
关注健康话题
四川省基本医疗保险和工伤保险药品目录(简
 
文档下载提示:
·最新免费文档下载、毕业论文免费下载、Word文档下载、Excel表格下载、PDF电子书下载、PowerPoint提案下载
·所有文档均为网友上传,仅供学习参考,用作其它用途时请征得相关权益人许可.
·八文网只提供文档共享平台,不对文档内容的正确性及相关内容所引发的后果负责.
·如此文档"嵌入式Linux系统的设计与应用"涉及您的权益,请附上网址来信告知web_8wen(#)126.com,本站将认真配合并改正。
Copyright ©2005-2008 八文网-  8Wen.com . All rights reserved.