




已阅读5页,还剩59页未读, 继续免费阅读
(计算机应用技术专业论文)基于μclinux嵌入式系统的低功耗研究和设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学硕士学位论文 摘要 随着我国“以信息化带动产业化”战略的实施,以微处理器为核 心的嵌入式系统广泛应用于各种工业和民用设备中,嵌入式系统也早 已经融入了我们生活的方方面面。随着嵌入式系统的发展,消费者要 求越来越多电子产品便于携带,不少传统的电子产品已成为便携式产 品,例如便携式d v d 、便携电脑等。另一方面,消费者也追求优质的 显示、音频及更长的电池寿命,这些都对嵌入式系统的功耗管理提出 了严格的要求。嵌入式系统的功耗水平也成为衡量其优劣的一个重要 标准。本文对嵌入式系统u e l i n u x 的功耗管理进行了研究和设计,并 通过实验验证了其功耗管理效果。 文中首先介绍了嵌入式系统功耗管理的研究现状,从系统级、r t l 级、版图级三个层次对嵌入式系统的功耗管理方法进行了讨论。同时 对目前国内外关于动态功耗管理算法的优缺点进行了分析,并介绍了 uc l i n u x 系统中一种简单而有效的动态功耗管理算法。 其次介绍了两大电源管理规范a p m 和a c p i ,分析了他们的优 缺点。在分析了传统的电源管理规范应用于嵌入式系统的局限性的基 础上,对u c l i n u x 中的p m 功耗管理模块进行研究和改进,并结合一 种简单的动态功耗管理算法,在硬件平台s 3 c 4 4 b o x 上实现了对外部 设备的动态功耗管理。并通过实验,对文中所用算法与超时算法的性 能进行了比较。 最后,研究了嵌入式系统的功耗管理,采用成熟的t i m e o u t 调 1 江苏大学硕士学位论文 度算法,并把调度算法的实现放在了i d l e 进程中,解决了以往一些 嵌入式系统设计中只是简单通过判断外部按键或触摸屏事件来计时 的缺陷。实验证明采用了文中功耗管理方案的系统,系统待机时间及 电池工作时间比没有采用功耗管理的系统都有很大的提高。 关键词:嵌入式系统,pc l i n u x ,s 3 c 4 4 b o x ,功耗管理 i i 江苏大学硕士学位论文 a b s t r a c t w i t ht h e i m p l e m e n to ft h es t r a t a g e mo f “i n f o r m a t i z a t i o ne n g i n e i n d u s t r i a l i z a t i o n , e m b e d d e ds y s t e mc e n t e r i n go nm i c r o p r o c e s s o rh a s b e e nw i d e l yu s e di ni n d u s t r i a la n dc i v i l i a ne q u i p m e n t s ,a n de n t e r e di n t o o u rl i v e s w i t ht h ed e v e l o p m e n to ft h ee m b e d d e ds y s t e m ,t h ec o n s u m e r s w a n tm o r ea n dm o r ee l e c t r o n i cp r o d u c t sc a r r y i n ge a s i l y m a n yt r a d i t i o n a l e l e c t r o n i cp r o d u c t sh a v eb e e np o r t a b l e ,s u c ha sp o r t a b l ed v d ,n o t e b o o k c o m p u t e ra n ds o o n o nt h eo t h e rh a n d ,t h ec o n s u m e r sw a n tt h a tt h e e l e c t r o n i cp r o d u c t sh a v et h ef i r s t - c l a s s d i s p l a y ,s o u n d l e v e la n dm o r e l o n g e v i t y ,w h i c hp r e s e n ts t r i c td e m a n d st ot h ep o w e rm a n a g e m e n to f e m b e d d e ds y s t e m t h el e v e lo ft h ee n e r g yc o n s u m p t i o nh a sb e e nt h e c r i t e r i o nt om e a s u r et h ee m b e d d e d s y s t e m i n t h i s p a p e r ,p o w e r m a n a g e m e n to f “c l i n u xw a s s t u d i e da n dd e s i g n e d ,a n di t se f f e c to fp o w e r m a n a g e m e n tw a sv a l i d a t e d i nt h i s p a p e r , w e f i r s ti n t r o d u c et h e s t u d y s t a t u so fp o w e r m a n a g e m e n t o ft h ee m b e d d e ds y s t e m a n dt h em e t h o d so f p o w e r m a n a g e m e n to fe m b e d d e ds y s t e ma r e d i s c u s s e df r o mt h r e el a y e r so f s y s t e mc l a s s ,r t lc l a s s ,l a n d s c a p ec l a s s t h e na n a l y z et h ea l g o r i t h mo f d y n a m i cp o w e rm a n a g e m e n th o m ea n da b r o a d ,a n di n t r o d u e caa l g o r i t h m o fd y n a m i cp o w e rm a n a g e m e n tw h i c hw o u l db eu s e di nuc l i n u xi nt h i s p a p e r i i i 江苏大学硕士学位论文 s e c o n d l yw ei n t r o d u c et w os p e c i f i c a t i o n so fp o w e rm a n a g e m e n t a p ma n da c p i a n da n a l y z et h e i rm e r i t sa n df a u l t sr e s p e c t i v e l y t h e n s t u d ya n da n a l y z et h e l i m i t a t i o n t h a tt h et r a d i t i o n a ls p e c i f i c a t i o n so f p o w e rm a n a g e m e n ta p p l i e dt oe m b e d d e ds y s t e m a n do nt h eb a s i so fi t , w es t u d ya n di m p r o v et h ep o w e rm a n a g e m e n tm o d u l eo fuc l i n u x ,a n d i m p l e m e n tt h ep o w e rm a n a g e m e n tt o t h ep e r i p h e r a l e q u i p m e n t o n s 3 c 4 4 b o xc o m b i n e dw i t has i m p l ea l g o r i t h m t h e n ,w ec o m p a r et h e a l g o r i t h m i n t h i s p a p e rw i t h t h et i m e o u t a l g o r i t h mt h r o u g h t h e e x p e r i m e n t f i n a l l y , w es t u d yt h ep o w e rm a n a g e m e n to f e m b e d d e ds y s t e m w e u s et h em a t u r et i m e o u ta l g o r i t h m ,a n d i m p l e m e n t i ti nt h ei d l e p r o c e s s t h r o u g hi t ,w es o l v et h el i m i t a t i o ni nt h ep a s td e s i g no f e m b e d d e d s y s t e m i tp r o v e st h a tt h el o n g e v i t yo f t h eb a t t e r yi nt h es y s t e mw h i c hu s e s t h es c h e m eo fp o w e rm a n a g e m e n ti nt h i sp a p e ri sm u c hm o r et h a nt h e o n ew h i c hd o e s n tu s e sp o w e rm a n a g e m e n t k e yw o r d s :e m b e d d e ds y s t e m ,uc l i n u x ,s 3 c 4 4 b o x p o w e rm a n a g e m e n t 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保 留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被奁阅和借 阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 学位论文作者签名 保密口,在年解密后适用本授权书。 0 。6 年f ;月口l 7 不保洄。 彳怎翌指导教师签名:豸澎趺 “年毛月l o 日 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已经注明引用的内容以 外,本论文不包含任何其他个人或集体已经发表或撰写过的作品 成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:智乏建 日期:扣l 年月p 日 江苏大学硕士学位论文 1 1 研究背景 第一章绪论 随着我国“以信息化带动产业化”战略的实施,以微处理器为核心的嵌入式 系统广泛应用于各种工业和民用设备中,嵌入式系统也早已经融入了我们生活的 方方面面。美国汽车大王福特公司的高级经理曾宣称,“福特出售的计算能力 已超过了i b m ”。这并不是一个哗众取宠或者夸张的说法,在真正感受这句话的 震撼力之前,让我们先了解一下嵌入式系统的定义:以应用为中心、以计算机技 术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗 严格要求的专用计算机系统。如今,嵌入式控制器的应用几乎无处不在,举例来 说,大到油田的集散控制系统和工厂流水线,小到家用v c d 机或手机,甚至组 成普通p c 终端设备的键盘、鼠标、软驱、硬盘、显示卡、显示器、m o d e m 、网 卡、声卡等均是由嵌入式处理器控制的,今天,嵌入式系统带来的工业年产值已 超过了1 万亿美元。而随着手机、p d a 、g p s 、机顶盒等新兴产品的大量应用, 嵌入式系统的市场正在以每年3 0 的速度递增( i d c 预测) ,嵌入式系统市场的 深度和广度,由此可见一斑。 随着嵌入式系统的发展,消费者要求越来越多的电子产品便于携带。目前, 不少传统的电子产品已成为便携式产品,例如便携式d v d 、便携电脑等。另一 方面,消费者也追求优质的显示、音频及更长的电池寿命,这些都对嵌入式系统 的功耗管理提出了严格的要求。由于传统的镍铬电池每磅仅能提供2 0 w h 的能 量,因而功耗就变得尤为重要。电池技术正在改进,每5 年最大能将电池的性能 提高3 0 ,然而其不可能在短期内显著地解决现在正遇到的功耗问题。 虽然传统可便携数字应用的支柱技术已经成功地用于低功耗、低性能的产品 上,诸如电子手表、袖珍计算器等等,但是有很多低功耗、高性能可便携的应用 一直在增长。例如,笔记本计算机就代表了计算机工业里增长最快的部分。它们 要求与桌上计算机一样具有同样的计算能力。同样的要求在个人通信领域也正在 迅速地发展,如采用了复杂语音编解码算法和无线电调制解调器的带袖珍通信终 端的新一代数字蜂窝网。已提出的未来个人通信服务p c s ( p e r s o n a l c o m m u n i c a t i o ns e r v i c e s ) 应用对这些要求尤其明显,通用可便携多媒体服务是要 支持完整的数字语音和图像辨别处理的。在这些应用中,不仅语音,而且数据也 要能在无线链路上传输。这就为实现任何人在任何地方的任何时间开展任何想要 的业务提供了可能。但是,花在对语音、图像的压缩和解压上的功耗就必须附加 江苏大学硕士学位论文 在这些可便携的终端上。这些都是嵌入式系统设计者必须解决的问题。因此,嵌 入式系统的低功耗设计问题已成为系统设计的重点,我们把原因归结如下: 1 ) 大量移动计算设备需要由电池供电,而电池受重量和体积的限制,储能 能力有限; 2 1处理器芯片工作频率越来越高,散热问题越来越严重; 3 )高性能计算机系统由于功耗大,导致能耗运行成本上升,并且高温会造 成系统可靠性下降。 可见,研究嵌入式系统的功耗管理技术无论在提高人们生活水平方面还是在 促进嵌入式系统更深入、更广泛的应用方面都有着重大的意义。 1 2 嵌入式系统功耗管理的研究现状 1 2 1 嵌入式系统的功耗来源 从宏观结构上看,嵌入式系统的功耗来自系统内部的各个功能模块及功能模 块间总线的功耗,而功能模块的划分、功能特性、数量和相互关系是在系统结构 级设计时确定的。整个系统的功耗是各功能模块的功耗的总和。对性能的不同要 求,对模块的功能要求就不同,从而影响系统的实现规模。功能越复杂,实现规 模越大,系统的功耗就越高,所以系统结构级的设计从根本上关系到嵌入式系统 功耗的大小。 从微观电路实现上看,系统电路的功耗主要由以下两个方面组成: 动态功耗。动态功耗主要包括:开关功耗,它是对电路中的电容充放电形成 的;短路功耗,它是由于输入信号不是理想的方波,在输入信号上升或下降的过 程中引起开关过程中附加的短路功耗。 静态功耗。静态功耗主要包括:静态直流功耗,是指在电路稳定时由于各种 泄漏电流的存在,使得电路存在静态功耗,它是由电源到地的电流所形成的功耗; 漏电流功耗,是由亚阈值电流和反向偏压电流造成的。 1 2 2 嵌入式系统功耗管理的研究现状 嵌入式系统的设计是一个追求多设计目标( 性能、体积和功耗) 的过程功耗 的优化不是孤立的,功耗优化的技术和方法是与其他设计目标相互约束并有机结 合的。根据介入系统设计阶段的不同,嵌入式系统功耗管理主要可以分为系统级、 r t l 级、版图级三个层次。下面将对目前主要的功耗优化方法分别就不同设计 层次进行讨论。 江苏大学硕士学位论文 1 2 2 1 系统级 a 软硬件划分 软硬件划分【1 【2 1 是从系统功能的抽象描述( 如c 语言) 着手,把系统功能分解为 硬件和软件来实现。对于一个系统功能的任务,可通过在微处理器上运行软件来 实现和通过专用电路实现,比较两者的功耗得出一个低功耗的实现方案。软硬件 划分的技术处于设计的起始阶段,给降低功耗带来更大的可能。 b 存储器优化 存储器是集成系统的重要组成部分,存储器的功耗包括对存储器本身功耗和 微处理器与存储器之间通信的功耗研究包括低功耗存储结构的构造方法,它同 时考虑了各种类型的存储元件( s r a m s ,d r a m s ,c a c h e ) ,对它们的大小、组织结 构进行优化f 3 1 4 【5 】。 c 指令级优化 指令级优化包括几个方面:指令集提取【6 】,对于确定的处理器,其每条指令的 功耗是一定的,选择一个指令集实现系统功能使功耗最小;选择合理的指令长度 ”1 ( 如1 6 位v s 3 2 位或可变长度) ,提高程序的代码密度,以减少对存储器访问的 功耗;指令编码优化【8 l 【9 】是通过对应用程序指令的相关性的统计,对指令进行编码 优化,使读取指令时总线上的信号反转最少:指令压缩【,存储器存储压缩后的 指令,指令将在进入处理器前被解压。 d 控制一数据流图低功耗交换 在高层综合技术中,设计说明( 算法) 通常表达成控制数据流图的形式,进行优 化后映射到特定的硬件上。过去这类技术只考虑系统性能和系统费用的优化。 在此基础上,由一个高层的功耗模型提供功耗的因子加入到优化算法1 中,从而 获得低功耗的实现方案。 e 可变电压技术 降低工作电压【l2 】是最有效的低功耗方法通常电路都工作于相同的电压, 而可变电压技术根据系统的不同工作状态对系统性能的不同要求,动态地改变电 压以最大限度地降低功耗。电压转换电路的功耗和电压转换时间对性能的影响是 这项技术选择的制约因素。 f 多电压技术 多电压技术的思路与可变电压技术类似。可变电压技术在时间上改变电压, 而多电压技术在空间上使用不同的电压。根据系统不同部分的性能要求不同,使 其工作于不同的电压,从而降低系统功耗。不同信号电平转换的系统代价是其主 江苏大学硕士学位论文 要的制约因素。 g 动态功耗管理 动态功耗管理是一种使系统或系统单元在不工作时进入低功耗的休眠状态 的控制技术。由于系统在正常工作状态和休眠状态之间的转换需要时间,将影响 系统性能。所以,该技术的核心就是如何根据系统的状态信息决定系统何时进入 低功耗的休眠状态。由此发展了两类技术【1 3 】【1 4 】1 1 5 】【i6 】:基于预测算法的技术和基于 随机控制的技术。 h 总线的低功耗设计 总线由于电容大、数据传输密度高,形成大量的功耗。总线的低功耗设计包 括:减小总线上信号的电压变化幅度( 通常小于i v ) 对降低具有特大电容总线的功 耗非常有效。它的额外代价是总线和功能模块之间的信号电平的变换电路;对总 线进行分段控制【i 。根据总线和功能模块连接的物理结构,在信号传输时,隔断总 线的无关部分,从而减小总线的实际电容,以达到降低功耗的作用;通过对总线数 据的编码18 j f 吲( g r a y c o d e ,i n v e r t c o d e ) ,使数据在总线上传输时引起的电平反转 减少( 即减小了活动因子) 。 1 2 ,2 2r t l 级 轧门控时钟 门控时钟 2 0 【2 1 1 在系统的某一部分电路处于空闲状态或做无用运算时,使其 时钟信号无效,从而有效减少时钟驱动的功耗。门控时钟可阻作用于局部电路或 一个模块,也可以是整个电路。当然,作用范围越大,减少功耗越显著。 b 预计算逻辑 预计算逻辑【2 2 】的基本思想是有选择地对电路输出的逻辑值进行提前一个时 钟的预计算,然后利用预计算的值来减少电路内部的开关活动。图1 1 给出了预计 算逻辑的2 种基本结构。结构i 中,逻辑a 的输入被分为两部分( 分别对应寄存 器r l 和r 2 ) ,输出送入r 3 ,布尔逻辑g 即预计算逻辑当g = l 时,r 2 的输出将 保持不变,从而减少逻辑a 内部的活动。结构2 中,逻辑a 的输入r 被全部置为 无效,而输出由g 的值提供。 江苏大学硕士学位论文 结构1结构2 图1 1 预计算逻辑结构 c 。状态分配 有限状态机的状态分配主要研究如何使实现的逻辑面积最小化。在此基础上, 对相关性强的状态分配汉明距离近的状态编码,以减少状态转换引起的电路活 动。另外还考虑了相关组合逻辑( 包括引起状态转换的逻辑和产生输出的逻辑) 的因素。 d 时序优化 在流水线的设计中,通过对寄存器插入位置的调整,可以减少寄存器的数目 和改善延时。由于每个时钟周期寄存器只反转一次,因此在流水线中容易产生毛 刺的地方和有大电容负载的地方插入寄存器,可以起到阻止信号额外跳转的传播 和大电容负载不必要的充放电。 e 公因子提取 在逻辑综合中,公因子提取和共享是简化逻辑网络、减少实现电路成本的常 用方法。对提取的不同公因子计算其功耗因子,选择功耗最小的来实现电路。图 1 2 给出的例子中,如果p ( a ) = o 5 ,p ( b ) = ( c ) = 0 2 5 ,则p ( a ) p ( b ) = 3 1 2 8 。约节省功耗 1 0 。 f ;c g + a f f = a b + a c - t - b cf = a h + b e abcabcabc p ( a ) = 2 e a + 2 e b + e e + e g + e f p ( b ) = e a + 2 e b + 2 e c + e h + e f 圈1 2 低功耗公因子提取 江苏大学硕士学位论文 f 工艺映射 工艺映射【2 3 1 实现把逻辑表达式或布尔网络映射到目标库中的门单元的过 程。在映射过程中,尽量将活动因子大的节点隐藏于门单元的内部,从而减少其电 容负载,降低功耗。 g 门尺寸优化 门尺寸优化【2 4 】【2 5 1 的基本思想是对非关键路径的门可以缩小尺寸以减小面积 和功耗。为获得整体优化,先将基于路径的时序约束线性化,再通过解线性方程得 到最优结果。由于使用驱动能力小的单元,电平转换将变慢,引起短路电流增加, 这是门尺寸优化的制约因素。 h 引脚分配 一般情况下,对于库单元功能相同的引脚,在综合时是等价的。但实际上,不 同引脚的电容、信号延时等参数是不同的【2 6 1 。引脚分配的基本思想就是将活动 因子大的信号结点分配到相对功耗小的引脚上。 1 2 2 3 版图级 a 布局布线 深亚微米技术的应用,使互连线的功耗逐渐成为整个电路功耗的主要部分。 过去的布局布线技术只考虑面积和延时的因素,在加入来自设计前端的信号活动 信息后,以实现对功耗的优化1 2 ”。 b c l o c k t r e e 的生成 时钟信号网络的电容和频率都很大,其功耗占了系统的相当部分,可达4 0 。 在保证时序约束的条件下,对时钟信号网络的结构、驱动方式进行选择,并通过缓 冲器的插入和尺寸优化来减小功耗。另外,在对同步时钟容差分析的基础上,不再 追求时钟偏移最小化而是在保证电路时序的条件下减小功耗。 c 晶体管尺寸优化 晶体管尺寸优化的方法与门尺寸优化相同。由于已获得了布局布线后的物理 信息。晶体管尺寸优化可以进一步的降低功耗。 1 3 论文的研究内容及主要工作 本文在广泛阅读国内外现有的关于动态功耗管理的文献后,比较和借鉴现有 成功的动态功耗管理方法,通过对uc l i n t l x 中的p m 模块进行改进和完善,成功 实现了对“c l i n u x 系统及外设的动态功耗管理。论文的主要研究内容和工作包括 6 江苏大学硕士学位论文 以下几方面: 1 分析目前国内外关于动态功耗管理算法的优缺点,介绍uc l i n u x 系统中 实现的一种简单而有效的动态功耗管理算法。研究两大电源管理规范 a p m 、a c p i 。并介绍i b m 和m o n t a v i s t a 制定的跨操作系统的电源管 理规范d p m ( 动态功耗管理) 。简要论述各自的功能,分析其优缺点, 并研究上述方案应用于uc l i n u x 系统的可行性 2 对uc l i n u x 中的p m 功耗管理模块进行研究和改进,结合一种简单的动态 功耗管理算法,实现对外部设备的动态功耗管理。然后通过实验比较此 算法与超时算法的节能效果。讨论驱动程序的设计,主要是研究和分析 驱动程序对功耗管理的支持。 3 针对uc l i n u x 嵌入式系统及硬件平台s 3 c 4 4 b o x 的特点,研究一种简单 的系统功耗管理模块,并设计它的软件体系结构,划分各个层的任务, 通过实验测试系统功耗管理模块的效果。 1 4 论文结构概要 论文共分八章,主要内容概要如下: 第一章介绍课题的研究背景和研究意义,概述了嵌入式系统功耗所涉及的研 究领域以及其研究现状。同时提出本文的主要研究工作。 第二章概述嵌入式l i n u x 的发展现状,简要论述了嵌入式l i n u x 的各种版本。 本章着重讨论了uc l i n u x 的特点,接着对本课题的软硬件开发平台进行了简要的 分析说明。 第三章简要论述了功耗管理技术,主要研究和分析目前国内外主要研究机构 关于动态功耗管理算法的研究成果,给出了各自的优缺点,并着重介绍了将在本 文uc l i n u x 系统中实现的一种简单而有效的动态功耗管理算法。 第四章首先研究两大电源管理规范a p m 、a c p i ,简要论述了各自的功能, 分析其优缺点。并介绍了i b m 和m o n t a v i s t a 制定的跨操作系统的电源管理规 范d p m ( d y n a m i c p o w e r m a n a g e m e n t ) 。然后分析了传统的电源管理规范应用于 嵌入式系统的局限性。接着对uc l i n u x 中的p m 功耗管理模块进行了研究和改进, 并结合一种简单的动态功耗管理算法,实现了对外部设备的动态功耗管理。接着 讨论驱动程序的设计,主要是研究和分析驱动程序对功耗管理的支持。最后通过 实验对本文外设功耗管理算法与超时算法的优劣进行比较。 第五章针对uc l i n u x 嵌入式系统的特点,针对硬件平台s 3 c 4 4 b o x ,研究一 种简单的系统功耗管理模块,并设计它的软件体系结构,划分各个层的任务,最 江苏大学硕士学位论文 终实现对uc l i n u x 嵌入式系统的动态功耗管理。最后通过实验测试了系统功耗管 理模块的效果。 第六章对全文进行总结,并提出进一步需要开展的工作。 1 5 小结 本章首先介绍课题的研究背景和研究意义,接着主要论述了嵌入式系统功耗 所涉及的研究领域以及其研究现状。最后简要概述了本文的研究工作及论文结构 概要。 江苏大学硕士学位论文 第二章嵌入式lin u x 简介及软硬件开发平台介绍 2 1 嵌入式l i n u x 概述 嵌入式l i n u x ( e m b e d d e dl i n u x ) 是一种开放源码、软实时、多任务的嵌入式 操作系统。通常它是在标准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 也渐渐得到广泛的关注,从移动计算平台( p d a ) 、信息家电( 机顶盒、 数字电视) 、媒体手机、车载计算平台( 导航器) 、到工业、商业控制( 智能工控 设备,p o s a t m ) 、电子商务平台( 智能卡应用,安全管理) 、军事应用等各个 领域。最近新推出的嵌入式l i n u x 是美国网虎国际公司的基于x l i n u x 和g g s 万 语码技术的全球最小的嵌入式操作系统q u a r k ,q u a r k 的核心只有1 4 3 k b ,并 将l i n u x 核心,图形接口,以及一些应用程序进行完整的移植,对信息家电提供 功能强大的支持。 2 2 嵌入式l i n u x 的版本 嵌入式l i n u x 到现在已经有许多种版本了,按照实际应用的场合及特殊的功 能需求,嵌入式l i n u x 基本上可以分为以下几类。 a 将l i n u x 移植以满足实时要求的实时操作系统,应用于一些关键的控制场 合,如f s m l a b s 公司的r tl i n u x ,m o n t a v i a t a 的h a r dh a tl i n u x 。 b 尽可能保留l i n u x 的强大功能,尽可能地减少其体积,以满足许多嵌入 式系统对体积的要求,如uc l i n u x 。 c 针对特定嵌入式领域采用整合方案,如l i n e o ,t i m c s y s ,合肥华恒等。 下面介绍本课题中要使用的一种嵌入式l i n u x 操作系统uc l i n u x 。 2 3 弘c l i n u x 简介 pe l i n u x 是一个符合g n u g p l 公约的开放源代码项目,现由l i n e o 公司维护。 江苏大学硕士学位论文 uc l i n u x 是l i n u x 版本的一个分支,被设计用来微型控制应用领域,它主要是针 对无内存管理单元m m u ( m e m o r ym a n a g e m e n tu n i t ) 的处理器设计。标准l i n u x 的核心支持虚拟存储器,它控制着处理器的内存管理单元( m m u ) ,将虚拟内存地 址映射为物理内存地址。支持虚拟存储器的操作系统具有许多优点,如:可运行比 物理内存大的程序、可运行部分加载的程序、缩短启动时间、减轻程序员分配和 管理内存的负担、实现代码共享、提供内存保护等。然而虚拟存储器的管理需 要一些数据结构,留给程序的物理内存必然会减少。同时,地址映射延长了指令的 执行时间,进而降低了系统的性能。更重要的是,m m u 增加了硬件成本和运行功 耗。因此,许多嵌入式c p u 中取消了m m u 部件,而uc l i n u x 正是专门为这类c p u 设计的。pc l i n u x 支持多任务,具有完备的t c p i p 协议栈并支持多种网络协议。 uc l i n u x 还支持多种文件系统,如r o m f s ,n f s ,e x t 2 ,f a t l 6 3 2 。实际上, uc l i n u x 已经成功应用于路由器、网络摄像机、机顶盒、p d a 等诸多领域。 2 4 肛c l i n u x 特征 2 4 1uc l i n u x 的应用特征 a 广泛的处理器结构和硬件平台支持 基于l i n u x - 2 4 x 内核的hc l i n u x ,支持1 9 钟处理器结构,并在6 0 种以上的 硬件开发平台成功实现。 b 完全的l i n u x 内核的特性 uc l i n u x 具备标准l i n u x 系统的稳定性,并且支持l i n u x 内核约定的全部的特 性,包括内核优先级特性以及许多的文件系统,设备驱动。 c 占用空间小 uc l i n u x 内核不超过5 1 2 k b ,加上工具不超过9 0 0 k b 。uc l i n u x 是一个高度 可定制化的内核,通过定制内核可以得到一个3 0 0 k 以下的可固化的内核压缩镜 像,包括终端和一些基本的设备驱动以及只读文件系统。ue l i n u x 系统中所有应 用程序使用了嵌入式的标准c 函数库1 tc l i b c 或uc 1 i b c ,该函数库精简了l i n u x 系统中的标准函数库l i b c 。 d 。丰富的应用软件 uc l i n u x 发布包中有大量的应用程序,包括各种网络协议、服务,图形界面, 音频播放软件等等。 除少数隋况外,在uc l i n u x 平台上可完全使用l i n u x 应用程序接口,因此, 用户可以移植l i n u x 上的应用程序到uc l i n u x 系统。除了与硬件相关代码和转换 1 0 江苏大学硕士学位论文 虚拟地址到物理的内存镜像外,几乎所有的代码不需要改变就可以编译。 e 低廉的成本 软件方面,自由开放的系统、开发工具和大量应用程序,可以节省用户的开 发投入。硬件方面,内存管理单元m m u 核心大小约占典型的a r ms o c ( s y s t e m o n - c h i p ) 晶体的3 0 0 , 6 ,典型的网络和嵌入式系统里有一半以上的应用程 序不需要m m u 。 f 开源软件 源代码开放得以使用户跟踪和定制最核心和底层的代码以满足用户系统的 需求。同时自由软件具有强大的生命力,不断升级的新版本以及强大的网上技术 支持给用户产品的维护和升级带来很大的方便。 g 完美的文件系统 uc l i n u x 支持一般的文件系统如n f s ,e x t 2 ,f a t l 6 3 2 等,同时更支持专 为嵌入式系统设计的r o m f s 、j f f s 文件系统,在通常的使用中,更多的使用后 面的文件系统。 2 4 2ue l i n u x 设计特征 a ue l i n u x 的内存管理 uc l i n u x 同标准l i n u x 的最大区别就在于内存管理。标准l i n u x 是针对有 m m u 的处理器设计的。在这种处理器上,虚拟地址被送到m m u ,m m u 把虚 拟地址映射为物理地址。通过赋予每个任务不同的虚拟物理地址转换映射,支 持不同任务之间的保护。对于“c l i n u x 来说,其设计针对没有m m u 的处理器, 不能使用处理器的虚拟内存管理技术。 uc l i n u x 不能使用处理器的虚拟内存管理技术,这一点在不带有m m u 的处 理器在嵌入式设备中相当普遍。c l i n u x 仍采用存储器的分页管理,系统在启动 时把实际存储器进行分页。在加载应用程序时程序分页加载。但是由于没有 m m u 管理,所以实际上uc l i n u x 采用实存储器管理策略( r e a lm e m e o r y m a n a g e m e n t ) ,这一点影响了系统工作的很多方面。 uc l i n u x 系统对于内存的访问是直接的,它对地址的访问不需要经过m m u , 而是直接送到地址线上输出,所有程序中访问的地址都是实际的物理地址。操作 系统对内存空间没有保护( 这实际上是很多嵌入式系统的特点) ,各个进程实际 上共享一个运行空间,没有独立的地址转换表。 一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载 入主存储器的连续空间中。与之相对应的是标准l i n u x 系统在分配内存时没有必 江苏大学硕士学位论文 要保证实际物理存储空间是连续的,而只要保证虚存地址空间连续就可以了。此 外磁盘交换空间也是无法使用的,系统执行时如果缺少内存将无法通过磁盘交换 来得到改善。 uc l i n u x 对内存的管理减少同时就给开发人员提出了更高的要求。如果从易 用性这一点来说,uc l i n u x 的内存管理是一种倒退,退回到了u n i x 早期或是d o s 系统时代。开发人员不得不参与系统的内存管理。从编译内核开始,开发人员必 须告诉系统这块开发板到底拥有多少的内存( 假如你欺骗了系统,那将在后面运 行程序时受到惩罚) ,从而系统将在启动的初始化阶段对内存进行分页,并且标 记已使用的和未使用的内存。系统将在运行应用时使用这些分页内存。 由于应用程序加载时必须分配连续的地址空间,而针对不同硬件平台的可一 次成块( 连续地址) 分配内存大小限制是不同( 目前针对e z 3 2 8 处理器的4c l i n u x 是1 2 8 k ,而针对c o l d f i r e 处理器的系统内存则无此限制) ,所以开发人员在开发 应用程序时必须考虑内存的分配情况并关注应用程序需要运行空间的大小。另外 由于采用实存储器管理策略,用户程序同内核以及其它用户程序在一个地址空 间,程序开发时要保证不侵犯其它程序的地址空间,以使得程序不至于破坏系统 的正常工作,或导致其它程序的运行异常。 从内存的访问角度来看,开发人员的权利增大了( 开发人员在编程时可以访 问任意的地址空间) ,但与此同时系统的安全性也大为下降。此外,系统对多进 程的管理将有很大的变化,这一点将在uc l i n u x 的多进程管理中说明。 b c l i n u x 的多进程处理 uc l i n u x 没有m m u 管理存储器,在实现多个进程时( f o r k 调用生成子进程) 需要实现数据保护。由于uc l i n u x 的多进程管理是通过v f o r k 来实现,因此f o r k 等于v f o r k 。这意昧着p c l i n u x 系统f o r k 调用完成后,要么子进程代替父进程执 行( 此时父进程已经s l e e p ) 直到子进程调用e x i t 退出;要么调用e x e c 执行一个 新的进程,这个时候将产生可执行文件的加载,即使这个进程只是父进程的拷贝, 这个过程也不能避免。当子进程执行e x i t 或e x e c 后,子进程使用w a k e u p 把父进 程唤醒,使父进程继续往下执行。 uc l i n u x 的这种多进程实现机制同它的内存管理紧密相关。uc l i n u x 针对没 有m m u 处理器开发,所以被迫使用一种f l a t 方式的内存管理模式,启动新的应 用程序时系统必须为应用程序分配存储空间,并立即把应用程序加载到内存。缺 少了m m u 的内存重映射机制,uc l i n u x 必须在可执行文件加载阶段对可执行文 件r e l o c 处理,使得程序执行时能够直接使用物理内存。 c uc l i n u x 针对实时性的解决方案 pc l i n u x 本身并没有关注实时问题,它并不是为了l i n u x 的实时性而提出的。 江苏大学硕士学位论文 另外有种l i n u x :r t - - l i n u x 关注实时问题。r t - l i n u x 执行管理器把普通l i n u x 的内核当成一个任务运行,同时还管理了实时进程。而非实时进程则交给普通 l i n u x 内核处理。这种方法已经应用于很多的操作系统用于增强操作系统的实时 性,包括一些商用版u n i x 系统,w i n d o w s n t 等等。这种方法优点之一是实现 简单,且实时性能容易检验。优点之二是由于非实时进程运行于标准l i n u x 系统, 同其它l i n u x 商用版本之间保持了很大的兼容性。优点之三是可以支持硬实时时 钟的应用。uc l i n u x 可以使用r t - l i n u x 的p a t c h ,从两增强pc l i n u x 的实对性,使 得uc l i n u x 可以应用于工业控制、进程控制等一些实时要求较高的应用。 d 执行程序的格式 不管是内核还是应用程序,pc l i n u x 均使用f l a t 可执行文件格式替代e l f 格 式,e l f 格式有比较大的文件头,f l a t 文件格式简化了文件头和部分段信息。 e 文件系统 ue l i n u x 是l i n u x 的扩展,因此所有l i n u x 支持的文件系统,uc l i n u x 都支 持。为节省资源,uc l i n u x 一般使用专门为嵌入式系统设计的文件系统如r o m f s , j f f s 等,这些文件系统较常用的e x t 2 占用更少资源,更支持压缩,同时在内核 中支持r o m f s 文件系统相对来说只需要更少的代码。 f 标准c 函数库 uc l i n u x 使用嵌入式标准c 函数库uc l i b c 或uc i b c 替代l i b c ,l i n u x 下使 用的标准c 函数库l i b c 需要非常多的资源uc l i b c 对l i b c 做了精简,在uc l i n u x 中的应用程序均采用静态连接的方式链接标准c 函数库。 uc 1 i b c 是uc l i n u x 最初的函数库,是l i b c 的不完全的嵌入式实现,部分函 数接口不标准,还有部分函数未实现。目前主要使用在c o l d f i r e 和a r m 结构, uc l i b c 函数库被设计用来弥补c 1 i b c 的一些问题,包括使所有的函数接口 标准化,填补未实现的函数,uc l i b c 目前己支持相当多的处理器结构,使用 uc l i b c 能够对应用程序的移植提供更好的兼容性。uc l i b c 正在逐步的取代 u c i i b c 。 2 5 开发平台 2 5 1 软件开发平台的选择 本课题的实验过程中,首先要做的是选择一个pc l i n u x 的版本。并将其移植 到硬件平台中。移植一个操作系统到新的硬件平台,比较好的办法是寻找一个架 构相近并且已经做好操作系统移植的硬件平台。然后,对原先的操作系统做一定 江苏大学硕士学位论文 修改。系统源码修改的工作量取决于自行设计的硬件平台与现有的硬件平台之间 差异程度。此设计中的硬件平台北京博创的u p - n e 皿m 3 0 0 0 ,u p - n e t a r m 3 0 0 0 的c p u 为a m r 7 t d m i 内核的三星s 3 c 4 4 b o x 0 1 芯片,因为没有m m u 只能 跑uc l i n t l x 。由于我们使用的是开发板供应商北京博创提供的uc l i n u x 内核u p t e c h uc l i n u x 2 4 x t a r b z 2 ,这个内核已经为$ 3 c 4 4 8 0 完成了移植,所以在课题工作中 就省去了这一步。 2 5 2 硬件开发平台 上面已经提到,本课题使用的硬件开发平台是北京博创的 u p n e t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物业酬金制服务合同范本
- 高档消费品买卖合同范本
- 高龄员工家属免责协议书
- 煤矿托管合同协议书范本
- 自动生鲜车购买合同范本
- 烘焙店加盟合同协议范本
- 深圳市拆迁协议合同模板
- 银行解除合同协议书范本
- 网店服装合伙人合同协议
- 煤矿股权出让协议书范本
- 阳江市阳东区区内选调教师笔试真题2024
- 2025年滁州市来安县招聘社区专职工作者考试笔试试题(含答案)
- 徐州市教师业务能力测试题库(数学)
- 青蓝工程指导教师(师傅)个人工作总结
- 超级玛丽像素风教学班会PPT模板
- 《兽药经营许可证》培训记录
- 住宿酒店商务宾馆品质服务体验管理 酒店工程验收标准-模版PPT
- 离散数学英文讲义:1-3 Predicates and Quantifiers
- 一个国王地爱情故事英文版
- 管道支架重量计算表(计算支架)
- 党支部委员会书记选票
评论
0/150
提交评论