(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf_第1页
(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf_第2页
(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf_第3页
(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf_第4页
(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(计算机应用技术专业论文)动态电源管理在嵌入式linux系统中的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

础怠 u 源管理n 嵌入l i n u x 系统中的设计,实现摘璺 摘要 文章首先指出电源管理对于以移动计算为主的嵌入式系统具有 重要的作用,然后简单介绍了课题所采用的a r m 实验板的构成情况 和嵌入式l i n u x 系统的开发方法。在此基础上,文章详尽描述了包括 空闲状态和睡眠唤醒在内的嵌入式系统电源管理基本功能的设计和 实现,并重点介绍了如何基于负载统计和c p u 调频实现系统的动态 电源管理功能,从而在保证系统性能的前提下有效降低系统功耗。 文章完整地给出了嵌入式l i n u x 系统的电源管理解决方案,并通 过调整c p u 工作频率的方法为电源管理加入动态特性支持,满足用 户对系统功耗低、响应快的双重要求,对类似的项目开发具有较好的 参考价值。 关键词 动态电源管理;嵌入式l i n u x ;a r m l i n u x ;a r m ;p x a 2 5 0 作者:郭胜超 指导老师:钱培德 垒! ! ! ! ! 璺 里! ! 坚! ! ! ! ! 型垦! 型! 翌! ! 竺生旦婴! 竺! ! ! 竺坚! 竖! ! 塑! 竺! ! ! ! ! 曼! ! ! ! 璺! 型生! ! 竺苎! ! ! ! 塑 d e s i g n i n g a n dr e a l i z a t i o no f d y n a m i cp o w e rm a n a g e m e n t o ne m b e d d e dl i n u x s y s t e m a b s t r a c t t ob e g i nw i t hp o i n t i n go u tt h a tp o w e rm a n a g e m e n ti sp l a y i n ga n i m p o r t a n tr o l e i nm o b i l e c o m p u t i n g c e n t e r e d e m b e d d e d s y s t e m , t h i s t h e s i sg i v e st h ei n t r o d u c t i o no fa r ma r c h i t e c t u r ea n de m b e d d e dl i n u x o nw h i c ht h e p r o j e c ti sb a s e d t h e n ,i td e s c r i b e sh o w t od e s i g na n dr e a l i z e t h eb a s i so fp o w e r m a n a g e m e n t t h a tc o n s i s t so fi d l es t a t ea n d s l e e p w a k e u p f u n c t i o ni n d e t a i l m o r e o v e r , t h e a u t h o rf o c u s e so n d y n a m i cp o w e rm a n a g e m e n tt h a t i sa c h i e v e d b ys y s t e m w o r k l o a d c o l l e c t i n ga n dc p uf r e q u e n c ys c a l i n g ,a n ds o ,p o w e rc o n s u m p t i o n w i l lb e d e c r e a s e dw h i l e p e r f o r m a n c e c a nb eg u a r a n t e e da tt h es a m et i m e t h ea r t i c l ep r e s e n t sa ni n t e g r a t e ds o l u t i o nt op o w e rm a n a g e m e n to n e m b e d d e dl i n u x ,a n db e s i d e s ,t og e tt h el o w e rp o w e rc o n s u m p t i o na n d t h ef a s t e rr e s p o n s i v es p e e d ,i tr e a l i z e sd y n a m i c s c a l i n go f c p u f r e q u e n c y t o s u p p o r td y n a m i cp o w e rm a n a g e m e n t t h ee x p e r i e n c ea n ds c h e m e s s u m m a r i z e di nt h i sp a p e rw o u l db eo f g r e a tr e f e r e n c e dv n u e s f o rs i m i l a r p r o j e c td e v e l o p m e n t k e y w o r d s d y n a m i cp o w e rm a n a g e m e n t ;e m b e d d e dl i n u x ;a r m l i n u x ;a r m ; p x a 2 5 0 w r i t t e nb yg u o s h e n g c h a o s u p e r v i s e db yq i a np e i d e y 6 4 5 7 5 4 苏州大学学位论文独创性声明及使用授权的声明 学位论文独创。性声明 本人郑重声明:所提交的学位论文是本人在导师的指导下,独立 进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文 不含其他个人或集体己经发表或撰写过的研究成果,也不含为获得苏 州大学或其它教育机构的学位证书而使用过的材料。对本文的研究作 出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本 声明的法律责任。 研究生签名:缸鹾墟日期:型竺兰:孽 学位论文使用授权声明 苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论 文合作部、中国社科院文献信息情报中心有权保留本人所送交学位论 文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论 文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的 保密论文外,允许论文被查阅和借阅,可以公布( 包括刊登) 论文的 全部或部分内容。论文的公布( 包括刊登) 授权苏州大学学位办办理。 研究生签名:砼盟毖 日期: 丝堡生孥 导师签名:i 2 笾 日期: 缨堡垒颦 动态l b 潺管矬礼嵌入式l i n u x 系统中的设计14 实现 第一章引言 1 1 嵌入式系统的发展和应用 随着计算机网络和通信技术的发展,当今计算模式在经历了从单 机到网络的转变以后,一场新的、更加深入的i n t e r n e t 革命正悄然兴 起。这场革命的主旨是将网络世界中已经实现的人与人之间的互联, 进一步发展为人与设备、设备与设备之间的互联。即不仅要将数以亿 计的p c 联网,还要为s m a r tp h o n e 、p d a 、机顶盒、信息家电i a ( i n f o r m a t i o na p p l i a n c e ) 等内置计算芯片的电子设备提供网络互联和 移动计算能力。导致这场革命的核心技术就是嵌入式系统。 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁 剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。嵌入式计算机在应用数量上远远超过了各种通用计算 机,一台通用计算机的外部设备中就包含了5 l o 个嵌入式微处理器, 键盘、鼠标、m o d e m 、声卡、打印机、扫描仪、u s b 集线器等均是 由嵌入式处理器控制的。在当前数字信息技术和网络技术高速发展的 后p c ( p o s t p c ) 时代,3 c ( c o m p u t e r , c o m m u n i c a t i o n & c o n s u m e r e l e c t r o n i c s ) 一体化趋势日渐明显,嵌入式系统已广泛地渗透到人们 生活的方方面面。据统计,每年只有1 0 2 0 的计算机芯片是为台 式或膝上电脑而设计的,这也意味着每年有1 2b i l l i o nc p u 是为嵌入 式设备而设计制造的l l j 。 嵌入式系统的应用领域非常广,可以将其分为两大类。一类面向 过程控制,主要以单片机为核心,系统功能相对简单,一般不需要操 作系统的支持,如工业控制模块、简单的家电产品都属于这一类。另 一类面向信息处理和移动计算,主要以微处理器为核心,系统功能相 对复杂,大多需要操作系统内核的支持,以掌上电脑为代表的移动产 品就属于这一类。本文讨论的嵌入式系统及相关工作都属于面向信息 处理的应用范畴。 动态i u 源管理“嵌入,l i n u x 系统中的设计。,实现 1 2 电源管理的作用及意义 电源管理在传统的笔记本电脑中是一个非常重要的功能,系统在 有限的电力下能够有效运行多长时间,是人们选购笔记本电脑的一个 重要参考。近来,因环保意识的高涨,应用于笔记本电脑的电源管理 系统也被广泛运用到p c 及其它计算机系统中,减少了电能的消耗并 在一定程度上保护了硬件。业界先后推出两个电源管理方案。一个是 传统的a p m ( a d v a n c e dp o w e rm a n a g e m e n t ) 【2 l ,它目前仍然使用在 许多l i n u x 系统中,但在基于微软操作系统的笔记本电脑和计算机设 备中已经被逐步淘汰:另一个是较新的a c p i ( a d v a n c e dc o n f i g u r a t i o n a n d p o w e r i n t e r f a c e ) 【3 】,为彻底解决a p m 方案中存在的问题,c o m p a q 、 i n t e l 、m i c r o s o f t 、p h o e n i x 、t o s h i b a 共同制定了a c p i 这个开放式的 工业标准,以满足计算机系统不断发展的电源管理要求。在p c 、笔 记本电脑、服务器等商业硬件中,采用a c p i 作为电源管理方案成为 人们的首选,但它强烈依赖于流行的x 8 6 i a 3 2b i o s 架构。 在以移动计算为主的嵌入式应用领域,电源管理更是至关重要的 一环,它直接影响着系统软硬件的设计与实现。对于使用电池供电的 便携式设备而言,有效的电源管理功能可以大大提高系统的待机时 间,满足用户对设备使用时间的要求。嵌入式设备往往具有较高的集 成度,如果硬器件长时间运行在高频高压状态下又不能很好散热的 话,势必会对器件造成不良影响。动态电源管理( 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 ) 【4 】功能则可以根据系统实际运行状况调整硬件工作状 态,在系统空闲时降低器件的工作频率或电压,关闭目前不使用的外 围设备,从而降低整个系统的功耗,延长硬器件的使用寿命。 电源管理是嵌入式工程项目产品化过程中的一个核心环节,其性 能优劣直接决定着一个产品在市场上是否具有竞争力。笔者所在项目 组与硬件厂商合作,开发了一个基于嵌入式l i n u x 实现的p d a 应用 系统。该系统面向移动计算,为用户提供了手掌上的音频、视频和网 络应用,满足人们日益迫切的随时随地的信息处理要求。在将该系统 产品化进入市场的过程中,本文所述的动态电源管理扮演着非常重要 动态i u 源管理a i 嵌入止l i n u x 系统中的垃计,实现 角色,是系统不可缺少的核心模块。我们最终设计实现的动态电源管 理功能有效地降低了系统的整体功耗,在有限的电力供应下使系统能 够工作尽可能长的时间,并在一定程度上保护了设备的硬器件,延长 了整个产品的使用年限。我们的电源管理模块很好地解决了最终用户 最为关心的问题,直接增强了产品在市场上的竞争力,是将项目开发 转化为生产力和市场效益的关键推动力。 1 3 本文主要工作和内容安排 本文是基于a r m 平台和嵌入式l i n u x 开发的p d a 应用系统的 一个子项。文章详细描述了该系统中电源管理模块的设计思路和实现 方法,为系统提供了空闲状态和睡眠唤醒功能,使系统具备基本的 电源管理功能,并在此基础上提出了一种基于c p u 调频的动态电源 管理方案,在保证系统性能的前提下进一步降低系统功耗。 首先,我们在第二章给出了课题的平台情况和背景知识。其中包 括硬件平台i n t e ld b p x a 2 5 0a r m 开发板的构成和软件平台 a r m l i n u x 的系统开发的基本方法流程。 接着,在第三章中我们详细描述了包括空闲状态和睡眠唤醒功 能在内的电源管理基本功能的设计和实现。在介绍微处理器p x a 2 5 0 的电源管理硬件特性后,我们首先基于l i n u x 的i d l e 进程模型实现了 系统的空闲状态,然后分别给出了系统睡眠和系统唤醒的详细实现流 程以及一些关键问题的解决方法,并以l c d 为例介绍了外围设备电 源管理功能的实现方法。 然后,我们在第四章重点介绍了基于c p u 调频的动态电源管理 功能的具体实现。我们在l i n u x 内核现有负载统计信息的基础上,提 出了一种周期统计系统i d l e 时间比例的负载计算方法,进而根据该负 载信息的变化对p x a 2 5 0 微处理作基于模式切换的频率调整,为电源 管理功能加入动态特征,以满足系统实际运行情况的动态变化要求。 最后,在第五章结束语部分,我们总结了本文完成的主要工作以 及这些工作成果的价值和实际意义,指出了课题由于条件所限而导致 动态l u 源管螋f i 一嵌入al i n u x 系统中的啦计j 实j ;! i i 的不足之处和可以开展的后继工作,并对嵌入式系统的电源管理技术 的发展趋势做出了一些展望。 本文完整地给出了基于嵌入式l i n u x 系统开发的便携式设备的电 源管理解决方案,为项目开发的产品化、市场化提供了必要保证。此 外,课题实现的基于c p u 调频的动态电源管理功能在同类产品中并 不多见,它较好地满足了用户对产品功耗低、响应快的双重要求,增 强了产品的市场竞争力。同时,文章介绍的a r m 体系结构特点、嵌 入式l i n u x 系统开发方法以及内核编程经验,对类似的项目开发也有 较好的参考价值。 动态i u 源管理 :嵌入al i n u x 系统中的设计1 ,实现 第二章硬件平台和软件系统 2 1a r m 微处理器 a r m 公司( a d v a n c e dr i s cm a c h i n e sl i m i t e d ,简称为a r m l i m i t e d ) 正式成立于1 9 9 0 年。在1 9 8 5 年4 月2 6 日,第一个a r m 原型在英国剑桥的a c o r n 计算机有限公司诞生( 在美国v l s i 公司制 造) 。a r m 公司虽然才成立1 0 多年,但在1 9 9 9 年因移动电话火爆市 场,其3 2 位r j s c 处理器占市场份额超过了5 0 ,成为业界龙头老 大。2 0 0 1 年初,a r m 公司的3 2 位r i s c 处理器市场占有率超过了 7 5 ,引起业界的极大关注【5 。a r m 公司的成功之处在于它是知识产 权( i r i n t e l l e c t u a lp r o p e r t y ) 供应商,是设计公司。a r m 公司本身不 生产芯片,而是转让设计许可,由合作伙伴公司来生产各具特色的芯 片。a r m 公司商业模式的强大之处在于其价格合理,全世界范围有 超过1 0 0 个合作伙伴,其中包括半导体工业的著名公司。 a r m 架构提供了a r m 处理器内核( a r m 7 t d m i 、a r m 9 t d m i 、 a r m l 0 t d m l 等) 和a r m 处理器核( a r m 7 1 0 t 7 2 0 t 、 a r m 9 2 0 t 9 4 0 t 、a r m l 0 2 0 e 等) ,再由各半导体公司在上述处理器 内核或处理器核基础上进行再设计,嵌入各种外围设备和处理部件, 形成各种嵌入式微处理器m p u 或微控制器m c u 。例如: a t m e l 公司,a t 9 1 系列微控制器( a r m 7 t d m i 内核) ; c i r r u s 公司,e p 和c l p s 系列手持设备中的微处理器 ( a i t m 7 2 0 t 核) ; s a m s u n g 公司,$ 3 c 2 4 1 0 微处理器( a r m 9 2 0 t 核) : i n t e l 公司,s a 1 l l o 微处理器( s t r o n g a r m 核) 和p x a 2 x x 微处理器( x s c a l e 核) 州。 a r m 公司专注于设计,其处理器内核耗电少、成本低、功能强,特 有1 6 3 2 位双指令集。a r m 己成为移动通信、手持计算、多媒体数 字消费等嵌入式产品的r i s cc p u 的事实标准。 动态t b 源管理托嵌入武l i n u x 系统中的设计1 j 宴现 2 2i n t e ld b p x a 2 5 0 开发板 课题选用i n t e ld b p x a 2 5 0 开发板作为实验的硬件平台,该平台 采用流行的x s c a l e 架构p x a 2 5 0 微处理器。x s c a l e 是i n t e l 公司继 s t r o n g a r m 之后针对无线手持式应用产品推出的新一代嵌入式微处 理器架构,是i n t e lp c a ( p e r s o n a li n t e m e tc l i e n ta r c h i t e c t u r e ) 开放式 平台架构中应用子系统和通信子系统的微处理器解决方案。p x a 2 5 0 作为x s c a l e 体系中一款主流微处理器,具有以下一些特点【7 】: 采用7 8 级超级流水线; 兼容a r mv 5 t e 指令,支持多媒体处理技术; 各3 2 k b 的i - c a c h e 和d c a c h e ,及各3 2 路的i - m m ut l b 和 d m m ut l b : 强大的j t a g 调试接口: 丰富的电源管理支持。 d b p x a 2 5 0 开发板的硬件资源非常丰富,以p x a 2 5 0 微处理器为 中心集成了大量的外围设备和各种处理部件,其主要组成部分如图 2 一l 所示吼 图2 - 1d b p x a 2 5 0 开发板硬件结构 动态乜源管理n :嵌入式l i n u x 系统中的设计0 实现第二章硬件甲台和软件系统 微处理器p x a 2 5 0 和s d r a m 集成在处理器芯片板( p r o c e s s o r c a r d ) 上,这是d b p x a 2 5 0 开发板的核心部件,l c d 、红外、串口、 蓝牙、网口、f l a s h 等外部设备都通过该芯片板与处理器相连。s a 1 1 1 1 是与p x a 2 5 0 配合工作的协处理器芯片,负责p s 2 键盘鼠标、p c 卡、 c f 卡等设备的嵌入与集成。控制芯片p h i l i p su c b l 4 0 0 则为开发板扩 充了音频i o 功能和触摸屏设备。强大的微处理器和众多的外部设备 支持使d b p x a 2 5 0 成为嵌入式系统应用理想的实验开发平台。 2 。3 嵌入式操作系统和l i n u x 随着人们对嵌入式系统应用需求的不断加强,嵌入式系统的体系 结构和系统功能也越来越复杂。微处理器制造工艺的迅猛发展,为嵌 入式系统开发提供了高性能、低功耗的中央处理器和稳定可靠的硬件 架构。类似于台式机桌面应用的开发,嵌入式系统同样需要在软件方 面与硬件发展同步,嵌入式操作系统的出现成为必然。一般说来,面 向嵌入式应用的操作系统应具有以下特点: 代码体积小,适合在嵌入式系统有限的存储空间中运行: 面向应用,方便定制、裁剪和移植: 多任务支持,实时性强,对重要性各不相同的任务进行统筹兼 顾的合理调度,保证系统每个任务都能及时被执行; 可靠性高,能够独立处理各类事件和故障。 伴随着嵌入式系统的发展,一些优秀的嵌入式操作系统纷纷涌 现。美国温德瑞尔( w i n dr i v e r ) 公司一度是这一领域的霸主,其开 发的v x w o r k s 是人们心中的一座丰碑。微软公司的w i n d o w sc e 和 p a l m 公司的p a l mo s 等商品化系统,在掌上设备的嵌入式操作系统 领域占有着相当的市场份额。但这些商业化的操作系统。其高昂的价 格和定制能力的缺乏,使得许多低端应用和特定设备无法使用它们作 为系统的软件平台。另一方面,随着自由软件运动的兴起,l i n u x 继 在桌面系统和服务器领域取得巨大成功之后,在嵌入式领域也获得了 飞速发展,逐渐成为嵌入式系统的研究热点和广泛使用的软件平台。 审_ 碰件卜卉和软件系统动态l u 源管理拒嵌入l i n u x 系统中的垃计o 实现 据统计,目前正在开发的嵌入式系统中,4 9 的项目选择l i n u x 作为嵌入式操作系统【i 】。l i n u x 之所以能在嵌入式系统市场上取得如 此快的发展,与它自身的优良特性有着不可分割的关系: l 、开放源码,丰富的软件资源; l i n u x 遵循g p l 许可协议,用法律保障了用户免费获得内核源代 码的权利。由于嵌入式系统千差万别,开发者往往需要针对应用特点 对系统进行修改和优化,这时能否获得源代码就至关重要了。l i n u x 的开放性吸引了全世界的程序员为其开发自由软件,使得基于l i n u x 的嵌入式系统可以使用这些丰富的软件资源进行二次开发,从而降低 系统开发成本,缩短产品推出周期。 2 、内核功能强大,效率高,可靠性好; l i n u x 内核的高效和可靠性在各个应用领域,尤其是网络服务器 方面得到了事实。对效率和可靠性要求较高的嵌入式系统来说,l i n u x 也是一个不错的选择。 3 、支持多种体系结构; l i n u x 能支持x 8 6 、a r m 、m i p s 、a l p h a 、s p a r c 等多种体系 结构。目前,l i n u x 已被移植到数十种硬件平台上,几乎所有流行的 c p u 在l i n u x 中都有很好的支持。此外,对于嵌入式系统中使用较多 的没有m m u 的处理器,l i n u x 也有完备的解决方案,也即采用下文 将要介绍的u c l i n u x 作为操作系统。 4 、完善的网络通信、图形和文件系统支持; l i n u x 自产生之日起就与网络密不可分,网络通信功能是l i n u x 内核的一个重要组成部分,各种网络通信协议在l i n u x 内核中都有很 好的支持。图形系统方面,q t e m b e d d e d ( 9 1 、m i n i g u i 、 m i c r o w i n d o w s 等都是基于l i n u x 的嵌入式g u i ,可满足各种不同 的嵌入式系统对图形系统的要求。嵌入式系统较多使用f l a s h 作为 文件的存储设备,嵌入式l i n u x 采用m t d 机制实现了j f f s 2 t 1 2 】、 y a f f s 【l3 1 、c r a m f s 等文件系统,使基于l i n u x 开发的嵌入式系统 具备完善的文件管理功能。 5 、驱动支持丰富,支持大量周边硬件设备: 动态i u 游管理扎嵌入al i n u x 系统中的设计实现 l i n u x 内核中有相当一部分代码是设备驱动程序,支持各种主流 硬件设备和最新硬件技术。随着l i n u x 的广泛应用,许多芯片厂家也 已经开始提供l i n u x 上的驱动,这又进一步促进了l i n u x 在各种硬件 设备上的应用。 6 、可定制,方便裁剪。 用户可在两个层次对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 在嵌入式领域的广泛应用,世界范围的不少大学、 研究机构、开源组织和知名公司都加入了嵌入式l i n u x 地开发工作, 成熟的嵌入式l i n u x 系统不断涌现。下面我们简单看一下目前使用较 多的一些嵌入式l i n u x 系统: l 、r t - l i n u x 1 4 】 这是由美国新墨西哥理工学院针对嵌入式系统实时性要求开发 的嵌入式l i n u x 系统。r t - 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 已广泛应用于航天飞机的空间数据采集、科学仪器监 控和电影特技图象处理等领域。 2 、e m b e d i x 【1 5 】 e m b e d i x 是由嵌入式l i n u x 行业主要厂商之一l i n e o 推出的,是 根据嵌入式应用系统的特点重新设计的l i r t u x 发行版本。e m b e d i x 提 供了超过2 5 种的l i n u x 系统服务,包括w e b 服务器等。l i n e o 还推 出了e m b e d i x 的开发调试工具包、基于图形界面的浏览器等。可以说, e m b e d i x 是一种较完整的嵌入式l i n u x 解决方案。 3 、u c l i n u x 【1 6 】 动态i u 源管理z i :嵌入式l i n u x 系统中的设计1j 实现 u c l i n u x 是一个完全符合g n u g p l 公约的开源项目,英文单词 中u 表示m i c r o ,小的意思,c 表示c o n t r o l ,控制的意思,所以u c l i n u x 就是m i c r o c o n t r 0 1 l i n u x ,字面上的理解就是“微控制领域中的l i n u x 系统”。它专门针对没有m m u 的c p u 设计,支持m o t o r o l a 公司 d r a g o n b a l l 、c o l d f i r e 系列及a r m 7 t d m i 等多种微处理器,并专为 嵌入式系统做了许多小型化的工作。国内从事u c l i n u x 开发的有合肥 华恒科技【。7 l 等几家公司。 4 、a r m l i n u x 1 8 】 a r m l i n u x 是标准l i n u x 内核在a r m 体系结构上的移植实现, 支持绝大多数a r m 系列微处理器,包括a r m 6 1 0 、a r m 7 1 0 、 a r m 7 2 0 t 、a r m 9 2 0 tc o r e 、s t r o n g a r m x s c a l e 。a r m l i n u x 遵循 g p l 协议完全公开源代码,拥有强大的社区支持,开发者可以方便地 将a r m l i n u x 移植到新的a r m 平台上运行,弗为自己定制的硬件平 台添加相应的设备驱动。开源团体的开发模式使a r m l i n u x 已成功 运行在1 0 0 多种不同的a r m 系列硬件平台上,其中包括本课题所使 用的i n t e ld b p x a 2 5 0 开发板。 2 4a r m l i n u x 系统开发 本文所讨论的动态电源管理就是在i n t e ld b p x a 2 5 0 实验板上基 于a r m l i n u x 内核设计和实现的。下面我们从实验开发环境、内核 的配置与交叉编链、内核映像的装载引导、根文件的挂载四个方面介 绍基于a r m l i n u x 内核的系统开发方法【1 9 1 。 2 4 1 实验开发环境 嵌入式系统开发不同于传统桌面系统应用的开发,系统的特殊性 决定了其开发环境和流程与p c 应用有很大不同。一般来说,嵌入式 系统的软硬件计算资源比较有限,不能像桌面应用那样在系统本地建 立开发调试环境,而是要借助p c 作为宿主机建立交叉开发环境。本 课题所使用的开发环境如图2 - 2 所示: 动态l u 源管理“嵌入l i n u x 系统中的设计i ,实现 目标机( d b p x a 2 5 0 ) 网线宿主机( p c ) a r m l i n u x24 1 8r e dh a tl i n u x7 2 豳2 - 2 实验开发环境 目标机即i n t e ld b p x a 2 5 0 实验开发板,运行2 4 1 8 版a r m l i n u x 内 核。使用一台安装r e dh a t l i n u x7 2 的p c 作为开发宿主机,目标机 通过串口线和网口线与宿主机通信。内核及应用系统都在宿主机上开 发、编译,然后通过串口或局域网将目标代码下载至目标机运行。在 这样的环境下,我们还可以在宿主机上使用g d b 对运行在目标机上 的代码进行远程调试,解决嵌入式系统开发中调试手段缺乏的问题 2 0 1 。 2 4 2 内核的配置与交叉编链 首先我们要获得2 4 1 8 版的标准l i n u x 内核,然后从a r m l i n u x 网站下载版本匹配的针对d b p x a 2 5 0 硬件平台的源码补丁。这个补 丁包括了针对p x a 2 5 0 体系的移植代码和相关外围设备驱动,将该补 丁打到标准l i n u x 内核代码树上就得到了我们所需的a r m l i n u x 源码 树。接下来通过下列命令对a r m l i n u x 内核进行配置: m a k e l u b b o c k _ _ c o n f i g m a k e m e n u c o n f i g 目录a r c h a r m d e f - c o n f i g s 下存放着a r m l i n u x 在各种硬件平台上的配 置文件 2 ,其中,l u b b o c k 就是对应于我们开发板的配置文件。以 l u b b o c k 为前缀运行m a k el u b b o c kc o n f i g 为内核的进一步配置建好相 关目录链接;然后运行m a k em e n u c o n f i g 命令以标准l i n u x 内核的配 黄方式配置a r m l i n u x 内核的功能模块和驱动支持。 配置完成以后,我们就可以使用以下命令编链内核了: 第一章鼬件r 台和软件乐统动态i u 源管j 坐托嵌入止l i n u x 系统中的、啦汁,实现 m a k e d e p m a k ez l m a g e 这个过程与标准l i n u x 内核的编链大致相同,m a k e d e p 检查源文件的 依赖关系,m a k ez i m a g e 真正编链内核映像z i m a g e 。所不同的是,我 们这里的z l m a g e 最终要运行在a r m 平台上,所以要使用x 8 6 到a r m 的交叉编译器。我们从a r m l i n u x 网站下载安装了2 9 5 3 版的g n u 交叉编译工具链,并在m a k e f i l e 中指定使用交叉编译器a r n l 1 i n u x g c c , 然后再运行m a k ez l m a g e 即可完成内核的交叉编链。成功编链以后, a r c h a r m b o o t 目录下的z l m a g e 文件即为可以在目标机上运行的内核 压缩映像。 2 4 3 内核映像的装载引导 大多数嵌入式系统都需要一个装载引导程序( b o o tl o a d e r ) 负责 系统的初始化和启动工作,a r m l i n u x 也不例外。系统一加电b o o t l o a d e r 首先获得系统控制权,它负责初始化c p u 、r a m 等硬件,并 把内核映像载入r a m ,然后通过c p u 寄存器给内核准备必要的参数, 最后启动内核运行,从而将系统控制权转交给操作系统内剑2 2 1 。 b o o tl o a d e r 是硬件设备上的第一层软件,其实现代码往往与具 体的硬件体系密切相关。d b p x a 2 5 0 上使用较多的b o o tl o a d e r 有: r e d b o o t 2 3 1 、b l o b t 2 4 1 、a r m b o o t 2 5 1 等,其中的a r m b o o t 是一个源于 p p c b o o t 的开源项目,可移植性好,功能完善,已成为a r m 平台上 广泛使用的b o o tl o a d e r 。我们的实验系统也使用a r m b o o t 完成内核 的装载引导工作。此外,电源管理模块中系统的睡眠状态机的唤醒也 是基于a r m b o o t 设计实现的。 a r m b o o t 是我们在开发板上安装的第一个程序。首先,我们在 宿主机上对a r m b o o t 1 1 0 源码进行交叉编译,得到映像a r m b o o t ,这 个过程并不复杂。然后,则是要将a r m b o o t 下载至系统加电后运行第 一条指令的地址0 x 0 0 0 0 0 0 0 0 处,这是f l a s h 设备的首地址。也即 我们只要将a r m b o o t 下载至目标机f l a s h 的第一段地址就可以使得 动态i 乜源笛埋 嵌入式l i n u x 系统中的啦计1o 实珧 a r m b o o t 正常工作了。这个安装过程又分为两种情况。第一,如果 目标机已经安装了软件系统,则这个安装过程就相对简单了,我们只 要通过软件系统提供的读写f l a s h 的方法安装a r m b o o t 即可;第 二,则是要在“裸机”状态下安装。大多数情况下,硬件厂商都会提 供一种在“裸机”上下载安装一段程序的手段,方便用户在原始状态 的硬件平台上安装软件。与d b p x a 2 5 0 开发板配套,i n t e l 公司提供 给用户一条j 1 a g 电缆和一个j f l a s h 程序用来在“裸机”上安装软件。 我们用j t a g 电缆连接宿主机的并口和开发板的j t a g 调试接口,在 宿主机上运行j f l a s h 程序,就可以将a r m b o o t 映像文件下载至目标机 f l a s h 的指定地址。 a r m b o o t 成功安装并运行以后会通过串口提供个控制操作界 面,我们可以在宿主机上利用它控制目标机完成诸如管理f l a s h 、 程序的下载和执行等工作。内核映像z l m a g e 加载运行的方式主要有 两种,分别用于系统的开发调试阶段和最终产品定型阶段。如果是开 发阶段,我们可以直接通过串口或网络接口将z i m a g e 下载至r a m 指 定地址,然后再用g o 命令跳转到这个地址执行即可:如果内核功能 全部定型以后,我们就可以将z l m a g e 下载至f l a s h ,每次系统启动 以后a r m b o o t 自动将z i m a g e 从f l a s h 加载至r a m 启动运行。 2 4 4 根文件的挂载 根文件是用户空间应用系统的载体,是a r m l i n u x 正常启动运 行的必要保证。我们基于流行的b u b y b o x 2 6 定制的根文件大小虽不足 2 m ,但功能却相当完备,不但包括常用的s h e l l 命令和库文件,还支 持大部分网络功能。b u s y b o x 针对嵌入式系统资源有限的特点定制常 用命令,裁剪其选项支持,为系统提供了一个相当完备的p o s i x 环 境,是嵌入式l i n u x 系统中最流行的根文件解决方案。我们交叉编链 后的可执行文件b u s y b o x 大小不到6 0 0 k 。 有了根文件以后,接下来则要解决内核如何挂载根文件的问题。 我们在系统开发阶段和定型阶段分别采用n f s 和j f f s 2 来组织根文 第一市碰件i ,台和软件系统 动态i 也源管螳 :嵌入al i n u x 彖缆中垃计。i 实现 件系统,以便内核在启动的最后阶段顺利挂载根文件【2 7 1 。 n f s 是一种非常方便灵活的文件系统,系统可以通过n f s 透明 地使用位于网络上另一台机器上的文件系统。我们将组织好的根文件 目录树安排在宿主机的l m n t l u b b o c k 目录下,然后在a r m l i n u x 内核 启动时通过网络挂载,就可以在开发板上实时地读写位于宿主机上的 文件系统,用户程序根本无需感知文件系统的物理位置。为此,我们 需要在宿主机上配置两个服务:d h c p 和n f s 。配置d h c p 的子协 议b o o t p ,使得目标机在启动时能够获得i p 地址等信息,打通 t c 粥p 协议栈,为n f s 提供网络通道。以下是我们配置完毕的 e t c d h c p d c o n f 文件: a l l o wb o o t p ;使用b o o t p 子协议 s u b n e t2 1 0 2 9 1 7 5 0 n e t m a s k 2 5 5 2 5 5 2 5 5 0 子网地址和子网掩码 d e f a u l t 1 e a s e t i m e1 2 0 9 6 0 0 ; m a x - 1 e a s e t i m e3 1 5 5 7 6 0 0 ; o p t i o n t o u t e r s2 1 02 9 1 7 5 1 ; g r o u p h o s t h o s t h “d w a r ee t h e m e t0 0 :0 2 :b 3 :9 2 :a 7 :3 d ; f i x e d a d d r e s s2 1 0 2 9 1 7 5 2 4 1 : ,网关地址 目标机网卡的m a c 地址 分配给目标机的i p 地址 j 1 n f s 的配置则相对简单,只需在文件e t c e x p o r t s 中作如下配置: r a n t l u b b o c k2 t 0 2 9 1 7 5 2 4 1 ( r w , n o _ r o o t _ s q u a s h ,n o _ a l l _ s q u a s h ) 也即允许客户端2 1 0 2 9 1 7 5 2 4 1 挂载r n n t l u b b o c k 目录。最后,配置 a r m l i n u x 的内核命令行参数: c o n f i gc m d l i n e = ”r o o t = ,d e v ,n f sn f s r o o t = - 2 1 0 2 9 1 7 5 2 4 0 :r r m l l u b b o e k i p = b o o t p c o n s o l e = t t y s o ,1 1 5 2 0 0 ” 这样,目标机启动时在局域网内广播b o o t p 请求,宿主机 2 1 0 2 9 1 7 5 2 4 0 上的d h c p 服务响应该请求,目标机获得i p 地址 2 l o 2 9 1 7 5 2 4 1 后通过网络挂载宿主机2 1 0 2 9 1 7 5 2 4 0 上m n t l u b b o c k 目录中的内容作为根文件。使用n f s 作为根文件是嵌入式l i n u x 系 统开发阶段很常用的方式,在目标机运行过程当中,开发人员可以直 接在宿主机上操作根文件系统中的文件,从而避免了繁琐的文件下载 动态i u 源管螳“嵌入止l i n u x 系统中的设计。j 实现 过程。 系统定型以后目标机要独立于宿主机运行,根文件通常组织在 f l a s h 设备中,l i n u x 基于m t d 驱动机制在f l a s h 设备上实现了 y a f f s 、j f f s 2 等文件系统。其中,y a f f s 是针对n a n df l a s h 设 计实现的;j f f s 2 则同时支持n o rf l a s h 和n a n df l a s h 。 d b p x a 2 5 0 配备了两块3 2 m 的n o rf l a s h ,我们在0 x 0 0 0 0 0 0 0 0 处 的b o o tr o mf l a s h 中安装了b o o tl o a d e r ( a r m b o o t ) 、k e r n e l ( z l m a g e ) 和f i l e s y s t e m ( j f f s 2 ) 三部分内容,其分区结构如图2 3 所示【2 8 】。 s t a t i cs t r u c tr n t d _ p a r t i t i o nl u b b o c k _ p a r t i t i o n s = n a m e : “b o o t l o a d e ( s i z e :o x 0 0 0 4 0 0 0 0 o f f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论