走进嵌入式Linux的世界(1)
随着信息化技术的发展和数字化产品的普及,以计算机技术、芯片技术和软件技术为核心
%A 的嵌入式系统再度成为当前研究和应用的热点,通信、计算机、消费电子技术(3C)合一
%A 的趋势正在逐步形成,无所不在的网络和无所不在的计算(everything connecting,
%A everywhere computing)正在将人类带入一个崭新的信息社会。
%A 一、嵌入式系统
%A
%A 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件是可裁剪的,适用于对功
%A 能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。嵌入式系统最典型的特
%A 点是与人们的日常生活紧密相关,任何一个普通人都可能拥有各类形形色色运用了嵌入式
%A 技术的电子产品,小到MP3、PDA等微型数字化设备,大到信息家电、智能电器、车载GIS,
%A 各种新型嵌入式设备在数量上已经远远超过了通用计算机。这也难怪美国著名未来学家尼
%A 葛洛庞帝在1999年1月访华时就预言,4~5年后嵌入式智能工具将成为继PC机和Internet之
%A 后计算机工业最伟大的发明。
%A
%A 1.1 历史与现状
%A
%A 虽然嵌入式系统是近几年才开始真正风靡起来的,但事实上嵌入式这个概念却很早就已经
%A 存在了,从上个世纪70年代单片机的出现到今天各种嵌入式微处理器、微控制器的广泛应
%A 用,嵌入式系统少说也有了近30年的历史。纵观嵌入式系统的发展历程,大致经历了以下
%A 四个阶段:
%A
%A 无操作系统阶段
%A
%A 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺
%A 服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操
%A 作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这些装
%A 置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线
%A 程的程序,因此严格地说还谈不上"系统"的概念。
%A
%A 这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量
%A 较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而曾经在工业控
%A 制领域中得到了非常广泛的应用,但却无法满足现今对执行效率、存储容量都有较高要求
%A 的信息家电等场合的需要。
%A
%A 简单操作系统阶段
%A
%A 20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处
%A 理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设
%A 计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的
%A 程序员也开始基于一些简单的"操作系统"开发嵌入式应用软件,大大缩短了开发周期、提
%A 高了开发效率。
%A
%A 这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如Power
%A PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽
%A 然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来
%A 控制系统负载以及监控应用程序的运行。
%A
%A 实时操作系统阶段
%A
%A 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌
%A 入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低
%A 功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐
%A 形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。
%A
%A 这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在
%A 各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具
%A 备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了
%A 大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。
%A
%A 面向Internet阶段
%A
%A 21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越
%A 来越高。目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以
%A 及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的
%A 结合才是嵌入式技术的真正未来。
%A
%A 信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系
%A 统厂商提出了新的挑战。目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术
%A 的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化:
%A
%A 新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内
%A 支持更多的微处理器。
%A 嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时
%A 还要提供强大的硬件开发工具和软件支持包。
%A 通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移
%A 动代理、实时CORBA等,嵌入式软件平台得到进一步完善。
%A 各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网
%A 络结构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与Windows
%A CE、Palm OS等嵌入式操作系统进行有力竞争的局面。
%A 网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一
%A 的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为
%A 必然趋势。
%A 精简系统内核,优化关键算法,降低功耗和软硬件成本。
%A 提供更加友好的多媒体人机交互界面。
%A 1.2 体系结构
%A
%A 根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是"控制、监视或者辅助设备
%A 、机器和车间运行的装置"(devices used to control, monitor, or assist the
%A operation of equipment, machinery or plants)。一般而言,整个嵌入式系统的体系结
%A 构可以分成四个部分:嵌入式处理器、嵌入式外围设备、嵌入式操作系统和嵌入式应用软
%A 件,如图1所示。
%A
%A
%A 图1 嵌入式系统的组成
%A
%A 嵌入式处理器
%A
%A 嵌入式系统的核心是各种类型的嵌入式处理器,嵌入式处理器与通用处理器最大的不同点
%A 在于,嵌入式CPU大多工作在为特定用户群所专门设计的系统中,它将通用CPU中许多由板
%A 卡完成的任务集成到芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有
%A 很高的效率和可靠性。
%A
%A 嵌入式处理器的体系结构经历了从CISC(复杂指令集)至RISC(精简指令集)和Compact
%A RISC的转变,位数则由4位、8位、16位、32位逐步发展到64位。目前常用的嵌入式处理器
%A 可分为低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微处理
%A 器(Embedded Micro Processor Unit,EMPU)、用于计算机通信领域的嵌入式DSP处理器
%A (Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系统(System
%A On Chip,SOC)。
%A
%A 目前几乎每个半导体制造商都生产嵌入式处理器,并且越来越多的公司开始拥有自主的处
%A 理器设计部门,据不完全统计,全世界嵌入式处理器已经超过1000多种,流行的体系结构
%A 有30多个系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最为广泛。
%A
%A 嵌入式外围设备
%A
%A 在嵌入系统硬件系统中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存储
%A 、通信、调试、显示等辅助功能的其他部件,事实上都可以算作嵌入式外围设备。目前常
%A 用的嵌入式外围设备按功能可以分为存储设备、通信设备和显示设备三类。
%A
%A 存储设备主要用于各类数据的存储,常用的有静态易失型存储器(RAM、SRAM)、动态存储
%A 器(DRAM)和非易失型存储器(ROM、EPROM、EEPROM、FLASH)三种,其中FLASH凭借其可
%A 擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应
%A 用。
%A
%A 目前存在的绝大多数通信设备都可以直接在嵌入式系统中应用,包括RS-232接口(串行通
%A 信接口)、SPI(串行外围设备接口)、IrDA(红外线接口)、I2C(现场总线)、USB(通
%A 用串行总线接口)、Ethernet(以太网接口)等。
%A
%A 由于嵌入式应用场合的特殊性,通常使用的是阴极射线管(CRT)、液晶显示器(LCD)和
%A 触摸板(Touch Panel)等外围显示设备。
%A
%A 嵌入式操作系统
%A
%A 为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理、
%A 任务调度等功能的软件模块,这就是嵌入式操作系统。嵌入式操作系统是用来支持嵌入式
%A 应用的系统软件,是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动程
%A 序、系统内核、设备驱动接口、通信协议、图形用户界面(GUI)等。嵌入式操作系统具有
%A 通用操作系统的基本特点,如能够有效管理复杂的系统资源,能够对硬件进行抽象,能够
%A 提供库函数、驱动程序、开发工具集等。但与通用操作系统相比较,嵌入式操作系统在系
%A 统实时性、硬件依赖性、软件固化性以及应用专用性等方面,具有更加鲜明的特点。
%A
%A 嵌入式操作系统根据应用场合可以分为两大类:一类是面向消费电子产品的非实时系统,
%A 这类设备包括个人数字助理(PDA)、移动电话、机顶盒(STB)等;另一类则是面向控制
%A 、通信、医疗等领域的实时操作系统,如WindRiver公司的VxWorks、QNX系统软件公司的QN
%A X等。实时系统(Real Time System)是一种能够在指定或者确定时间内完成系统功能,并
%A 且对外部和内部事件在同步或者异步时间内能做出及时响应的系统。在实时系统中,操作
%A 的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关,也就是说,
%A 实时系统对逻辑和时序的要求非常严格,如果逻辑和时序控制出现偏差将会产生严重后果
%A 。
%A
%A 实时系统主要通过三个性能指标来衡量系统的实时性,即响应时间(Response Time)、生
%A 存时间(Survival Time)和吞吐量(Throughput):
%A
%A 响应时间 是实时系统从识别出一个外部事件到做出响应的时间;
%A 生存时间 是数据的有效等待时间,数据只有在这段时间内才是有效的;
%A 吞吐量 是在给定的时间内系统能够处理的事件总数,吞吐量通常比平均响应时间的
%A 倒数要小一点。
%A 实时系统根据响应时间可以分为弱实时系统、一般实时系统和强实时系统三种。弱实时系
%A 统在设计时的宗旨是使各个任务运行得越快越好,但没有严格限定某一任务必须在多长时
%A 间内完成,弱实时系统更多关注的是程序运行结果的正确与否,以及系统安全性能等其他
%A 方面,对任务执行时间的要求相对来讲较为宽松,一般响应时间可以是数十秒或者更长。
%A 一般实时系统是弱实时系统和强实时系统的一种折衷,它的响应时间可以在秒的数量级上
%A ,广泛应用于消费电子设备中。强实时系统则要求各个任务不仅要保证执行过程和结果的
%A 正确性,同时还要保证在限定的时间内完成任务,响应时间通常要求在毫秒甚至微秒的数
%A 量级上,这对涉及到医疗、安全、军事的软硬件系统来说是至关重要的。
%A
%A 时限(deadline)是实时系统中的一个重要概念,指的是对任务截止时间的要求,根据时
%A 限对系统性能的影响程度,实时系统又可以分为软实时系统(soft real-time-system)和
%A 硬实时系统(hard real-time-system)。软实时指的是虽然对系统响应时间有所限定,但
%A 如果系统响应时间不能满足要求,并不会导致系统产生致命的错误或者崩溃;硬实时则指
%A 的是对系统响应时间有严格的限定,如果系统响应时间不能满足要求,就会引起系统产生
%A 致命的错误或者崩溃。如果一个任务在时限到达之时尚未完成,对软实时系统来说还是可
%A 以容忍的,最多只会降低系统性能,但对硬实时系统来说则是无法接受的,因为这样带来
%A 的后果根本无法预测,甚至可能是灾难性的。在目前实际运用的实时系统中,通常允许软
%A 硬两种实时性同时存在,其中一些事件没有时限要求,另外一些事件的时限要求是软实时
%A 的,而对系统产生关键影响的那些事件的时限要求则是硬实时的。
%A
%A 嵌入式应用软件
%A
%A 嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标
%A 的计算机软件,由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要
%A 特定嵌入式操作系统的支持。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求
%A 其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化
%A ,以减少对系统资源的消耗,降低硬件成本。
%A
%A 1.3 关键问题
%A
%A%A
%A
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。