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

上传人:安*** 文档编号:17775511 上传时间:2022-05-26 格式:DOCX 页数:14 大小:24.81KB
返回 下载 相关 举报
嵌入式Linux系统的设计与应用.docx_第1页
第1页 / 共14页
嵌入式Linux系统的设计与应用.docx_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《嵌入式Linux系统的设计与应用.docx》由会员分享,可在线阅读,更多相关《嵌入式Linux系统的设计与应用.docx(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、嵌入式Linux系统的设计与应用dujing导语:随着嵌入式Linux系统的迅速开展,嵌入式Linux已开展成为嵌入式操纵系统的一个重要分支。本文介绍了嵌入式Linux的设计和几种流行的嵌入式Linux系统一、引言嵌入式系统EmbeddedSystems是根据应用的要求,将操纵系统和功能软件集成于计算机硬件系统之中,进而实现软件与硬件一体化的计算机系统。嵌入式系统出现于60年代晚期,它最初被用于控制机电交换机,如今已被广泛的应用于工业制造、经过控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等诸多领域。嵌入式系统在数目上远远超过了各种通用计算机系统:计算机系统核心CPU,每

2、年在全球范围内的产量大概在二十亿颗左右,其中超过80应用于各类专用性很强的嵌入式系统。一般的讲,但凡带有微处理器的专用软硬件系统都可以称为嵌入式系统。和通用的计算平台相比,嵌入式系统往往具有功能单一、体积小、功耗低、可靠性高、剪裁性好、软硬件集成度高、计算才能相对较低等特点。多年来,嵌入式设备中没有操纵系统,其主要原因有二:首先,诸如洗衣机、微波炉、电冰箱这样的设备仅仅需要一道简单的控制程序,以治理数目有限的按钮和指示灯,没有使用操纵系统的必要;其次,它往往只具有有限的硬件资源,缺乏以支持一个操纵系统。然而,随着硬件的开展,嵌入式系统变得越来越复杂,最初的控制程序中逐步的参加了很多功能,而这些

3、功能中有很多可以由操纵系统提供。于是,在70年代末期出现了嵌入式操纵系统EmbeddedOperatingSystems,它的出现大大简化了应用程序设计,并可以有效的保障软件质量和缩短开发周期。简单的ES一般并不使用操纵系统,只包含一些控制流程,但是随着嵌入式操纵系统在复杂性上的增长,简单的流程控制就不能知足系统的要求,这是就必须考虑使用操纵系统做系统软件。因此,嵌入式操纵系统就应运而生。随着EOS的广泛应用,业界已推出一些应用比拟成功的EOS产品。归纳起来EOS应该具有以下几个特点:小巧、实时性、可装卸、固化代码、弱交互性、强稳定性和统一的接口。目前使用最多的EOS产品包括有:Vxwork、

4、QNX、PalmOS、WindowsCE、pSOS、HopenOS国内凯思集团公司自主研制开发等。其中,Vxwork使用最为广泛、市场占有率最高,其突出特点是实时性强采用优先级抢占和轮转调度等机制,除此之外,其可靠性和可剪裁性也相当不错。QNX是一种伸缩性极佳的系统,其核心加上实时POSIX环境和一个完好的窗口系统还不到一兆。相比之下,MicrosoftWinCE的核心体积庞大,实时性能也差强人意,但由于Windows系列友好的用户界面和为程序员所熟悉的API,并捆绑IE、Office等应用程序,正逐渐获得更大的市场份额。而与这些贸易化的操纵系统相比,Linux已经越来越受到人们的留意。二、嵌

5、入式Linux概述Linux是一个成熟而稳定的网络操纵系统。将Linux植入嵌入式设备具有诸多的优点。首先,Linux的源代码是开放的,任何人都可以获取并修改,用之开发自己的产品。其次,Lirmx是可以定制的,其系统内核最小只有约134kB。一个带有中文系统和图形用户界面的核心程序也可以做到缺乏1MB,并且同样稳定。另外,它和多数Unix系统兼容,应用程序的开发和移植相当轻易。同时,由于具有良好的可移植性,人们已成功使Linux运行于数百种硬件平台之上。然而,Linux并非专门为实时性应用而设计,因此假如想在对实时性要求较高的嵌入式系统中运行Linux,就必须为之添加实时软件模块。这些模块运行

6、的内核空间正是操纵系统实现进程调度、中断处理和程序执行的局部,因此错误的代码可能会破坏操纵系统,进而影响整个系统的可靠性和稳定性。Linux的诸多优点还是使它在嵌入式领域获得了广泛的应用,并出现了数目可观的嵌入式Linux系统。其中有代表性的包括:uClinux、ETLinux、ThinLinux、LOAF等。ETLinux通常用于在小型工业计算机,尤其是PC104模块。ThinLinux面向专用的照相机效劳器、X-10控制器、MP3播放器和其它类似的嵌入式应用。LOAF是LinuxOnAFloppy的缩略语,它运行在386平台上。三、Linux作为嵌入式操纵系统的上风Linux作为嵌入式操纵

7、系统的上风主要有以下几点:1、可应用于多种硬件平台。Linux已经被移植到多种硬件平台,这对于经费,时间受限制的研究与开发工程是很有吸引力的。原型可以在标准平台上开发后移植到详细的硬件上,加快了软件与硬件的开发经过。Linux采用一个统一的框架对硬件进展治理,从一个硬件平台到另一个硬件平台的改动与上层应用无关。Linux可以随意地配置,不需要任何的答应证或者商家的合作关系,源代码可以免费得到。这使得采用Linux作为操纵系统不会碰到任何关于版权的纠纷。毫无疑问,这会节省大量的开发费用。本身内置网络支持,而目前嵌入式系统对网络支持要求越来越高。Linux的高度模块化使添加部件非常轻易。2、Lin

8、ux是一个和Unix相似、以内核为根底的、具有完全的内存访问控制,支持大量硬件包括X86,Alpha、ARM和Motorola等现有的大局部芯片等特性的一种通用操纵系统。其程序源码全部公开,任何人可以修改并在GUN通用公共答应证GNUGeneralPublicLicense下发行。这样,开发人员可以对操纵系统进展定制,适应其特殊需要。3、Linux带有Unix用户熟悉的完善的开发工具,几乎所有的Unix系统的应用软件都已移植到了Linux上。Linux还提供了强大的网络功能,有多种可选择窗口治理器XWindows。其强大的语言编译器GCC,C+等也可以很轻易得到,不但成熟完善,而且使用方便。四

9、、嵌入式Linux的建立完好的嵌入式Linux解决方案应包括嵌入式Linux操纵系统内核、运行环境、图形化界面和应用软件等。由于嵌入式设备的特殊要求,嵌入式Linux解决方案中的内核、环境、GUI等都与标准Linux有很大不同,其主要挑战是怎样在狭小的FLASH、ROM和内存中实现高质量的任务实时调度、图形化显示、网络通讯等功能。1、精简内核Linux内核有自己的构造体系,其中进程治理、内存治理和文件系统是其最根本的3个子系统。图1简单表示了它的框架。用户进程可直接通过系统调用或函数库来访问内核资源。正由于Linux内核具有这样的构造,因此修改内核时必须留意各个子系统之间的协调。嵌入式Linu

10、x内核一般由标准Linux内核裁剪而来。用户可根据需求配置系统,剔除不需的效劳功能、文件系统和设备驱动。经过裁剪、压缩后的系统内核一般只有300k左右,特别合适嵌入式设备。同标准Linux不同的是嵌入式Linux必需要实现从FLASH或者ROM的启动。标准Linux启动代码实现了系统初始化和从软盘、硬盘O盘区引导内核。嵌入式Linux一般保存在FLASH或者ROM中,标准LILO无法引导。在支持直接从FLASH设备引导的系统中,如华恒公司的uClinux,引导程序主要完成对硬件系统的初始化工作和操纵系统的解压、移位工作。在不支持直接从FLASH引导的系统中,FLASH设备只能作为非引导磁盘使用

11、。此时,可采用先从硬盘或者软盘加载一个小操纵系统,如嵌入式DOS,然后再执行Loadlin加载程序从FLASH引导嵌入式Linux。align=centerimg=283,350e-images/127892160591562500.GIF/img图1Linux内核的构造/align对标准Linux的修改主要是虚拟内存和调度程序局部的改动。由于标准Linux系统使用虚拟内存治理的目的是为了能同时运行多个进程,但是这样每个待运行的进程所能分配的CPU时间片就受限制,资源的使用效率就低。这样对于实时性要求较高的嵌入式系统来讲,实时任务往往要求CPU具有很高的突发处理才能,即在有些时候需要极高的处理

12、效率,因此需要屏蔽内核的虚拟内存治理机制。对于无硬盘设备的嵌入式系统,不必采用虚存治理。强实时需求的嵌入式应用可以通过修改任务调度模块实现,主要是在内核和设备驱动程序中参加了很多切换点。在该点处,系统检测是否存在未处理的紧急中断,有那么剥夺内核的运行,及时处理中断。实现实时性效劳的一个较好的方法是在标准的Linux内核上增加一个实时内核,标准Linux内核作为一个任务运行于实时内核上,强实时性任务也直接运行在实时内核上,如RT-Linux等。文件系统是嵌入式Linux操纵系统必不可少的。但标准Linux支持大量的文件系统,因此除了知足系统的正常运行需要而保存一种外,其它的全部可以删除,利用原有

13、的设置选项可以移除。一般嵌入式设备文件系统主要使用RamDisk技术和网络文件系统技术。RamDisk可驻留于Flash,运行时加载到内存中。2、精简运行环境Linux通常的运行环境指用户运行任何应用的根底设施,主要包括函数库和根本命令集等。标准Linux系统同时向用户提供了静态和动态函数库。静态函数库在生成应用时直接链接到用户应用中。动态库在应用运行时才链接。由于嵌入式系统应用一般都是在开发平台上预先生成的,因此嵌入式系统只需向应用提供动态函数库。Linux应用运行所需的函数库主要有C库、数学库、线程库、加密库、网络通讯库等。其中最根本的是C语言的运行库glib。这个库主要完成根本的输入输出

14、,内存访问,文件处理。一个标准的glib库大约要1200kB存储空间,考虑到嵌入式Linux内核往往很小,这种运行库实在太大,我们做了一些精简的工作,方法有两种:1、使用静态连接的方法,完全不使用运行库动态连接;2、对这个库的函数进展精简。在一个桌面系统上,使用动态连接可以带来很多好处。使用动态连接库,可以让应用程序跟函数库的更新、晋级别离,便于维护,可以让同时运行的多个程序分享一段代码。但是,在嵌入式系统中,很少有多个程序并行的可能,程序的维护,尤其是库函数的维护更新是不常见的。这时,使用静态连接的上风就极为明显。由于静态连接可以只将库中用到的局部连接进程序。在应用程序较少小于5的情况下,静

15、态连接可以到达较好的结果。为了便于将来扩大的需要,我们也采用第二种方法,针对我们的需要,对库函数的内容进展精简,只保存一些根本功能,还有一种方法是采用其它的C语言运行库。但是这些库对兼容性影响很大。根本命令集同样是运行用户应用的根底,主要包括初始化进程init,终端获取getty、Shell和根本命令等。嵌入式系统的启动经过可能与标准Linux不同,例如跳过登录经过直接启动GUI等。这就要求修改init,getty等。标准Linux命令集同样由于体积问题无法直接应用于嵌入式环境。目前,小命令集的解决方法主要有集成方法和汇编方法两种。集成方法采用集成公共局部减少命令集整体体积,用C实现,有较好的

16、平台移植性;汇编方法那么采用汇编编程减少每个命令的体积这样可使体积很小但其平台移植性较差。3、嵌入式Linux下的GUIGUI在嵌入式系统或实时系统中的地位越来越重要,比方PDA、DVD播放机、WAP手机等,都需要一个完好漂亮的图形用户界面。这些系统对GUI的根本要求包括:1、轻型、占用资源少;2、高性能;3、高可靠性;4、可配置。这些也成为评价嵌入式系统的重要指标。目前,嵌入式Linux上的GUI主要有winCE、MicroWindow、紧缩的XWindow、MiniGUI国内做得较好的自由软件之一。标准Linux的Xfree86由于体积庞大,运行环境要求高,无法运行于嵌入式环境。嵌入式GU

17、I主要通过削减功能,降低性能来实现体积小和占用资源少。目前嵌入式Linux上的GUI环境主要有两类:X类和win32类。X类GUI分为效劳方和客户方两方。效劳器方提供鼠标、键盘处理和显示功能,客户方是用户应用,效劳方和客户方通过socket接口和X协议通讯。采用该方式特别有利于远程网络图形化效劳,客户方和效劳方可通过网络实现X协议和图形显示。典型的X类GUI有MicroWindow、紧缩的XWindow等。win32类的GUI不存在客户方和效劳方,每个任务都自成一体,任何任务间的切换、事件分发由专门的治理任务负责。如wiCE、MiniGUI就是类似于win32类的GUI。五、当前流行的几种嵌入

18、式Linux系统除了智能数字终端领域以外,Linux在挪动计算平台、智能工业控制、金融业终端系统,甚至军事领域都有着广泛的应用前景。这些Linux被统称为嵌入式Linux。1、RT-Linux这是由美国墨西哥理工学院开发的嵌入式Linux操纵系统。到目前为止,RT-Linux已经成功地应用于航天飞机的空间数据收集、科学仪器测控和电影特技图像处理等广泛领域。RT-Linux开发者并没有针对实时操纵系统的特性而重写Linux的内核,由于这样做的工作量非常大,而且要保证兼容性也非常困难。为此,RT-Linux提出了精巧的内核,并把标准的Linux核心作为实时核心的一个进程,同用户的实时进程一起调度。

19、这样对Linux内核的改动非常小,并且充分利用了Linux下现有的丰富的软件资源。2、uClinuxuCLinux是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux主要是针对目的处理器没有存储治理单元MMUMemoryManagementUnit的嵌入式系统而设计的。它已经被成功地移植到了很多平台上。由于没有MMU,其多任务的实现需要一定技巧。uCLinux是一种优秀的嵌入式Linux版本,是micro-Conrol-Linux的缩写。它秉承了标准Linux的优良特性,经过各方面的小型化改造,形成了一个高度优化的、代码紧凑的嵌入式Linux。固然它的体积很

20、小,却仍然保存了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统完备的支持和标准丰富的API。它专为嵌入式系统做了很多小型化的工作,目前已支持多款CPU。其编译后目的文件可控制在几百KB数目级,并已经被成功地移植到很多平台上。3、EmbedixEmbedix是由嵌入式Linux行业主要厂商之一Luneo推出的,是根据嵌入式应用系统的特点重新设计的Linux发行版本。Embedix提供了超过25种的Linux系统效劳,包括Web效劳器等。系统需要最小8MB内存,3MBROM或者快速闪存。Embedix基于Linux2.2内核,并已经成功地移植到了Intelx86和Po

21、werPC处理器系列上。像其它的Linux版本一样,Embedix可以免费获得。Luneo还发布了另一个重要的软件产品,它可以让在WindowsCE上运行的程序可以在Embedix上运行。Luneo还将方案推出Embedix的开发调试工具包、基于图形界面的阅读器等。可以讲,Embedix是一种完好的嵌入式Linux解决方案。4、XlinuxXLinux是由美国网虎公司推出,主要开发者是陈盈豪。他在加盟网虎几个月后便开发出了基于XLinux的、号称是世界上最小的嵌入式Linux系统,内核只有143KB,而且还在不断减小。XLinux核心采用了超字元集专利技术,让Linux核心不仅可能与标准字符集

22、相容,还含盖了12个国家和地区的字符集。因此,XLinux在推广Linux的国际应用方面有独特的上风。5、PoketLinux由Agenda公司采用、作为其新产品VR3PDA的嵌入式Linux操纵系统。它可以提供跨操纵系统构造统一的、标准化的和开放的信息通讯根底构造,在此构造上实现端到端方案的完好平台。PoketLinux资源框架开放,使普通的软件构造可以为所有用户提供一致的效劳。PoketLinux平台使用户的视线从设备、平台和网络上移开,由此引发了信息技术新时代的产生。在PoketLinux中,称之为用户化信息交换CIE,也就是提供和访问为每个用户需求而定制的主题信息的才能,而不管正在使用

23、的设备是什么。6、MidoriLinux由Transmeta公司推出的MidoriLinux操纵系统代码开放,在GUN普通公共答应GPL下发布,可以在:/midori.transmeta上立即获得。该公司有个名为MidoriLinux方案。MidoriLinux这个名字;于日本的绿色-Midori,用来反映其Linux操纵系统的环保外观。7、红旗嵌入式Linux由北京中科院红旗软件公司推出的嵌入式Linux是国内做得较好的一款嵌入式操纵系统。目前,中科院计算所自行开发的开放源码的嵌入式操纵系统-EasyEmbeddedOSEEOS也已经开场进入实用阶段了。该款嵌入式操纵系统重点支持p-Java

24、。系统目的一方面是小型化,另一方面能重用Linux的驱动和其它模块。由于有中科院计算所的强大科研气力做后盾,EEOS有望开展成为功能完善、稳定、可靠的国产嵌入式操纵系统平台。六、完毕语由于Linux是一个内核源代码开放、具备一整套工具链、有强大的网络支持及本钱低廉的操纵系统,因此嵌入式Linux自诞生起就秉承了这诸多独特上风,这使它正在并越来越多地受到人们的关注。据EvenData数据显示,期望使用嵌入式Linux的用户从2001年的11增到2002年27,而同期Vxwork只是从16到18,WinCE从9到14。另外,在嵌入式Linux的各种应用市场中,通讯语音和数据名列第一,2000年的销售额是1300万美元,而2005年预计将到达1.26亿美元,可以预见,嵌入式Linux将在将来的通讯用嵌入式操纵系统中占据强有力的地位。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com