(计算机应用技术专业论文)uclinux的分析与移植.pdf_第1页
(计算机应用技术专业论文)uclinux的分析与移植.pdf_第2页
(计算机应用技术专业论文)uclinux的分析与移植.pdf_第3页
(计算机应用技术专业论文)uclinux的分析与移植.pdf_第4页
(计算机应用技术专业论文)uclinux的分析与移植.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

华东师范大学硕士学位论文 u c l i n u x 分析与移植 学位论文独创性声明 本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。据我所 知除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。 对本论文的研究做出重要贡献的个人和集体均已在文中作了明确说明并表示感谢。 作者签名:垂园日期:型! 丝! :! z 学位论文使用授权声明 本人完全了解华东师范大学有关保留和使用学位论文的规定,学校有权保留学位论文并 向国家主管部门或其指定机构送交论文的电子版和纸质版。有权将学位论文用于非赢利目的 的少量复制并允许论文进入学校图书馆被查阅。有权将学位论文的内容编入有关数据库进行 检索。有权将学位论文的标题和摘要汇编出版。保密的学位论文在解密后适用本规定。 学位论文作者签名:蓑国导师签名:磁碑堕芦 日期:! 翌芏:! :! 铲日期:,;。臣证乌j ,。g r 华东师范大学硕士学位论文 u c l m u x 分析与移植 摘要 随着计算机技术的发展和微处理器工艺的改进,嵌入式系统的应用越来越广泛,嵌入 式操作系统已成为近年来的研究热点。嵌入式操作系统u c l i n u x 是专为没有存储器管理部 件的徽处理器而设计的,u c l i n u x 由于其代码的开放性、系统的稳定性、强大的网络功能以 及优秀的文件系统支持,在嵌入式设备特别是在网络设备中得到了广泛应用 本论文研究的重点是u c l i n u x 及其移植方法论文从u c l i n u x 的内核结构出发,讨论 了源代码的组织结构,概括分析了u c l m u x 的内存管理、进程管理和它的实时性,并对 u c l i n u x 内核的启动过程和内存管理进行了源代码级的讨论。 基于对u c l i n u x 的分析和探讨,最后实现了u c l i n u x 的移植u c l i n u x 的移植主要包括 引导装载程序、u c l i n t t x 内核和文件系统三个部分。在引导装载程序的移植过程中,论文 重点给出了一种固化引导装载程序的方法;在u c l i n u x 内核移植中,讨论了交叉编译环境 的建立和u c l i n u x 内核配置方法,总结了u c l i n u x 内核移植的层次结构和具体的移植过程。 论文通过对u c l i n u , x 的分析,以及对嵌入式操作系统移植过程的探讨,展示了嵌入式 系统开发的核心技术,对嵌入系统的开发应用具有一定的实际意义。 关键字:嵌入式操作系统、u c l i n u x 、内核、分析、移植 华东师范大学硕士学位论文 u c l i n u x 分析与移植 a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dm i c r o p r o c e s s o r , e m b e d d e ds y s t e mh a s b e e nu s e di na r ii n c r e a s i n g l yw i d er a n g eo f a p p l i c a t i o n sa n dm o r ea n dm o r en s e a r c b e r sf o c u so n e m b e d d e do si nr c c e my e a r s a s 锄e m b e d d e do s u c l i n u xi sd e s i g n e ds p e c i a l l yf o rm p u w i t h o u tm m u b e m u s ei th a ss u c hf e a t u r e sa so p e ns o u r c e ,s t a b i l i t y , p o w e r f u ln e t w o r kf u n c t i o n s a n de x c e l l e n tf i l es y s t e m ,u c l i n u xh a sb e c o m em o r ea n dm o r ep o p u l a ri ne m b e d d e dn e t w o r k d e v i c e s t h i sp a p e re m p h a s i z e so nu c l i n u xa n dt h em e t h o do fp o r t i n gi t f i r s t l y , w es t a r tf r o mt h e a r c h i t e c t u r eo fu c l i n u xk e r n e l ,d i s c u s si t sf r a m es t r u c t m eo ft h es o u r c e ,a n a l y z ei t sm e m o r y m a n a g e m e n t , p r o c e s sm a n a g e m e n ta n dr e a l - t i m ef e a t u r e sa n dp r o b ei n t ot h eb o o t i n gp r o c e s sa n d m e m o r ym a n a g e m e n to f u c l i n u xk e r n e li ns o u r c el e v e l b a s e d0 1 1t h ea n a l y s i sa n dd i s c u s s i o n so fu c l i n u x , w ea c c o m p l i s ht h ep o r t i n go fu c l i n u x i n c l u d i n gb o o tl o a d e r , u c l i n u xk e r n e la n df i l es y s t e m t h i sp a p e rm a i n l yp r o v i d eam e t h o do f p o r t i n gb o o tl o a d e r , d i s c u s so nt h eb u i l d i n go f c r o s s c o m p i l e ra n du c l i n u xk e r n e l sc o n f i g u r a t i o n , a n ds u m m a r i z et h eh i e r a r c h i c a la r c h i t e c t u r eo f u c l i n u xk e r n e la n di t sd e t a i l e dp o r t i n gp r o c e s s t h i sp a p e rb r i n g sf o r t i lt h ec o nt e c h n i q u e si nd e v e l o p i n ge m b e d d e ds y s t e mt h r o u g ht h e a n a l y s i so fu c l i n u xa n dt h ep r o b i n gi n t ot h ep o r t i n gp r o c e s so fe m b e d d e do s ,w h i c hw i l lh a v e c e r t a i np r a c t i c a ls i g n i f i c a t i o nf o r t h ed e v e l o p m e n to f e m b e d d e ds y s t e ma p p l i c a t i o n k e y w o r d s :e m b e d d e do s ,u c l i n u x ,k e r n e l ,a n a l y z e ,p o r t i n g 华东师范丈学硕上学位论文 u c l i n u x 分析与移植 1 1 嵌入式系统及其现状 第一章绪论 计算机应用的普及、互联网技术的实用化和纳米微电子技术的突破等正有力地推动着2 1 世纪工业生产、商业活动、科学实验和家庭生活等领域自动化和信息化进程,为嵌入式系统的 应用造就了崭新而巨大的商机。嵌入式设备除了沟通信息高速公路的交换机、路由器和m o d e m 外,还有机器人以及汽车电子系统等。与通用计算机不同,这些嵌入式设备是针对具体应用而 设计的专用系统,具有一定的成本敏感性,这些设备的硬件和软件都必须高效率地设计,量体 裁衣、去除冗余,安全可靠。 1 i i 嵌入式系统处理器 嵌入式系统的核心是各种类型的嵌入式处理器,据不完全统计,目前嵌入式处理器品种总 量己经超过1 0 0 0 多种流行体系结构也有3 0 多个系列,主要分为如下几类: 嵌入式微处理器( e m b e d d e dm i c r o p r o c e s s o ru n i t ) :在功能和标准上类似于微处理器,但为 了满足嵌入式应用的特殊要求,在耐高温、抗电磁干犹、可靠性等方面采用了各种具有针对性 的改进策略。嵌入式微处理器目前主要有x 8 6 、p o w e r p c 、6 8 k 、m i p s 、a r m 系列等。 嵌入式微控制器( m i c r o c o n t r o l l e ru n i t ) :嵌入式微控制器又称单片机,为适应不同的应用 需求,一般一个系列的单片机具有多种衍生产品,这样可以使单片机最大限度地与应用需求相 匹配,最大限度的减少功耗和成本。嵌入式微控制器比较有代表性的通用系列包括8 0 5 1 、 m c s - 9 6 、p 5 1 x a 等等。 嵌入式d s p 处理器( e m b e d d e dd i g i t a ls i g n a lp r o c e s s o r ) :d s p 处理器对系统结构和指令进 行了特殊设计,使其更适合于执行d s p 算法。在数字滤波、f f t 等方面,d s p 算法正在大量进入 嵌入式领域。嵌入式d s p 处理器比较有代表性的产品有t e x a si n s t r u m e n t s 的t m s 3 2 0 系列和 m o t o r o l a 的d s p 5 6 0 0 0 系列等。 嵌入式片上系统( s y s t e mo bc h i p ) :随着e d a 的推广和v l s i 设计的普及化,以及半导体工艺 的迅速发展在一个硅片上实现一个更为复杂系统的时代已经来临,这就是嵌入式片上系统。 各种处理器内核将作为s o c 设计公司的标准库,成为v l s i 设计中一种标准器件,用标准的v h d l 语言描述,存储在器件库中。 1 1 2 嵌入式操作系统慨述 简单的嵌入式系统由于应用比较简单。一般只包含较少的一些控制流程。但是当嵌入式系 统所提供的功能越来越强大后,简单的流程控制将不能满足系统的要求,这时就必须考虑引入 操作系统,通过操作系统来对整个系统进行管理。并为应用程序的开发带来了方便。 嵌入式操作系统具有以下几个特点:小的系统内核、较强的实时性、多任务功能、能够提 供各种设备驱动程序、提供t c w i p 与p p p 等协议支持。作为硬件资源的管理者,嵌入式操作系 统最小构成应包含如下几部分: 1 ) 任务调度 对一个复杂的嵌入式应用而言用单任务来实现是不合适的。因此多任务调度策略的优劣 至关重要。任务调度方法一般可分为优先级调度、轮转调度、时间片调度三种。优先级调度又 华东师范大学硕士学位论文 u c l i n u x 分析与移植 可以分为:优先级抢占和优先级不抢占。优先级抢占是指当有更高的优先级进程被激活后,则 立即终止当前运行的进程。使其抢占c p u 运行。优先级不抢占是指当有更高的优先级进程被激 活后。并不立即终止当前运行的进程使其抢占c p u 而是将其放到进程就绪队列中,在当前运 行的进程结束后,再从进程就绪队列中选择优先级最高的进程运行。轮转调度是进程管理者按 照一个固定的时间间隔让就绪进程轮流运行。时间片调度则是根据每个进程各自的实际情况, 分给每个进程一个时间片,进程开始运行后,运行的时问长短由这个时间片决定。 在一般的操作系统中,通常固定采用其中的一种或几种方法进行任务调度。例如在u n i x 和 l i n u x 中,采用了优先级不抢占、轮转和时间片三种方法。在实时操作系统中,优先级抢占策略 则是必不可缺少的。而在嵌入式操作系统中很难明确地说哪一种调度策略更好而要根据实 际系统的需求进行选择。 2 ) 存储管理 一般操作系统的存储管理非常复杂,虚拟存储器管理技术被广泛地采用,这样各应用程序 被分隔在各自的地址空间运行。不致相互干扰。 嵌入式操作系统的存储管理通常比较简单。因为在具体的嵌入式应用中,进程或线程的数 量和各自可能使用的内存容量是可以在开发时预测的,因此嵌入式操作系统通常采用静态内存 分配。另外,在实时嵌入式应用中,如果采用虚拟存储技术。因为页交换的时间不可预测,所 以也是不可取的。 在内存分配的策略上,嵌入式操作系统依赖于实际的被嵌入的硬件系统。对于一个通用的 嵌入式操作系统一般可提供几种分配策略,由用户在实际开发系统时进行选择,这就是嵌入式 操作系统的可裁剪性。 存储管理的另一个重要特性就是内存保护。在一般的操作系统中,每个应用程序都有自己 的地址空间不允许任意访问其它应用程序的地址空间这样当一个应用程序崩溃时,不会 对其它程序产生影响。而在一些低端嵌入系统中,因受应用环境的限制不能大量使用存储器, 这时嵌入式操作系统的代码量就受到严格限制,必然制约了其功能的完善性。例如有的嵌入式 操作系统只有几十k b ,使其在处理内存保护方谣就非常薄弱,这样的嵌入式操作系统一般只能 应用于一些即使系统崩溃,也不致造成重大损失的领域,例如手持式电话等。 3 ) 中断 计算机系统接受事件通常采用两种方法:查询和中断。由于采用查询方式处理事件或响应 i o 请求会消耗大量的c p u 时间,因此无论在一般的操作系统还是嵌入式操作系统中都广泛采用 中断方式来处理事件或i 0 请求。 在嵌入式操作系统中,对中断处理十分重视,一般在中断处理程序中仅执行一些必要的状 态转换,对于事件的真正处理则利用中断任务来完成。这样使得中断处理程序的运行时间尽可 能短,以便系统可以处理其它中断事件。 在中断处理上,一般的操作系统与嵌入式操作系统的不同之处是现场保护。一般的操作系 统的中断现场保护是由操作系统来完成的,在中断处理完成之后,也由操作系统自动恢复现场。 而在嵌入式操作系统中由于受到代码量的限制,中断现场的保护往往由中断处理程序来完成。 进入中断处理程序后。应马上保护在中断处理程序中要用到的寄存器在中断处理完成后再恢 复。这样一方面减少了操作系统的代码量,另一方面提高了中断响应时间,但是却损夫了系统 的安全性,同时也增加了调试的难度。这是在嵌入式操作系统的设计中应该予以关注的问题。 4 ) 操作系统与用户的接口 操作系统提供给用户使用的有两类接口一类是人机界面,无论是视窗形式还是命令行形 式。这个接口确切地说并不能做为操作系统的一部分,而仅仅是操作系统的一个外壳,这个界 2 华东师范大学硕士学位论文 u c l i n u x 分析与移植 面完全是为了方便用户使用操作系统而设的,而这个接口在嵌入式操作系统中一般是不存在的。 另一个接口就是操作系统提供给用户开发应用程序的接口( a p i ) 。也就是系统调用。无论 是一般的操作系统还是嵌入式操作系统都应具有这个接口。每一个操作系统提供的系统调用的 功能和种类都不同,当然,对于一个操作系统来说,它提供的系统调用越多则功能越强,对 于应用程序的开发,也就越能提供高效而简单的支持。为了适应不断复杂的应用程序开发的需 求操作系统中设计的系统调用也就越来越多,功能越来越强大。但是这一规律并不适用于嵌 入式操作系统,因为嵌入式操作系统的应用领域非常广,嵌入式操作系统所提供的系统调用的 数量和功能远远不可能满足应用的需要。尽管可采用前面提到的可裁剪性,但是任何一个嵌入 式操作系统都不可能从具有各种完善功能、代码达几百k b 的操作系统,裁剪到只具有简单操作 的几k b 代码。所以嵌入式操作系统只能根据实际的被嵌入系统的具体需求来确定系统调用,以 便达到最有效性。 1 1 3 几种嵌入式操作系统的比较 自2 0 世纪8 0 年代,商业化的嵌入式操作系统开始得到蓬勃发展,国内也推出了好几个商业 嵌入式操作系统目前国内外已有几十种商业操作系统可供选择,如v x w o r k s 、p s o s 、p a l mo s 、 n e e u l e u s 、w i n d o w sc e 和“女娲h o p e n ”等。除了商业化的操作系统外还有一些非商业化的优秀的 嵌入式操作系统可以使用。其中嵌入式l i n u x 将成为完全可以和w i n d o w s c e 等相抗衡的嵌入式 操作系统。这些操作系统各有特点,一般都是特别适用于特定的应用。下面介绍部分主要的嵌 入式操作系统: w i n d o w sc e :w i n d o w sc e 是一种3 2 位的多任务操作系统,它经过压缩可以移植,能够 开发多种企业和客户类设备。由于其是微软公司的“维纳斯计划”的核心,包含了i n t e r a c t e x p l o r e r 的版本,可以和i n t e m e t 实现连接、同步交换信息。如果开发者熟悉w i n d o w s 开发环境, 可以基于w i n d o w sc e 开发出很好的应用程序。 l y n x :当今3 2 位微处理器均可用于台式机和工业计算机市场,其电路有3 0 - - 5 0 都用于 存储器管理部件( m m u ) 。但是犬部分实时操作系统产品没有利用这个关键技术,导致在m m u 硅片上以浪费功率而告终。只有l y n x 充分利用了这些高性能的c p u ,提供高度集成的基于m m u 的存储器保护和虚拟寻址,加上很强的实时响应,具有很高的性能。l y n x 为应用软件提供了很 好的设计处理环境:基于硬件的高速存储器管理,很高的应用性能。更加安全保证系统不受其 他系统及应用软件的误码或数据的干扰。 v x w o r k s :v x w o r k s 是w i n dr i v e rs y s t e m 公司开发研制的一种高性能的嵌入式实时操作系 统。它包括了操作系统本身和其集成开发环境。v x w o r k s 以其优良的可靠性、开放性、实时性 和易用性赢得了大量的客户。 p a l mo s :p a l m o s 是一种专为掌上设备设计的3 2 位操作系统它运行在一个抢占式的多任 务内核之上。同一时刻用户界面仅仅允许一个应用程序被打开这个被打开的程序将控制整个 屏幕,也就是说,它们不允许所谓的多文档接口存在,所有的程序必须以单文档接口的形式存 在。与w i n d o w sc e 相比,p a l mo s 显然更为紧凑。 p s o s :p s o s 系统是一个模块化、高性能的实时操作系统专门用于设计嵌入式微处理器。 它提供了一个基于开放系统标准的、彻底的多任务环境。提供一种及时应答、高效的机制与用 户的实时应用系统协调合作。现阶段。全世界范围内有超过二千万的嵌入式设备运行着p s o s 。 q n x :q n x 是q u a n t u r n ns o f t w a r es y s t e m 公司研制的基于p c 的实时多任务的、可扩展的操 作系统它具有微内核结构,用户可根据需要选择其中一些组件来定制操作系统。 h o p e n :国内凯思集团推出的产品,目前已进入产业化阶段,它是由一个很小的内核及一 些根据需要进行定制的系统模块组成。该系统在处理中文及联网方面都很有特色。h o p e n 目前 华东师范大学硕士学位论文u c t i n u x 分析与移植 已能支持所有主流的嵌入式芯片,凯思与联想、t c l 、m o t o r o l a 、w i n b o n d 、上海贝尔等国内外 知名厂商合作开发出了多种产品:联想天玑8 1 0 、天玑9 1 1 、天玑e 卡通、天亿股票机顶盒、v o d 视频点播机顶盒等。 桑夏2 0 0 0 操作系统是深圳桑夏公司推出的产品是一个面向嵌入式应用的实时操作系统, 具备文件系统和嵌入式数据库引擎,提供了基本的图形用户接口,支持层次化、模块化的软件 模型,可运行在”龙珠“等三种系列的c p u 上,支持包括t c p i p 协议在内的网络通讯协议。 d e l t a o s 是北京科银京成公司开发的嵌入式实时操作系统,它主要包括:内核d e l t a c o r e 、嵌 入式t c p i p d e l m n e t 、嵌入式文件系统d e l t a f i l e 以及嵌入式图形接e l d e l t a g u i 。d e l t a o s 支持 a r m 7 、s t r o n g a r m 、p p c 8 x x 、p p c 4 x x 、x 8 6 、m i p s 等多种嵌入式微处理器,可应用于消费 电子产品、通信产品、工业控制及军用电子产品中。 l i n u x 近些年来发展迅速,其功能的强大己引起了业界的广泛注意。它作为服务器操作系统 一方面发展应用于工作站及桌面p c 另一方面发展应用于智能型嵌入式设备操作系统。 1 2 嵌入式l i n u x 操作系统 嵌入式l i n u x l 扫于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中的应用, 比t g p s o s 、v x w o r k s 有许多优势。开发嵌入式l i n u x 产品,从产品上市时间到产品系列化,除人 员以外所需的投入均较少。相对于w i n d o w sc e 、q n x 以及国内的h o p e n 等嵌入式操作系统, 嵌入式l i n u x 以其特有的开放性、与生俱来的网络特性成为嵌入式操作系统的主流之一。 1 2 1 嵌入式l i n u x 操作系统概述 1 便于扩充实时性要求 操作系统实时性的决定因素和中断例程本身、内核中的驱动程序以及内核中任务调度程序 有关,而响应延迟时间主要受中断的优先级和其他进程暂时地关闭中断响应的影响,因此内核 任务管理和驱动中断的机制必须保证实时要求。目前大多数嵌入式操作系统并不具备严格的实 时性,w i n d o w sc e 甚至基本上不具备实时性的特点。而嵌入式l i n u x u - 】 以很好地满足实时性要求。 针对i n t e lx 8 6 处理器进行实时扩充,r t l i n u x 就是一个很好的例子,它把l i n u x 作为自己的一个任 务,这样实时性要求很高的任务不受非实时的l i n u x 的干扰,可以得到满足。另外还提供了实时 任务和l i n u x 的基本核心、其他任务间的接口。 2 具有很高的适应性和可靠性 和其他系统相比,因为l i n u x 继承了u n i x 的优点,其适应性和稳定性是非常突出的。嵌入式 l i n u x 是一个跨平台的系统,到目前为止可以支持几十种c p u 。值得注意的是很多c p u 包括家电 业的芯片,都开始做l i n u x 的平台移植工作,移植的速度远远超过j a v a 的开发环境。同时,嵌 入式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 开发的产品中一般很少有系统崩溃的现象。 3 具有成熟的开发工具 开发嵌入式系统的关键是需要一套良好的开发和调试工具,嵌入式l i n u x 利用g n u 项目的c 编译器来编译程序,使用g d b 源程序级调试器来调试程序。它们提供了合适的手段,使客户能够 方便地开发嵌入式l i n u x 的各种应用程序。开发时可在p c 上交叉编译应用程序,调试时可通过串 4 华东师范大学硕士学位论文u c l i n a x 分析与移植 r l t e l n e t 登陆硬件平台同时可利用n f s 调试已存在p c 机中的文件 4 可以灵活地配置内核 一般说来,可供嵌入式操作系统使用的存储容量都十分有限,不能像普通计算机那样采用 海量存储器来进行数据存储。通常采用软件固化的方法将程序和操作系统嵌入到整个产品里 面,因此减少操作系统的体积是关键。嵌入式l i n u x 除了本身体积较小以外,还保留 了- l i n u x 操 作系统中非常有特色的一点:用户可以自己裁减内核,用户完全可以根据不同的任务来选择特 定内核模块,而将不用的部分去掉,减少体积,从根本上解决了体积和功能的矛盾。 1 2 2u c l i n u x 概述 l i n u x 是为服务器设计的一种稳定的操作系统。一般服务器都采用高性能的中央处理器,这 类高性能的处理器都有内存管理单元。内存管理单元的功能主要是将程序的逻辑地址和实际的 物理地址分开使系统更具有稳定性。高性能的芯片一般都会有内存管理单元,逻辑地址到物 理地址的转换都由硬件映射完成,困此速度较快。但是还有大量的芯片虽然数据位宽度和地址 位宽度是3 2 位但是为了节约芯片的制造成本同时也考虑应用的需要,在芯片中并没有放入内 存管理单元。l i n u x 是跨平台的操作系统,可支持x 8 6 、m i p s 、a r m 等各种内核,但无论哪一 种内核,l i n u x 运行都必须有内存管理单元。为了解决没有内存管理单元的芯片如何运行l i n u x , g n u 组织开发了u c l i n u x ,一种类l i n u x 的操作系统。u c l i n u x 是专为无存储器营理单元( m m u ) 的微控制器打造的嵌入式l i n u x 操作系统。u c l i n u x 首先被移植到摩托罗拉的m c 6 8 3 2 8d r a g o r t b a l l 集成微处理器上。从那以后,u c l i n u x 越来越受到业界的青睐被移植到更多的无m m u 芯片上。 由于u c l i n u x 主要是针对无m m u 微处理器开发的,大多数内核的二进制代码和源代码都被 重写,但保留了l i n u x 操作系统的主要优点:稳定性、优异的网络能力以及优秀的文件系统支持。 u c l i n u x 的内存管理是与传统l i n u x 区别最大的地方。标准l i n u x 是针对有m m u 的处理器设 计的。在这种处理器上,虚拟地址被送至 j m m o ,把虚拟地址映射为物理地址,通过赋予每个任 务不同的虚拟物理地址转换映射,支持不同任务之间的保护。对于u c l i n u x 来说,其设计针 对没有m m u 的处理器,即u c l i n u x 不能使用处理器的虚拟内存管理技术。u c l i n u x 仍然采用存储 器的分页管理,系统在启动时对实际存储器进行分页,在加载应用程序时将程序分页加载。但 是由于没有m m u 管理,所以实际上u c l i n u x 采用实存储器管理策略,u c l i n u x 系统对于内存的访 问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各 个进程实际上共享一个运行空间。一个进程在执行前,系统必须为该进程分配足够的连续地址 空间,然后全部载入内存储器的连续空间中。 1 2 3u c l i n u x 的移植 u c l i n u x 在官方网站中有源代码提供,同时也有文档说明所支持的体系结构。移植时,可结 合实际的应用,在众多的体系结构中选择一种。下面首先简述一下移植u c l i n u x 的关键间题。 1 ) 交叉编译环境的建立 移植u c l i n u x 必须有一台安装了l i n “操作系统的p c 机,以及需移植u c l i n u x 的目标开发板。 对于不同体系结构,g n u 都提供了相应的开发软件包。可通过网上查找。有些是源代码包,下 载后要经过g c c 的编译才能应用;有些是应用程序包,安装后即可使用。安装完了工具包后, l i n u x 中就有了基于该体系结构的编译器,链接器,调试器以及一些实用小工具,例如反汇编, 反编译等,以后编译u c l i n u x 内核,制作文件系统都要依赖这个交叉编译系统。 2 ) u c l i n u x 的内核加载方式 u c l i n u x 的内核有两种可选的运行方式:可以在f l a s h 上直接运行也可以加载到内存中运行, 前者可减少内存容量,而后者运行速度可更快。 华东师范大学硕士学位论文 u c l i n u x 分析与移植 f l a s h 运行方式:把内核的可执行映像文件烧到f l 如h 上系统启动时从f l a s h 的某个地址开始 逐句执行这种方法实际上是很多嵌入式系统采用的方法。 内核加载方式:把内核的压缩文件存放在f l a s h 上系统启动时读取压缩文件在内存里解压, 然后开始执行这种方式相对复杂一些,但是运行速度可能更快这是标准l i n u x 系统采用的 启动方式。针对这种方式。需要编写一个b o o t l o a d e r 软件,b o o t l o a d e r 软件的功能包括:寄存器 配置,内核与文件系统的加载。传递硬件与启动参数给内核。 3 ) u c l i n u x 内核的编译 网上有许多u c l i n u x 源代码。最著名的就是u c l i n u x 官方网站。从网上下载一个u c l i n u x 的源 代码根据自己的需要对内核进行裁减,用交叉编译器完成内核的编译。 4 ) u c l i n u x 的根文件系统制作及其加载 u c l i n u x 系统采用r o m f s 文件系统,这种文件系统相对于一般的e x t 2 文件系统要求更少的空 间。空间的节约来自于两个方面:首先内核支持r o m f s 文件系统比支持e x t 2 文件系统需要更少的 代码;其次m m f s 文件系统相对简单,在建立文件系统超级块时需要更少的存储空问。r o m f s 文 件系统不支持动态擦写保存,对于系统需要动态保存的数据一般采用虚拟r a i d 盘的方法进行处 理。同时,u c l i n u x 内核也支持各种文件系统。在需要时可以编译到内核。 在编译内核的同时也可以选择编译文件系统中的应用程序,在源代码包中有许多应用程序 源代码。可以根据自己的需要进行选择。由于基于u c l i n u x 的应用程序较多且源代码开放,因此 基于u c l i n u x 的产品可以进行快速开发,只要能够找到相应的源代码,在制作文件系统时编译进 去就可以了。 1 3 本论文工作 u c l i n u x 在无m m u 的嵌入式系统中具有较好的技术优势,本论文分析了u c l i n u x 嵌入式操作 系统的特点重点分析了与移植关系密切的u c l i n u x 启动部分( 包括b o o f l o a d e r 与内核初始化) 以 及u c l i n u x 的内存管理部分的程序代码。论文从u c l i n u x 的内核结构出发,讨论了源代码的组织结 构,概括分析了u c l i n u x 的内存管理、进程管理和它的实时性,揭示了u c l i n u x 操作系统的内部工 作原理。 基于对u c l i n u x 的分析和讨论,探讨了u c l i n u x 的移植过程,最后依据移植过程的指导,完成 了一个板级的u c l i n u x 的移植。 论文第二章概括讨论了嵌入式u c l i n u x 内核的特点;第三章和第四章分别对u c l i n u x 的启动过 程和内存管理进行了源代码级的探讨:第五章详细总结归纳t u c l i n u x 的移植过程;第六章实现 了u c l i n u x 的板级移植。 论文通过对u c l i n u x 的分析,毗及对嵌入式操作系统移植过程的探讨,展示了嵌入式系统开 发的核心技术,对嵌入系统的开发应用具有一定的实际意义。 本章小结 本章是绪论部分,着重介绍了嵌入式系统、嵌入式l i n u x 以及u c l i n u x 的一些基本概述。最后 提出了本论文的主要研究内容。 华东师范大学硕士学位论文u c l i n u x 分析与移植 第二章u c l i n u x 内核分析 嵌入式操作系统是嵌入式系统的灵魂,而且在同一个硬件平台上可以嵌入不同的嵌入式操 作系统论文主要对u c l i n u x 内核进行分析讨论。嵌入式u c l i n u x 操作系统主要由三个基本部分组 成:引导程序、u c l i n u x 内核( 由内存管理、进程管理和中断处理等构成) 和文件系统。u c l i n u x 可以通过定制使内核小型化,还可以加上g u i ( 图形用户界面) 和定制应用程序,并将其放在 r o m 、r a m 、f l a s h 或d i s k o n c h i p 中启动。由于嵌入式u c l i n u x 操作系统的内核定制高度灵活 性开发者可以按需进行配置来满足实际应用要求;又由于u c l i n u x 是源代码公开因此开发 人员完全可以了解内核原理,并自己开发部分应用软件例如增加各类驱动程序等。只有很好 地掌握u c l i n u x 的原理,才能更好地、更台理地完成移植工作,下面将详细分析嵌入式操作系统 u c l i n u x 特点。 2 1u c l i n u x 内核结构特点 u c l i n u x 最初是从l i n u x2 0 内核开始发展出来的u c l i n u x 是专为没有m m u 的微处理器设计 的嵌入式l i n u x 操作系统它的内核功能结构与l i n u x 基本相同不同的主要是对内存管理和进 程管理进行了改写,以满足无m m u 处理器的要求。另外,由于大多数内核源代码都被重写, u c l i n f i x 的内核要比原l i n u x2 0 内核小的多,但保留了l i n u x 操作系统的主要优点:稳定性、优 异的网络能力以及优秀的文件系统支持。 u c l i n u x 内核结构如图2 1 所示: 图2 1u c l i n u x 内核结构 作为一个优秀的嵌入式操作系统,u c l i n u x 的主要特色有 通用的l i n u xa p i u c l i n u xk e r n e l = p r o f _ s h i f t ; s i z e ;p r o f _ 1 0 n + s i z e o f ( u n s i g n e di n t ) + p a g e _ s i z e 一1 ; p r o f _ _ b u f f e r2 ( u n s i g n e dh a t ) a l l o c _ b o o t m e m ( s i z e ) ; k m e m _ c a c h c _ i n i t o ; s t i 0 ; c a l i b r a t e _ d e l a y 0 ,内核c a c h e 初始化,这个函数初始化内核的 s l 曲内存管理子系统 ,开中断,为的就是可以使用定时中断 测试c p u 的计算能力,显;示b o g o m i p s 值 从机器启动定时器到系统当前时刻的时间由 j i f - t i e s 记录,b o g n m i p s 值的计算过程中需要使用 j i f f i a s ,因此,如果系统定时器不工作的话, b o g o m i p s 值将无法计算。 # i f d e f c o n f i g b l k d e v - i n i t r d i ff i n i t r d _ s t a r t ! i n i t r d _ b e h a ws t a r to k i n i t r d _ s t a r t m i nl o w _ _ p f n p a g e _ s h i f t ) f p r i n t k ( k e r n _ c r i t ”i n i t r do v e r w r i t t e n ( 0 x 0 8 1 x ( 0 x 0 8 1 灿” ”d i s a b l i n gi t h ”,i n i t r d _ s t a r t ,m i n l o w _ p f n n o d e _ h e x t ) 4 1 2 存储区z o n e s z o n e s 由结构z o n et 来描述,它提供具体的关于物理页的使用情况的详细信息,该结构是 在i n c l u d e l i n u x m m z o n eh 中定义的。 t y p e d e f s t r u c tz o n e s t r u c t s p i n l o c k _ tl o c k ; u n s i g n e dl o n gf r e e _ p a g e s ; u n s i g n e dl o n gp a g e s _ r a i n ,p a g e s l o w , p a g e sh i g h ; i n tn e e db a l a n c e ; f r e e a r e a t f r e e _ a r e a m a xo r d e r ; w a i t _ q u e u e _ h e a dt + w a i tt a b l e ; u n s i g n e dl o n gw a i t t a b l e s i z e ; u n s i g n e dl o n gw a i t t a b l e s h i f t ; s t r u e tp g l i s t _ d a t a z o n e _ p g d a t ; s t r u c tp a g e + z o n e _ m e m _ m a p ; u n s i g n e dl o n gz o n e _ s t a r t _ p a d d r ; u n s i g n e dl o n g z o n es t a r t _ m a p n r ; 2 7 华东师范大学硕士学位论文u c l i n u x 分析与移植 c h a rn a m e ; u n s i g n e dl o n g s i z e ; ) z o n e j ; l o c k保护这个区的自旋锁,它保证对这个结构的串行访问。 f r e e _ p a g e s 这个区内的可用页的数量 p a g e

温馨提示

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

最新文档

评论

0/150

提交评论