




已阅读5页,还剩64页未读, 继续免费阅读
(通信与信息系统专业论文)嵌入式实时操作系统及其平台上的蓝牙协议实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学硕士学位论文摘要 嵌入式实时操作系统及其平台上的蓝牙协议实现 摘要 在计算机技术和通信技术迅速发展的信息时代,嵌入式产品作为信息家电的 代表展现了广阔的前景,从而导致嵌入式技术飞速向前发展。传统的家电在向信 息家电过渡时,首先要面临的问题就是核心操作系统的问题,这就要求厂商丌发 出具有行业特征的嵌入式操作系统。l i n u x 是一种功能强大的丌放式操作系统, 它性能优越,并且开放源码,是作为嵌入式操作系统的最佳选择。因此,现在各 大厂商纷纷将他们的目光投向嵌入式l i n u x 系统。随着人们对实时性能的需求, 嵌入式实时操作系统成为发展的新趋势,各种嵌入式实时操作系统应运而生。因 此,研究嵌入式实时操作系统有着相当重要的实际意义。 蓝牙技术是一种新近发展起来的短距离无线通信技术,它的最终目标是低成 本、高效率,采用嵌入式实时操作系统与蓝牙技术的结合将会更好的满足这个目 标。 本论文详细论述了在基于l i n u x 的嵌入式实时操作系统研究工作领域里所做 的研究和实践。首先,对嵌入式系统的概念和历史作出表述;然后对嵌入式实 时操作系统的概念、构架及特点进行了详细的分析;接着,讨论了选择l i n u x 作 为嵌入式操作系统的原因,并对嵌入式l i n u x 系统的设计理念,发展趋势进行了 详细讨论,也简要介绍了嵌入式实时操作系统一- - r t l i n u x ;随后,叙述了自己 定制的嵌入式实时操作系统一- - b l u e z r t l i n u x0 1 的步骤、特点和工作机制;最 后,在该操作系统上实时封装了蓝牙协议栈,并对操作系统的实时性和蓝牙的应 用做了测试。 关键词:嵌入式系统,嵌入式操作系统,实时操作系统,嵌入式实时操作系统 l i n u x ,r t l i n u x ,蓝牙,b l u e z 东北大学硕士学位论文a b s t r a c t e m b e d d e da n dr e a l t i m eo p e r a t i n g s y s t e m a n d r e a l i z a t i o no fb l u e t o o t hp r o t o c o lo nt h i sp l a t f o r m a b s tr a c t i ni n f o r m a t i o nt i m e so f r a p i dd e v e l o p m e n t o f c o m p u t e rt e c h n o l o g y a n d c o m m u n i c a t i o nt e c h n o l o g y , e m b e d d e dp r o d u c t sa sar e p r e s e n t a t i o no fi n f o r m a t i o n a p p l i a n c es h o wt h ew i d e s tf o r e g r o u n d t h a tr e s u l t si nf a s td e v e l o p m e n to f e m b e d d e d t e c h n o l o g y w h e nt r a d i t i o n a la p p l i a n c et r a n s f e r st oi n f o r m a t i o na p p l i a n c e ,t h ef i r s t t h i n gn e e d e dt o f a c ei st h eq u e s t i o no fc o r e o p e r a t i n gs y s t e m ,a n dt h i sr e q u i r e s m a n u f a c t u r e rt o d e v e l o pe m b e d d e do p e r a t i n gs y s t e mw i t hc h a r a c t e r so fi n d u s t r y l i n u xi sa n o p e n i n go p e r a t i n gs y s t e m 谢t l ls t r o n g f u n c t i o n i th a sp r e d o m i n a n t p e r f o r m a n c e a n d o p e n ss o u r c ec o d e a n d i ti st h eb e s tc h o i c et oe m b e d d e d o p e r a t i n g s y s t e m s os o m em a n u f a c t u r e r sp u tt h e i re y e so ne m b e d d e dl i n u xs y s t e mo n ea f t e r a n o t h e rn o w w i t ht h ep e o p l e sr e q u i r e m e n to fr e a l - t i m ec a p a b i l i t y , e m b e d d e da n d r e a l - t i m e o p e r a t i n gs y s t e m w i l lb et h em o s tf a v o r i t e t h i n g a n d a l lk i n d so f e m b e d d e da n dr e a l - t i m eo p e r a t i n gs y s t e ma l s oe m e r g ea st h et i m e sr e q u i r e s ot h e r e s e a r c ho f e n t h e d d e da n dr e a l t i m eo p e r a t i n gs y s t e mi st h em o s t i m p o r t a n tt h i n g t h e t e c h n o l o g yo f b l u e t o o t h i saf r e s hs h o r td i s t a n c ea n dw i r e l e s sc o m m u n i c a t i o n t e c h n o l o g y t h ef i n a l l yt a r g e to fb l u e t o o t hi sl o w c o s ta n d h i g he f f i c i e n c y s ot h el i n k o fe m b e d d e da n dr e a l - t i m eo p e r a t i n gs y s t e ma n db l u e t o o t hw i l lb es a t i s f i e s tt ot h i s t a r g e t t h i st h e s i sp r e s e n t st h er e s e a r c ha n dp r a c t i c ei nt h ef i e l do fe m b e d d e da n d r e a l t i m eo p e r a t i n gs y s t e mb a s e do nl i n u xi nd e t a i l f i r s t l y , i td e s c r i b e st h ec o n c e p t a n dh i s t o r yo fe m b e d d e ds y s t e m ;t h e ni t d e t a i l e d l ya n a l y z e st h ec o n c e p t ,s t r u c t u r e a n dc h a r a c t e r i s t i co fe m b e d d e d r e a l t i m eo p e r a t i n gs y s t e m ;n e x t ,i td i s c u s s e st h e r e a s o no fs e l e c t i n gl i n u xa se m b e d d e do p e r a t i n gs y s t e m ,m a dt h ed e s i g ni d e a , t h e d e v e l o p m e n td i r e c t i o no f e m b e d d e dl i n u xs y s t e mi nd e t a i l a n di tb r i e f l yi n t r o d u c e s t h ee m b e d d e da n dr e a l - t i m eo p e r a t i n gs y s t e m r t l i n u x f o l l o w i n gi t d e p i c t st h e c u s t o m i z a t i o ns t e p s ,c h a r a c t e r i s t i c sa n d j o bm e c h a n i s mo fe m b e d d e da n dr e a l t i m e o p e r a t i n gs y s t e m - b l u e zr t l i n u x o 1t a i l o r e d b yo w n t h el a s t ,i te n v e l o p s b u l e t o o t hp r o t o c o la n dt e s t st h er e a l t i m ep e r f o r m a n c eo f o p e r a t i n gs y s t e ma n dt h e 东北大学硕士学位论文a b s t r a c t a p p l i c a t i o n o fb l u e t o o t ho i lt h i so p e r a t i n g s y s t e m k e y w o r d s :e m b e d d e ds y s t e m ,e m b e d d e do p e r a t i n gs y s t e m , r e a l t i m eo p e r a t i n g s y s t e m , e m b e d d e da n dr e a l - t i m eo p e r a t i n gs y s t e m ,l i n u x ,r t l i n u x , b l u e t o o t h ,b l u e z i v 声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中所取得的研究 成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的研究成果 也不包括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均己在论文中作了明确的说明并表示谢意。 本人签名:王吃青 日 期:2 , 0 0 4 、j - 7 东北大学项士学位论文第一章绪论 1 1 课题提出的背景 第一章绪论 在当前的数字信息技术和网络技术高速发展的时代。嵌入式系统已经被广泛 的应用于制造工业、过程控制、通信、仪器仪表、汽车、船舶、航空航天、军事 装备等方方面面中。随着国内外嵌入式产品的开发和推广,我们的生活也越来越 紧密地与嵌入式技术结台起来。从家用的电冰箱、洗衣机,到我们的交通工具一一 汽车,再到办公室里的办公系统等等,我们无时无刻不被嵌入式技术开发和改造 的产品所包围着。 1 1 1 什么是嵌入式系统 那么到底什么是嵌入式系统呢? 嵌入式系统被定义为:以应用为中心、以计 算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、 功耗严格要求的专用计算机系统。 嵌入式系统包括软件和硬件两部分,硬件包括处理器微处理器、存储器及外 设器件和i o 端口、图形控制器等:软件部分包括操作系统软件( 要求实时和多 任务操作) 和应用程序编程。嵌入式系统的核心是嵌入式微处理器,嵌入式处理 器的应用软件是实现嵌入式系统功能的关键,系统软件的高实时性是基本要求。 1 1 2 嵌入式系统的历史 嵌入式系统的发展历史悠久,早在电子数字计算机出现之前就有了把计算装 置嵌埋在系统和设备之中的嵌入式系统。但是到了2 0 世纪5 0 年代,由于第一代 计箕机主要器件的体积庞大因而阻碍了在嵌入式系统中的发展。 2 0 世纪6 0 年代术,嵌入式计算机兴起,这个时期的计算机技术由于在军事 和空间领域的需求推动而取得了重大的发展。1 9 7 1 年,在世界上第一片微处理 器问世之后,嵌入式计算机得到了真正的发展。微处理器的广泛应用形成了一个 广阔的嵌入式应用市场,计算机厂家丌始大量向用户提供o e m ( o r i g i n a l e q u i p m e n tm a n u f a c t u r e r 原始设备制造商) 产品,再由用户根据自己的需要构成 专用的嵌入式计算机系统,并嵌入到自己的系统设备中。 从2 0 世纪8 0 年代开始。开始出现各种各样的商业用嵌入式操作系统,这些 东北大学硕士学位论文第一章绪论 操作系统大部分都是为专有系统而丌发的,从而形成了现在多种形式的商用嵌入 式操作系统百家争鸣的局面。如v x w o r k s 、p s o s 、w i n d o w sc e 和p a l m 等。 到了2 0 世纪9 0 年代,在分布控制、数字化通信和数字化家电等巨大需求的牵引 下,嵌入式应用进一步向实时、高精度、低功耗加速发展。 1 1 3 嵌入式系统具有的产品特性 嵌入式系统是面向用户、面向产品、面向应用的,如果独立于应用自行发展, 则会失去市场。嵌入式处理器的功耗、体积、成本、可靠性、速度、处理能力、 电磁兼容性等方面均受到应用要求的制约。 与通用计算机不同,嵌入式系统的硬件和软件都必须高效率的设计,量体裁 衣、去除冗余,力争在同样的硅片面积上实现更高的性能。嵌入式处理器要针对 恩户的具体需求对芯片配置进行裁剪和添加爿能达到理想的性能。另外不同的处 理器面向的用户也是不一样的。 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同 步进行,因此嵌入式系统产品旦进入市场,就具有较强的生命周期。嵌入式系 统中的软件一般是固化存储的,所以嵌入式系统的应用软件的生命周期和嵌入式 产品一样长。另外嵌入式系统中的软件更强调可继承性和技术衔接性,发展比较 稳定。 1 2 课题的提出 随着嵌入式系统应用的流行,各大企业纷纷将他们的目光投向嵌入式系统的 开发,例如联想、中兴和华为等公司都成立了自己的嵌入式部门。而因为l i n u x 使用g p l ( g e n e r a lp u b l i cu c e n s e ) ,g p l 的重点在于o p e n s o u r c e ,也就是开放 原始程序码,所以任何对将l i n u x 定制于p d a 、掌上机或者可佩带设备感兴趣 的人都可以从因特网免费下载其内核和应用程序,并开始移植或丌发。这就使得 嵌入式l i n u x 系统成为嵌入式系统中的宠儿。 为实时系统而开发的变种r t l i n u x ( r e n t i m el i n u x ) ,因为其良好的实时性 能和优秀的设计理念,越来越受到人们的青昧。因此本课题所讨论的在此基础上 对操 乍系统的裁剪将更其实用价值。 蓝牙( b l u e t o o t l l ) 作为一种短距离无线通信协议,对其成本和实时性能都有 很高的要求。为了满足这种要求,在本课题所裁剪的操作系统基础上实时封装蓝 牙协议栈也就具有更大的意义了。 东北大学硕士学位论文第一章绪论 1 3 论文的组织介绍 本文讨论了嵌入式实时操作系统,对基于l i n u x 的嵌入式系统丌发进行了解 释,对自己定制的嵌入式实时操作系统b l u e z r t l i n u x 0 1 的工作机制进行了详细 的分析,并在其上对蓝牙协议进行了实时封装。 第一章绪论,对嵌入式系统的综述,从而引出课题。 第二章介绍了嵌入式实时操作系统的概念,构架和特点。 第三章介绍了采用l i n u x 作为嵌入式操作系统的原因,以及嵌入式l i n u x 系 统的优缺点,设计理念和发展趋势,并简单讲了一下嵌入式实时操作r t l i n m x 的设计与实现,特点等。 第四章介绍了定制自己的嵌入式实时操作系统b l u e zr t l i n u x 0 1 的步骤,以 及工作机制。 第五章介绍了b l u e z r t l i n u x 0 1 对b l u e t o o t h 的支持。 第六章是测试总结。 第七章对进一步研究进行了展望。 东北大学硕士学位论文第二章嵌入式,实时操作系统 第二章嵌入式实时操作系统 2 1 嵌入式操作系统 2 1 1 嵌入式操作系统的基本概念及特点 嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入式系统开发 的效率。在嵌入式操作系统中丌发嵌入式系统,不仅极大地减少了系统开发的总 工作量,而且提高了嵌入式应用软件的可移植性。嵌入式操作系统是相对于其它 常规操作系统而言的,一般是指操作系统的内核,或者微内核。为了满足嵌入式 系统的需要,嵌入式操作系统必须包括操作系统的一些最基本的功能,如中断处 理与进程调度等。嵌入式操作系统没有用户界面,如l i n u x 系统中的s h e l l 。嵌入 式操作系统是以库的形式提供给用户的,可以通过a p i 来使用该操作系统。 为了适应不断发展的嵌入式产品的要求,嵌入式操作系统需要具有以下特 点: 由于嵌入式设备硬件平台的多样性,c p u 芯片的快速更新,嵌入式操作 系统要求具有更好的硬件适应性,也就是良好的移植性。 要求占有更少的硬件资源。因为嵌入式系统所能够提供的资源有限,所 有嵌入式操作系统必须做的小巧以满足嵌入式系统硬件的限制。 可装载与卸载。由于嵌入式系统需要根据应用的要求进行卸载,所有嵌 入式操作系统也必须能够适应应用的需求进行卸载,对嵌入式操作系统 的各个部分进行优化或删除。 固化代码。在嵌入式系统中,嵌入式操作系统和所有的应用软件都被固 化到r o m 中。 要求具有高可靠性。 随着i n t e m e t 技术的快速发展,要求嵌入式系统必须提供强大的网络功 能,支持t c p i p 协议及其它1 力、议。 实时性。多数嵌入式系统工作在实时性要求很高的环境中,这就要求嵌 入式操作系统必须把实时性作为一个重要的方面来考虑。 具有友好的图形g u i ( g r a p h i c a lu s e r i n t e 渤c e ) 。嵌入式操作系统的用户 界面一般不提供操作命令,而仅通过系统调用向用户程序提供服务。 东北大学硕士学位论文第二章嵌入式,实时操作系统 2 1 2 嵌入式操作系统解析 在嵌入式操作系统中,内核至少应包含以下几部分: ( 1 ) 进程调度 进程调度的好坏是嵌入式应用中至关重要的部分。嵌入式操作系统的进程状 态有三种:运行状态( r u n n i n g ) ,就绪状念( r e a d y ) 和等待状态( w a i t i n g ) 。三 种状态之间的关系如图2 1 所示。 图2 i 进程状态关系图 f i g 2 1t h e r e l 越i o no f p r o c e s ss t a t e 在嵌入式操作系统中与进程调度密切相关的是调度程序。操作系统用调度程 序来决定哪一个进程有权占有处理器。大部分的嵌入式操作系统使用的是一种基 于优先级的抢占式调度算法,即任何时刻,占有处理器的进程必须是所有就绪进 程中优先级最高的进程,优先级低的进程必须等待高优先级的进程结束后方可占 有处理器。 ( 2 ) 存储管理 嵌入式操作系统的存储管理较之一般操作系统的存储管理要简单得多。嵌入 式操作系统一般采用静态内存分配策略,从而使得嵌入式应用中进程的数量及所 使用的内存量可预测。 ( 3 )中断 无论是一般的操作系统还是嵌入式操作系统,在处理外部事件或者i o 请求 时都选择了中断方式,而放弃了占用大量c p u 时间的查询方式。 ( 4 ) a p i ( a p p l i c a t i o np r o g r a m i n t e r f a c e ) 嵌入式操作系统通过系统调用与用户交互。嵌入式操作系统所提供的系统调 用的数量和功能在不同应用环境中大不相同。 东北大学硕士学位论文第二章嵌入式实时操作系统 2 1 3 目前流行的嵌入式操作系统 目前流行的嵌入式操作系统分为两类:从运行在个人电脑以上的系统平台上 的操作系统向下移植到嵌入式系统中形成的嵌入式操作系统。这类系统延用了原 有技术,并在其上进行了内核的精简和嵌入式改造,并提供相应的成套开发工具, 非常适合类p c 的嵌入式系统。另一类是专门从事嵌入式系统软件的开发商一直 致力于实时操作系统的丌发。这类产品在操作系统的结构和实现上都针对所面向 的应用领域,如系统的实时性要求,高可靠性等进行了精巧的设计,而且提供了 独立而完备的系统丌发和测试工具。 下面简单介绍几个比较流行的嵌入式操作系统: l a m b d a t o o l d e l t a o s 一该操作系统是完全由中国自主研发的最成熟 的嵌入式强实时多任务操作系统,立足于军工及民用市场,并提供源代 码。 o n x 一一该操作系统是x 8 6 上最好的嵌入式实时操作系统,它同时支持 p o w e r p c 、m i p s 、a r m 等实时操作平台。它是一个实时、微核、基于 优先级、消息传递、抢占式多任务、多用户、具有容错能力的分布式网 络操作系统。 t o m a d o v x w o r k s - - - - t o r n a d o 代表嵌入实时应用中最新一代的丌发和执 行环境。它包含三个完整的部分:t o m a d o 系列工具,用于主机或目标机 上的交互式开发:v x w o r k s 系统,它是目标板上高性能可扩展的实时操 作系统;可选用的连接主机和目标机的通信软件包。v x w o r k s 具备一个 高效的微内核,微内核支持实时系统的一系列特征,包括多任务、中断 支持、任务抢占式调度和循环调度。 p s o s y s t e m - 一是一种嵌入式微处理器设计的模块化高性能实时操作系 统。它在开放系统标准的基础上提供了一套完整的多任务平台,是基于 性能、可靠性、方便使用三个最重要的目标而设计的。采用了一个快速 的、确定性的并且可行的系统软件解决方案。它采用了模块化结构。 2 2 实时操作系统 2 2 1 实时操作系统( r t o s ) 的概念及体系结构 实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。实时 操作系统的首要任务是调度一切可以利用的资源完成实时控制任务,其次着眼于 东北大学硕士学位论文第二章嵌入式侯时操作系统 提高计算机系统的使用效率,其重要特点是要通过任务调度来满足对于重要事件 在规定的时间内作出正确的响应。 根掘实时系统的场合和开发过程,实时操作系统可以分为两种:般实时操 作系统和嵌入式实时操作系统。一般实时操作系统应用于实时查询等实时性较弱 的系统,并且开发、调试、运行环境一致。而嵌入式实时操作系统用于实时性要 求较高的控制系统,采用交叉丌发环境,即丌发环境与调试、运行环境不一致。 嵌入式实时操作系统具有规模小( 一般在几十k 内) 、实时性强( 在毫秒或微秒 的数量级上) 、可固化等特点。 实时操作系统的体系结构如图2 。2 所示。 圉围 幽2 2 实时操作系统的体系结构 f i g 2 2t h es y s t e ms t r u c t u r eo f r e a l - t i m eo p e r a t i n gs y s t e m ( 1 ) 硬件抽象层( h a l ) 包含了所有和硬件平台相关的代码,如上下文切 换和i o 寄存器访问等等。它存在于r t o s 的最底层,直接访问和控制硬件,对 其上层的r t o s 的机器无关代码提供访问和控制服务。这样可以简化r t o s 内核 的移植工作,除了设备驱动程序之外,在移植的时候只需要修改h a l 的代码就 可以了。 ( 2 ) r t o s 内核( k e r n e l ) 是用来为大多数程序乃至o s ( 网络、文件系统、 驱动程序) 构建一系列在抽象的文件上工作的抽象机,使用户程序及上层o s 组 件对系统设备透明。在这个内核里面需要实现如下的接口界面: 多线程支持( 线程管理、线程同步原语) 内存分配原语函数 文件操作接口函数 中断、异常及定时器函数 东北大学硕士学位论文第二章嵌入式实时操作系统 其它标准c 库函数 程序动念装载卸载 ( 3 ) 在提供的r t o s 接口上需要有对用户程序提供的接口函数,专门为用 户定制网络、图形、视频等接口,并且提供驱动程序开发界面,方便开发者对不 同需求的设备定制驱动程序。 一般来说,r t o s 内核的实现都为微内核的体系结构。所渭微内核技术是指 将必需的功能( 如进程管理、任务通信、中断处理、进程调度) 放在内核中,而 将那些不是非常重要的核心功能和服务( 文件系统、存储管理、网络通信、设备 管理) 等作为内核之上可配置的部分。这样,整个操作系统就是由提供一些基本 服务机制的微内核加上一些服务进程构成,系统的各个系统调用和服务都是由内 核发消息到不同的服务进程,服务进程执行相应的操作,然后以消息的方式返回 内核。 使用微内核的体系结构,使得r t o s 体积很小,便于直接放在r o m 中,实 现r o m 固化,同时方便进行模块化的扩展。 使用微内核的结构也存在很多的缺点,如操作系统的服务模块在独立的地址 空间运行,虽然可以将不同模块间的内存错误隔离丌来,但是使得进程间通信和 上下文切换的时间和开销大大增加,降低了系统效率。 2 2 2 实时操作系统的衡量标准 评价一个实时操作系统一般可以从任务调度、内存管理、任务通讯、内存丌 销、任务切换时间、最大中断禁止时间等几个方面来衡量。 ( 1 ) 任务调度机制 r t o s 的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调 度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式上来讲, 分可抢占,不可抢占,选择可抢占调度方式;从时间片来看,分固定和可变时问 片轮转。 在大多数商用的实时系统中,为了让操作系统能够在有突发事件,迅速取得 系统控制权以便对事件作出反应,大都提供了“抢占式任务调度”的功能,也就 是操作系统有权主动终止应用程序的执行,并且将执行权交给捌有最高优先级的 任务。 ( 2 ) 内存管理 如同分时操作系统一样,实时操作系统使用内存管理单元( m m l ) 进行内 存管理。实时操作系统内存管理模式分为实模式与保护模式。目前主流的实时操 东北大学硕士学位论文 第二章嵌入式实时操作系统 作系统一般都可以提供这两种模式,让用户根据应用自举选择。 ( 3 ) 最小内存开销 r t o s 的设计过程中,最小内存开销是一个较重要的指标。这是因为在工业 控制领域中,基于降低成本的考虑,其内存的配置一般都不大,而在这有限的空 间内不仅要装载实时操作系统,还要装载用户程序。因此,在r t o s 设计中,其 占用内存大小是一个很重要的指标,这是r t o s 设计与其它操作系统设计的明显 区别之一。 ( 4 ) 中断禁止时间与中断延迟事件 当r t o s 运行在核心态或执行某些系统调用的时候,是不会因为外部中断的 到来而中断执行的。只有当r t o s 重新回到用户态时才响应外部中断请求,这一 过程所需的最大时间就是中断禁止时间。 中断延迟时间是指系统确认中断开始直到执行中断服务程序的第一条指令 为止整个处理过程所需要的时间。实时操作系统的中断延迟时间由下列三个因素 决定: 处理器硬件电路的延迟时间,这个时间通常可以忽略; 实时操作系统处理中断,并将控制权转移给相关处理程序所需要的 时间: 实时操作系统的中断禁止时间。 为了缩短系统的中断延迟时间,大多数商用实时操作系统都采用了“可中断 式”的核心程序,也就是说,当中断发生时,即使正在执行的是核心服务函数, 实时操作系统也能够保证会在一定的时间( 也就是中断延迟时问) 内,调用恰当 的中断服务例程。 也有许多实时操作系统,采用非抢占式核心程序,也就是执行中的系统核心 服务函数不能被其它程序所中断。在这里系统中,如果系统核心函数服务的对象 是某个低优先级的任务,那么即使提出中断请求的是应该拥有更高优先级的任 务,系统都必须等到目前这个核心函数结束后,才能将控制权转移给等待中的高 优先级任务。 ( 5 ) 任务切换时间 当由于某种原因使一个任务退出运行时,r t o s 保存它的运行现场信息,插 入相应队列,并根据一定的调度算法重新选择一个新任务使之投入运行,这一过 程所需的时间称为任务切换时间。更准确的况,任务切换时间是实时操作系统将 控制权从一个任务的执行中取回,然后交给另外一个任务所需要的时间。它包括 保存目前正在执行任务的现场信息所需要的时间。r t o s 决定下一个调度任务所 需的调度时间以及r t o s 把另一个任务调入系统执行所需要的时间。 东北大学硕士学位论文第二章嵌入式实时操作系统 2 2 3 实时操作系统的功能 实时操作系统具有小型、快速、可预测性等特点,而可预测性和低延时是实 时操作系统的主要特点。实时操作系统具有如下功能: ( 1 ) 任务管理 分时操作系统的基本调度单位一般是进程( 或线程) ,而对于实时操作系统, 操作系统内核调度的基本单位就是任务。任务一般有任务控制块、程序区、数据 区、堆栈区组成。对于多少实时操作系统来说,堆栈一般又分为系统堆栈和用户 堆栈,系统堆栈用于任务做系统调用访问系统核心时用到的堆栈,把它从用户堆 栈中独立出来,是为了保证系统核心的安全性。任务的驱动一般是基于消息或者 事件的,即任务的设计是按照依次处理可能接收到的消息和事件,周而复始轮询 循环的。实时操作系统中的任务有四种状态: 运行( e x e c u t i n g ) 一一获得c p u 控制权; 就绪( r e a d y ) 一一进入任务等待队列,通过调度转为运行状态: 挂起( s u s p e n d e d ) 一一任务发生阻塞,移出任务等待队列,等待系 统实时事件的发生而唤醒,从而转为就绪或运行状态; 冬眠( d o r m a n t ) 一一任务完成或错误等原因被清楚的任务,也可以 认为是系统中不存在的任务。 在时间片轮转的调动方式中,系统只能有一个任务在运行状念,各任务按级 别通过时间片分别获得对c p u 的访问权。 ( 2 ) 任务问同步和通信 主要的实时操作系统的任务间同步和通信的机制有:消息、事件和信号量, 部分实时操作系统仍延用邮箱机制,另外一些实时操作系统提供共享内存的任务 阳j 通信机制。 消息机制的基本思想是任务通过系统公用的数据交换区来交互任务间需要 通信的信息。消息机制的系统调用一般包括消息队列的创建、删除、接收消息、 发送消息、广播消息和紧急消息。现在,大多数实时操作系统支持的消息队列既 可以是定长的,也可以是变长的。 事件机制适用于任务间需要同步,并且通信的数据量不大的情况。一般蜕来, 任务之间的事件通信机制是可以覆盖的。事件机制的系统调用一般包括发送事件 和接收事件。目前大多数操作系统支持1 6 3 2 个事件。 实时操作系统提供的信号量机制是为了解决对于临界资源共享的加锁机制。 信号量机制提供了信号量的创建、删除、p 操作和v 操作。实时操作系统还要解 决信号量机制的优先级倒置问题。 东北大学硕士学位论文第二章嵌入式,实时操作系统 ( 3 ) 内存管理 实时操作系统会利用c p u 的内存管理单元( m m u ) 来完成内存管理。实时 操作系统的内存管理还有对于内存的优化分配,以尽量减少整个系统内存的占有 量的要求。 ( 4 ) 实时时钟服务 实时时钟是系统调用的基础,也是系统定时服务器的基础。实时时钟服务一 般包括定时唤醒和定时事件机制。部分优秀的实时操作系统提供了定时消息机 制,相应的系统调用有定时器申请、删除和重置。定时消息的接收一般采用消息 队列的接收机制。 ( 5 ) 中断管理服务 实时操作系统的中断管理要求,中断处理程序要更加短小、精悍,以减少中 断禁止时间和中断延迟时间。 东北大学硕士学位论文第三章嵌入式l i n u x 系统 第三章嵌入式l if l u x 系统 3 1l i n u x 作为嵌入式操作系统的优势和缺点 使用嵌入式l i n u x 进行产品开发有很大的优势: ( 1 ) 免许可证费用。大多数的商业操作系统,例如w i n d o w s 、w i n d o w sc e 对每套操作系统收取一定的许可证费用。姐对的,l i n u x 是一个免费软件,并且 公丌源代码。只要不违反g p l ( t h eg n u g e n e r a lp u b l i cl i c e n s e ,g n u 通用公共 许可证) 协议,就可以自由应用和发布l i n u x 。 ( 2 ) 有很高的稳定性。在p c 硬件上运行时,l i n u x 是非常稳定和可靠的, 特别是跟现在流行的一些操作系统相比。嵌入式内核本身有多稳定呢? 对大多数 微处理器来说,l i n u x 非常好。移植到新微处理器家族的l i n u x 内核运行起来与 本来的微处理器一样稳定。它经常被移植到一个或多个特定的主板上。这些板包 括特定的外围设备和c p u 。 因为许多不同处理器的指令代码是相通的,所以移植集中在差异上。其中大 多数是在内存管理和中断控制领域。一旦移植成功,它们就非常稳定。 ( 3 ) 强大的网络功能。l i n u x 天生就是一个网络操作系统,几乎所有的网 络协议和网络接口都被定制在l i n u x 中。l i n u x 内核在处理网络协议方面比标准 的u n i x 更具执行效率,在每一个端口上有更高的吞吐量。 ( 4 ) 丰富的丌发工具。l i n u x 提供c 、c + + 、j a v a 以及其它很多的开发 工具。更重要的是,爱好者可以免费获得。并且这些开发工具设计时已经考虑到 支持各种不同的微处理器结构和调试环境。l i n u x 基于g n u ( g n u sn o tu n i x ) 的工具包,此工具包提供了完整的无缝交叉平台开发工具,从编辑器到底层调试。 其c 编译器产生更有效率的执行代码。 ( 5 ) 大量的文档。对新手来说,有很多用户界面友好的参考文档,这些资 料很容易从网上获得。对处于黄金时期的l i n u x 来说,许多书店都愿意在书架上 放上这方面的书籍。 下面的表3 1 是对专用嵌入式实时操作系统与嵌入式l i n u x 操作系统的一个 综合比较。 任何事物都具有两面性,当然嵌入式l i n u x 也不例外。在嵌入式系统上运行 l i n u x 也是有缺点的: l i n u x 体系提供实对性能需要添加实时软件模块。而这些模块运行的内核空 东北大学硕士学位论文第三章嵌入式l i n u x 系统 间j 下是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时 软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个 系统的可靠性,这对于实时应用将是一个非常| f = 重的弱点。 表3 1专用嵌入式实时操作系统v s 嵌入式l i n u x 操作系统 t a b l e3 1t h e c o m p a r e o f t h e s p e c i a le m b e d d e d a n dr e a i - t i m e 专用嵌入式实时操作系统嵌入式l i n u x 操作系统 版权费每生产一份产品需交纳一免费 份版权费 购买费用人民币数十万免费 技术支持由开发商一家提供有限的全世界的自由软件开发者提供支 技术支持持 网络特性另加人民币数十万购买免费而且性能优异 软件移植难,因为是封闭系统易,代码开放,有许多应用软件支 持 应用产品长,因为可参考的代码有短,新产品上市迅速,因为有许多 丌发周期限公开的代码可以参考和移植 实时性能好需改进,可用r t l i n u x 等模块弥补 稳定性好较好,在高性能系统中有待改进 另一方面,现成的r t o s 完全是为实时性能而设计的,它通过在由用户而非 系统级进程启动时分配给某个进程以高于其它进程的优先级的方式来实现可靠 性。进程在操作系统看来就是在内存里或硬盘驱动器上执行的程序。给他们指定 进程i d 或者数字标识符为的是让操作系统跟踪正在执行的程序和这些程序的相 关联的优先等级。这样的方式保证了r t o s 时间能比l i n u x 提供更高的可靠性( 可 预见性) 。但最重要的,这还是一种更加经济的选择。 3 2 不同类型的嵌入式l i n u x 系统 现在已经有许多嵌入式l i n u x 系统的示例。可以有把握地说,某种形式的 l i n u x 能在几乎任一台执行代码的计算机上运行。例如,e l k s ( 可嵌入l i n u x 内核子集) 方案计划在p a l mp i l o t 上使用l i n u x 。下面列出了一些更加广为人知 的小型嵌入式l i n u x 版本: e t l i n u x - - 设计用于在小型工业计算机,尤其是p c 1 0 4 模块上运行的l i n u x 的完全分发版。 l e m 一一运行在3 8 6 上的小型( 8m b ) 多用户、网络l i i i u x 版本。 东北大学硕士学位论文第三章嵌入式l i n u x 系统 l o a f 一一“l i n u xo na f l o p p y ”分发版,运行在3 8 6 上。 u c l i n u x - - 一在没有m m u 的系统上运行的l i n u x 。目前支持m o t o r o l a6 8 k 、 m c f 5 2 0 6 和m c f 5 2 0 7c o l d f i r e 微处理器。 u l i n u x 一一在3 8 6 上运行的t i n yl i n u x 分发版。 t h i n l i n u x - - 一面向专用的照相机服务器、x 1 0 控制器、m p 3 播放器和其它 类似的嵌入式应用的最小化的l i n u x 分发版。 3 3 嵌入式l i n u x 的设计 3 3 1 如何选用合适的l i n u x 版本 用户可以获得多种配置及体系不同的l i n u x 版本,另外,还有一些把l i n u x 移植到非x 8 6 体系的c p u ( 包括p o w e r p c 、r i s c 、6 8 k 以及许多别的微控制器) 上的版本。因此,我们如何选择l i n u x 的发行版本,也是一个重要的问题。 l i n u x 的版本主要有四大类: ( 1 ) 标准的l i n u x 版本。 ( 2 ) 小型化的嵌入式版本( s m a l l f o o t p r i n t “e m b e d d e d ”v e r s i o n ) 。 ( 3 ) 具有实时扩展功能的l i n u x 版本。 ( 4 ) l i n u x 特殊应用版本。如有许多针对不同的如“瘦服务器”或“防火 墙”应用的小型化、实时特性增强的版本。 3 3 2 嵌入式l i n u x 的软硬件要求 3 3 2 i 硬件要求 挑选最佳硬件的过程会相当复杂,要考虑很多问题。对于一个公司来讲,要 考虑公司内部政策、成见、其它方案的遗留问题、缺乏全面的或者精确的信息以 及成本一一需考虑总的产品成本,而不仅仅是c p u 本身。有时,一旦把c p u 使 用其它外围设备所必需的总线逻辑和延迟时间考虑在内,那么快速而廉价的c p u 也可能变得昂贵。要计算任意给定的项目所需的c p u 速度,首先要现实地看看 为了完成一个给定的任务c p u 得运行多快然后再乘以三。还要确定总线需要运 行多快。如果还有二级总线,比如p c i 总线,那么将它们也考虑在内。一条慢的 总线( 即一条被d m a 通信阻塞的总线) 将会显著降低高速c p u 的速度。 总之,要考虑多方面因素来为嵌入式l i n u x 应用的硬件选择一个最佳的解决 东北大学硕士学位论文第三章嵌入式l i n u x 系统 方案。 3 3 2 2 软件要求 最小的嵌入式l i n u x 系统需要三个基本元素: 引导程序 l i n u x 微内核( 包含内存管理、进程管理及事务处理) 初始化过程 要实现最低限度的工作能力,还需要添加: 硬件驱动程序 一个或多个应用程序,以提供所需功能 随着要求的增加,可能还需要: 一个文件系统( 可能在r o m 或者r a m 中) t c p i p 网络栈 储存半瞬态数据和提供交换空间的磁盘 3 2 位内置c p u ( 所有完全的l i n u x 系统都需要) 最后,有的嵌入式系统还提供了图形用户界面支持。 3 3 3 构造嵌入式l i n u x 的几个关键问题 ( 1 ) 如何引导? 当一个微处理器第一次启动的时候,它开始在预先设覆的地址上执行指令。 通常在那里有一些只读内存,包括初始化或引导代码。在p c 上,这就是b i o s 。 它执行了一些低水平的c p u 初始化和其它硬件的配置。b i o s 继续辨认哪个磁盘 里有操作系统,把操作系统复制到r a m 并且转向它。 在嵌入式系统中通常没有b i o s ,这就需要提供一个等同于b i o s 的启动代 码。嵌入式系统的启动代码并不需要像p cb i o s 那样灵活,因为它通常只需要 处理一个硬件的配置。这个启动代码非常简单,只是一个指令清单,将固定的数 字塞到硬件寄存器中去。然而这些代码却很关键,因为这些数值要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 潼关肉夹馍营销方案范文(3篇)
- 先进的安全培训方式课件
- 创意安全培训形式课件
- 创建卫生城市课件
- 先概括再具体课件
- 创卫感动课件
- 化学制药设备安全培训课件
- 梅花诗词讲解
- 元音和辅音表课件
- 红花的栽培技术
- 中级卷烟包装工(四级)专业知识考试复习题库大全-下(简答题汇总)
- 福建省技能人才评价考评员题库
- SMT与DIP工艺制程详细流程介绍
- 管理者角色认知与转换课件
- 教科版科学二年级上册 全册整套课件
- 六年级上册数学教案-第一单元复习教案|人教新课标版
- 小学道德与法治学科教师专业素质考试试题及答案
- 全国质量奖现场汇报材料(生产过程及结果)课件
- 政策评价-卫生政策分析课件
- 高中物理实验—测定物体的速度及加速度(含逐差法)
- 饮食习惯与健康
评论
0/150
提交评论