嵌入式Linux系统的设计与应用.docx
《嵌入式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支持大量的文件系统,因此除了知足系统的正常运行需要而保存一种外,其它的全部可以删除,利用原有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 系统 设计 应用
限制150内