(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf_第1页
(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf_第2页
(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf_第3页
(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf_第4页
(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(电磁场与微波技术专业论文)基于arm7tdmi的uclinux移植.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 摘要 随着计算机技术的发展,嵌入式系统己成为计算机领域的一个重要组成部 分,并成为近年来新兴的研究的热点。a r m 7 t d m i 是一种高效,低功耗的 r i s c 处理器。以该内核为核心的s 3 c 4 5 1 0 b 是一款集成了许多外围设备的芯 片,非常适合做嵌入式产品的处理器。 嵌入式u c l i n u x 由于代码开放性以及强大的网络功能,在中低端的嵌入式 网络设备中有广泛应用。和其他的嵌入式操作系统相比,具有更多的优势。因 此本论文选择了嵌入式u c l i n u x 作为嵌入式操作系统,$ 3 c 4 5 1 0 b 作为嵌入式的 处理器。 本论文设计了一个嵌入式硬件平台,并将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 r e m b e d d e ds y s t e mh a sb e c o m eav e r y i m p o r t a n tp a r to f c o m p u t e rs c i e n c ea n dr e s e a r c h i n gf o c u s a r m 7 t d m i i sa ne m c i e n t a n dl o w p o w e rr i s cc o r e b a s e do nt h i sc o r e $ 3 c 4 51o bh a si n t e g r a t e dm a n y d e v i c e s a n di ti ss u i tf o rp r o c e s s o ri ne m b e d d e ds y s t e m e m b e d d e dl i n u xh a sm o r ea d v a n t a g e st h a na n yo t h e re m b e d d e do p e r a t i o n s y s t e mf o ri t so p e n i n gs o u r c e sa n ds t r o n gn e t w o r kf u c t i o n si nl o we m b e d d e dn e t w o r k f a c i l i t i e ss ow ec h o o s eu c l i n u xa se m b e d d e do p e r a t i o ns y s t e ma n dc h o o s e $ 3 c 4 5 1 0 ba se m b e d d e dp r o c e s s o r t h i sa r t i c l e d e s i g n ah a r d w a r ep l a t f o r u ma n dc o n f i g u r a t eu c l i n u xa sa n e m b e d d e do p e r a t i o ns y s t e m 、i m p l e m e n ts i m p l ef u n c t i o no fu c l i n u xb a s e do n h a r d w a r ep l a t f o r u m a p p l i c a t i o nc a r lb ed e s i g n e db a s e do nt h e s ep l a t f o r u m sw e d e v e l o pt h e s ep l a t f o r u mi n d e p e n d e n t l y t h a ts h o ww eh a v em a s t e rt h ec o r et e c h n i q u e o fe m b e d d e ds y s t e m 浙江大学硕士学位论文 第一章绪论 1 1 嵌入式系统及其发展现状 随着计算机技术的发展,嵌入式系统已不仅仅属于计算机领域的一个研究 热点,在电子、:【:业控制、航天等领域都有很广泛的应用。嵌入式设备是指具 有计算机功能,但又不称为计算机的设备或器材,它几乎包括了我们周围的所 有电器设备:p d a 、手机、机顶盒、汽车、微波炉、电梯、安全系统、自动售 货机、医疗仪器、立体音响、自动取款机等。同样在通用计算机不适合应用的 场合嵌入式系统也有广大的发展空间。和通用计算机不同,嵌入式系统是针对 具体应用的专用系统,消费品中的嵌入式应用般具有成本敏感性,它的硬件 和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上 实现更高的性能。但是在航天等高技术中应用的场合,嵌入式系统要安全可 靠。好的嵌入式系统可以根据任务灵活的增减硬件和软件。 1 1 1 嵌入式系统硬件概述 嵌入式硬件系统的核心部件是各种类型的嵌入式处理器,目前据不完全统 计,全世界嵌入式处理器的品种总量已经超过1 0 0 0 多种,流行体系结构有3 0 几个系列,其中8 0 5 1 体系的占有多半。嵌入式处理器的寻址空间一般从6 4 k b 到6 4 m b ,处理速度从0 1m i p s 到2 0 0m i p s 。根据其现状,嵌入式计算机可以 分成下面几类。 嵌入式微处t 骆( e m b e d d e dm i c r o p r o c e s s o ru n i t e m p u l 嵌入式微处理器的基础是通用计算机中的c p u 。在应用中,将微处理器装 配在专门没计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大 幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器 虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可 靠性等方面一般都做了各种增强。 嵌入式处理器目前主要有x 8 6 、p o w e rp c 、6 8 0 0 0 、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 ,m c u ) 嵌入式微控制器又称单片机,顾名思义,就是将整个计算机系统集成到一 块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成 r o m e p r o m 、r a m 、总线、总线逻辑、定时计数器、w a t c h d o g 、i o 、串行 口、脉宽调制输出、a d 、d a 、f l a s hr a m 、e e p r o m 等各种必要功能和外 设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种 衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这 浙旺大学硕士学位论文 样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗 和成本。 嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括 8 0 5 1 、m c s 一9 6 1 9 6 2 9 6 、m c 6 8 h c 0 5 1i 1 2 1 6 、6 8 3 0 0 等。另外还有许多半通用 系列如:支持u s b 接口的m c u8 x c 9 3 0 9 3 1 、c 5 4 0 、c 5 4 i :支持1 2 c 、c a n b u s 、l c d 及众多专用m c u 和兼容系列。目前m c u 占嵌入式系统约7 0 的市 场份额。 嵌入式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 ,e d s p ) d s p 处理器对系统结构和指令进行了特殊设计,使其适合于执行d s p 算 法,编译效率较高,指令执行速度也较高。在数字滤波、f f t 、谱分析等方面 d s p 算法j e 在大量进入嵌入式领域,d s p 应用难从在通用单片机中以普通指令 实现d s p 功能,过渡到采用嵌入式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 系列。t m s 3 2 0 系列处理器包括用于控制的c 2 0 0 0 系列,移动通信的c 5 0 0 0 系列,以及性能更高的c 6 0 0 0 和c 8 0 0 0 系列。 d s p 5 6 0 0 0 目前已经发展成为d s p 5 6 0 0 0 ,d s p 5 6 1 0 0 ,d s p 5 6 2 0 0 和d s p 5 6 3 0 0 等几个不同系列的处理器。 嵌入式片上系统( s y s t e mo nc h i p ,s o c ) 随着e d a 的推广和v l s i 设计的普及化,及半导体工艺的迅速发展,在 个硅片上实现一个更为复杂的系统的时代已来临,这就是s y s t e mo n c h i p ( s o c ) 。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给 半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部 分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小 体积和功耗、提高可靠性非常有利。 s o c 可以分为通用和专用两类。通用系列包括s i e m e n s 的t r i c o r e , m o t o r o l a 的m c o r e ,某些a r m 系列器件,e c h e l o n 和m o t o r o l a 联合研制的 n e u r o n 芯片等。专用s o c 一般专用于某个或某类系统中,不为一般用户所知。 个有代表性的产品是p h i l i p s 的s m a r tx a ,它将x a 单片机内核和支持超过 2 0 4 8 位复杂r s a 算法的c c u 单元制作在一块硅片上,形成一个可加载j a v a 或c 语言的专用的s o c ,可用于公众互联网如i n t e m e t 安全方面。 后两种的嵌入式处理器:嵌入式d s p 处理器( e d s p ) 年i 嵌入式片上系统 ( s o c ) 基本上算是专用的嵌入式平台,使用的广泛性不如前两个系统。 嵌入式微处理器( e m p u ) 和工业控制计算机相比,具有体积小、重量轻、成 本低、可靠性高的优点。与嵌入式微控制器( m c u ) 相比较,它在运行速度上, 所支持外没的广泛上,以及寻址空间的大小上又占据了绝对的优势。从技术上 看,m c u 代表的是八十年代的技术。e m p u 则代表的是九十年代的技术。 m c u 往往是8 位,1 6 位的,而e m p u 则往往是3 2 位和6 4 位的。 尽管m c u 在体积上,功耗以及成本上比e m p u 有很大的优势,但是,为 开发一个实用的,功能强大的嵌入式系统,选择e m p u 还是不错的选择。 存e m p u 中,a r m 系列、m i p s 系列属j - r i s c :摩托罗拉的6 8 k 、 p o w e r p c 系列,x 8 6 系列等属于c i s c 。e m p u 市场f :,各类内核应用十分 广泛,没有那一家可以一统天下。 在综合比较了多个嵌入式处理器内核以后,我们选择了a a i i v l 内核作为项 目的硬件内核。 11 2 嵌入式操作系统概述 简单的嵌入式系统一股并不使用操作系统,只包含一些控制流程,但是当 嵌入式系统所提供的功能复杂化之后( 如:图形用户界面和网络支持等) ,简单 的流程控制就不能满足系统的要求,这时就必须考虑使用操作系统。这时,嵌 入式操作系统( e m b e d d e do p e r a t i o ns y s t e m ,e o s ) 就应运而生了。嵌入式操作系 统的产生为应用程序的开发带来了方便,使开发人员不用关心硬件资源,所有 的硬件资源都由嵌入式操作系统管理。 随着e o s 的广泛应用,业界已推出一些应用比较成功的e o s 产品。随着 各种应用的出现,e o s 也从单一的弱功能向高专业化的强功能方向发展,归纳 起米e o s 应该有以下几个特点:小的系统内核:较强的实时性,多任务功能; 能够提供各种设备驱动程序;提供图形界面;提供t c p i p ,p p p 等叻、议支 持。 作为硬件资源的管理者,嵌入式操作系统最小构成应包含下列各部分: 1 ) 任务调度 在当前的嵌入式应用中,待别是对个复杂的嵌入式应用而言,f j 单任务 来实现是不可能的,而只能采用多任务实现,因此任务调度策略的优劣是至关 重要的:虽然有各种各样的任务调度方法,但概括起来可以分为优先级调度、 轮转调度、时间片调度3 种。优先级调度又可以分为2 种:优先级抢占和优先 级不抢占。优先级抢占是指当有高的优先级进程被激活后,则立即终止当前运 行的进程,使其抢占c p u 运行。优先级不抢占是指当有高的优先级进程被激活 后并不立即终止当前运行的进程使其抢占c p u ,而是将其放到进程就绪队列 中,在当前运行的进程结束后,从进程就绪队列中选择优先级最高的进程运 行。轮转调度是进程管理者按照一个固定的时问间隔让就绪进程轮流运行。时 间片调度是根据每个进程各自的实际情况在不同数量的单位时间的时间片内运 行。 在一般的操作系统中,固定采用其中的1 种或几种方法进行任务调度。例 如在u n i x 和l i n u x 中,采用了优先级不抢占、轮转和时问片3 种方法,而在实 时操作系统中,优先级抢占则是必不可少的。 无论是在一般的操作系统中还是在嵌入式操作系统中,任务调度都是操作 系统的核心。在嵌入式操作系统设计中,很难明确地说哪一种方法比其它方法 更好,而要根据被嵌入的实际系统的需求进行优化选择。由于线程的切换速度 快于进程的切换速度,因此,在实时嵌入式应用中,多采用单进程多线程调度 浙江大学硕士学位论文 来提高实时性。在嵌入式操作系统中一般都配有上述3 种调度算法的库函数, 以满足不同用户的不同需求。在用户开发完自己的应用系统后,没有使用到的 代码是不会被连接到最终系统中的,这一点是与一般的操作系统非常重要的区 别。一般的操作系统则是将所有有关代码都加载到计算机系统中,而不论应用 时是否会使用这些代码。 在实时嵌入式应用中还有一种调度方法,即期限( d e a d l i n e ) 调度法。这种调 度方法是设法保证每一个进程( 或线程) 能在它的期限之前被调度执行完,这种 方法目前正在研究之中。 2 ) 存储管理 一般操作系统的存储管理非常复杂,虚拟管理被广泛地使用,简单地说虚 拟存储器管理就是通过操作系统对内存和外存的管理,可以使应用程序获得比 计算机实际内存更大的编址空间,使每一个应用程序都可以享有一个独立的虚 拟存储空间。程序访问的地址是虚拟地址,操作系统通过段、页管理完成虚拟 地址到物理地址的转换和页面的换入换出,同时管理和维护各应用程序之问共 享的存储空间。这样各应用程序被分隔在各自的地址空间运行,不致相互干 扰。 嵌入式操作系统的存储管理通常比较简单。在具体的嵌入式应用中,进程 ( 或线程) 的数量和各自可能使用的内存容量是可以在开发时预测的,因此嵌入 式操作系统通常采用静态内存分配。尤其是在实时嵌入式应用中,如果采用虚 拟存储技术,因为页交换的时间不可预测,所以是不可取的。对于动态内存分 配通常的做法也是从缓冲区中动态分配一块固定大小的内存,在使用完毕后就 释放。一般地说,嵌入式操作系统的存储管理没有垃圾收集的功能。在一个复 杂的应用系统中,可能会有几种情况的组合,应视具体情况处理。例如,在一 个有多个处理器,且既有硬实时应用,又有软实时应用和非实时应用的嵌入式 系统中设计时可以在硬实时部分采用静态内存分配,软实时部分采用动态内 存分配,而在非实时部分采用虚拟存储技术,并且使这三种应用分别运行在不 同的处理器上。 在内存分配的策略上,嵌入式操作系统强烈地依赖于实际的被嵌入系统。 一个通用嵌入式操作系统可以提供几种分配策略,而用户在开发自己的实际系 统时可以选择,这就再次强调了前文提到的嵌入式操作系统的可裁剪性。 存储管理的另一个重要特性就是内存保护。在一般的操作系统中,每个应 用程序都有自己的地址空间不能任意访问其它应用程序的地址空间。这样, 当一个应用程序崩溃时,不会对其它程序产生影响。尽管存储器芯片价格已经 很便宜,但因受应用环境的限制,不能大量使用存储器,这时嵌入式操作系统 的代码量就受到严格限制。例如有的嵌入式操作系统只有几k b ,使其在处理 内存保护方面就非常薄弱,这样的嵌入式操作系统一般应用于一些即使系统崩 溃,也不致造成重大损失的领域,例如手持式电话。但某些嵌入式应用则对内 存保护有非常严格的要求,例如在武器系统中,就要求嵌入式操作系统具有内 存保护的功能。 浙江大学硕士学位论文 3 ) 中断 计算机系统接受事件有二种方法:查询和中断。在多任务操作系统中,由 于采用查询方式处理事件或i o 请求会消耗大量的系统资源c p u 时间。因此 无论在一般的操作系统还是嵌入式操作系统中都采用中断方式来处理事件或i o 请求。 在操作系统中,中断是同中断处理程序联系在一起的。以i o 操作为例, 一般的过程是:任务a 发出i 0 请求后被挂起操作系统切换到其它任务运行一 i o 设备完成相应的操作并发出中断请求操作系统调用相应的中断处理程序一 解挂任务a 。 在嵌入式操作系统中,对中断处理十分重视,可以说多数嵌入式操作系统 都是事件驱动的。在嵌入式操作系统中,中断处理程序引发的任务切换如下所 示: 任务a 运行一响应中断并执行中断处理程序,切换到任务b 任务b 运行 退出后,切换到任务a 任务a 继续运行在中断处理程序( i s r l 中仅执行一些必 要的状态转换,对于事件的真正处理则利用中断任务( 如上述的任务b ) 完成。这 样使得中断处理程序的运行时间尽可能短,以便系统可以处理其它中断事件。 同时,在i s r 中不能执行有关信号量的操作。因为i s r 具有最高优先级,如果 在i s r 中执行了信号量操作而被挂起,则整个系统将会死锁。在中断处理上, 一般的操作系统与嵌入式操作系统的不同之处是现场保护。一般的操作系统的 中断现场保护是由操作系统来完成的,在中断处理完成之后,也由操作系统恢 复现场。在嵌入式操作系统中,有时由于受到代码量的限制,中断现场的保护 往往由中断处理程序来完成。 在中断处理程序的入口要保护在中断处理程序中用到的寄存器,在中断处 理完成后恢复。这样一方面减少了代码量,另一方面提高了中断响应时间,但 是却损失了系统的安全性,同时也增加了调试的难度。这是在嵌入式操作系统 的设计中应该予以关注的问题。 4 ) 操作系统与用户的接口 操作系统提供给用户使用的有二类接口。一类是人机界面,无论是视窗形 式还是命令行形式,这个接口确切地说并不能做为操作系统的一部分,而仅仅 是操作系统的一个外壳,这个界面是为了方便用户使用操作系统,而这个接口 在嵌入式操作系统中是不存在的。这里要讨论的是另一个接口,操作系统提供 给用户开发自己的应用程序接( a p 0 ,也就是系统调用。无论是一般的操作系 统还是嵌入式操作系统都应具有这个接e l 。每一个操作系统提供的系统调用的 功能和种类都不同,当然,对于一个操作系统来说,它提供的系统调用越 多则功能越强,对于应用程序的开发,也就越能提供高效而简单的支持,同 时也会减少应用程序的维护量。相反,一个操作系统的系统调用越少越单一, 那么应用程序相对就要做更多的工作,应用程序也就越复杂。为了适应不断复 杂的应用程序开发的需求,操作系统中设计的系统调用也就越来越多,越来越 复杂功能越来越强大。但是这一规律并不适用于嵌入式操作系统,嵌入式操 作系统的应用领域非常广,简单的可以应用在调制解调器上,复杂的可以应用 在卫星地面通信接收站。这就决定了嵌入式操作系统所提供的系统调用的数量 和功能是凶应用不同而不同的。尽管前文提到的可裁剪性是嵌入式操作系统的 一个非常重要的特性,但是任何一个嵌入式操作系统都刁j 可能从具有各种完善 功能、代码达几百k b 的操作系统,裁剪到只具有实时调度和信号量操作的几 k b 代码。所以嵌入式操作系统只能面向实际的被嵌入系统的具体需求,确定系 统调用,以便达到在提供最有效的系统调用的同时具有最小的代码量。 最后,在系统调用的形式上要提到p o s i x 。由丁各个操作系统提供自己的 系统蒯用其类型、功能和调用格式各不相同,这样给应用程序的移植带来了 很大困难。p o s i x 标准的提出正是试图解决这一问题。p o s i x 试图定义一些标 准的系统调用接口和功能,尽管各个操作系统的实现方式各不相同。p o s i x 是 以类l i n n x 为基础开发的,同时,它试图将实时和非实时的情况统一化,这样 就丧失了一定的效牢和增加了代码量,所以有些操作系统赴提供p o s l x 兼容的 系统调用的同时,也提供了非p o s i x 兼容的系统调。 1 1 3 几种嵌入式操作系统的比较 同前市场j 流行的,使用最多的e o s 产品包括有:w i n d o w sc e ,l y n x 、 v x w o r k ,n u c l e u s ,p a l mo s ,p s o s y s t e m 等。除了商业化的操作系统外还有一 些非商业化的嵌入式操作系统可以便用,其中嵌入式l i n u x 将成为完全训以和 w i n d o w sc e 等e o s 相抗衡的o s w i n d o w sc e 。w i n d o w sc e 是- , 0 03 2 位的多任务操作系统,它经过压 缩,可以移植,能够开发多种企业和客户类没备。由于其是微软公司的 “维纳斯计划”的核心,包含j i n t e r n e te x p l o r e r 的版本,可以和 i n t e r n 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 都用于存储器管理部件( 心们i ) 。但是大部分实时操作 系统产品没有利用这个关键技术导致在m m u 硅片以浪费功率而告 终。只有l y n x 充分利用了这些高性能的c p u 提供高度集成的基于 m m v 的存储器保护和虚拟寻址,加上过硬的实时内应,具有高可取性 和优良的性能。l y n x 为应用软件提供可取的处理环境( r p e ) 。在这一环 境下,基于硬件的高速存储器管理提供更加安全和过硬的应用性能。 可取的处理环境采用由l y n x 提供的全部存储器管理部件支持,保证应 用起来不受其他系统及应用软件部分( 甚至0 s 本身) 的误码或数据的干 扰。 v x w o r k 。,v x w o r k 是w i n dr i v e rs y s t e m 公司开发研制约一种高性能的嵌 入式实时操作系统。它包括了操作系统本身和其集成开发环境。 浙江大学硕士掌位论文 v x w o n 以其优良的可靠性、开放性、实时性和易用性赢得了大量的客 户。 p a l mo s 。p a l m 0 s 是一种专为掌上设备设计的3 2 位操作系统,它运行 在一个抢占式的多任务内核之上。同一时刻用户界面仅仅允许一个应用 程序被打开,这个被打开的程序将控制整个屏幕,应用程序始终运行在 单用户界面毁程上:也就是说,它们不允许所谓的m d i ( 多文档接口) 存 在,所有的程序必须以s d i ( 单文档接口) 的形式存在。与w i n d o w sc e 相比,p n m0 s 显然更为紧凑。 p s o s 。p s o s 系统是一个模块化、高性能的实时操作系统,专门用来设 计嵌入式微处理器。它提供了一个基于开放系统标准的,彻底的多任务 环境。p s o s 操作系统拥有集成的开发工具平台,这些开发工具可以驻 留在u n i x 或d o s 的计算机上,通过串行口或t c p i p 网络与其相连它 是一个经多个应用领域验证的多任务内核。它提供一种及时应答、高效 的机制与用户的实时应用系统协调合作。现阶段,全世界范围内有超过 二千万的嵌入式设备运行着p s o s 。 q n x 。q n x 是q u a n t u m 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 是一个按嵌入式系统要求设计的操作系统, 它是由一个很小的内核及一些根据需要进行定制的系统模块组成。该系 统在处理中文及联网方面都很有特色。 l i n u x 。l i n u x 由于它作为服务器操作系统,其功能的增强已引起了业界 的注意。l i n u x 也逐渐应用于工作站及桌面p c 。同样,l i n u x 以也因为 它服务器o s 的特性而成为一个下一个智能型嵌入式设备的理想操作系 统。 1 2 嵌入式硬件平台的概述 1 2 1 硬件平台的选择 目前市场上有许多的嵌入式芯片,如何选择一片芯片来设计开发和调试平 台,是一个问题。与全球p c 市场不同,没有一种微处理器和微处理器公司可以 主导嵌入式系统,仅以3 2 位的c p u 而言,就有1 0 0 种以上嵌入式微处理器。因为 嵌入式系统设计的差异性极大,这就是有1 0 0 种微处理器存在的原因。 调查上市的c p u 供应商,某些公司如m o t o r o l a 、i n t e l 很有名气,而有一些 小的公司如q e d ( s a n t a c l a r ac a ) 虽然名气很小,但也生产很优秀的微处理器。 浙江大学顺士学位论文 另外,有一些公司,如a r m 、m i p s 等,只设计而并不生产c p u ,他们把生产权授予 世界各地的半导体制造商。 m o t o r o l a 传统的6 8 k 结构仍是3 2 位c p u 的主流,虽然它起源于8 0 年代初, 但在1 9 9 7 年依然销售了8 0 0 0 万个,并基本上是传统6 8 0 x x 芯片( 0 0 、2 0 、4 0 k ) , 另外就是6 8 3 x x ( 6 0 、0 2 、3 2 、2 8 k ) 以及c o l d f i r e 6 8 k 嵌入式微处理器最大的挑战者是m i p s 的授权制造商。众所周知,m i p s 属于s g i 公司,而m i p s 主要做嵌入式系统,s g i 工作站只是m i p s 芯片销售额的 一部分:紧跟在m i p s 后的另一个r i s c 芯片制造商是h i t a c h i 的s h ,s h 主要在远 东销售( 日本最多) ,北美则很少有人使用。 a r m 是另外一种近年来在嵌入式系统有影响力的微处理器制造商,a r m 的 设计非常适合于小的电源供电系统。a p p l e 在n e w t o n 手持计算机中使用a r m , 另外有几款数字无线电话也在使用a r m 。 除m i p s 、s h 和a r m 之外,就数p o w e rp c 和x 8 6 了。这两款微处理器在 桌面系统用量极大,但在嵌入式系统中的影响却不够大。1 9 9 7 年,i n t e i 、a m d 及 其他x 8 6 兼容厂商共生产了9 0 0 万个x 8 6 嵌入式c p u 。实际上,在嵌入式x 8 6 c p u 方面,a m d 的工作远比i n t e l 多,如a m d l 8 6 1 8 8 系统和a m d 基于3 8 6 、 4 8 6 e i a n 系统( 把整个p c 基成在单个芯片上) 。 选择芯片要考虑芯片的性能,功耗,专业化水平。 考虑到各种因素,我们选择了基于a r m 7 d t m i 精简指令核的c p u 。 a r m 7 d t m i 核在成本上比较便宜,比较适合作消费类产品,且功耗很低,是手 机,p d a 的首选芯片。a r m 7 d t m i 的性能也令人满意,他的工作主频可以达 到5 0 m h z ,相当于一个x 4 8 6 芯片的处理能力。我选择s a n g s a n g 的 s 3 c 4 5 1 0 b 芯片的主要原因是该芯片集成了许多外围设备,有一个1 0 0 m 1 0 m 的 以太接口,两个u a r t ,一个h d l c 口,及外设接口。这对于快速开发是很有 帮助的。 采用$ 3 c 4 5 1 0 b 芯片及s d r a m ,f l a s h ,及m i i 网络接口芯片就可以设 计一个小型的开发平台。 1 2 2 a r m 与a r m 7 1 d nj 处理器 a r m 即a d v a n c c dr i s cm a c h i n e s 的缩写,由英国a d v a n c e dr i s cm a c h i n e s ( a r m ) l i m i t e d 公司设计。a r m 公司是设计公司,本身不生产芯片,只提供知 识产权( i p ) 。a r m 公司是3 2 位嵌入式r i s c 微处理器领域的领先供应商,在 世界范围有超过1 0 0 个的合作伙伴囟括半导体工业的著名公司,从而导致 了大量的开发工具和丰富的第三方资源,它们共同保证了基于a r m 处理器核 的设计可以很快投入市场。 浙江大学硕士学位论文 a r m 处理器的出色性能使系统设计者可以得到完全满足其确切要求的解决 方案。借助于来自第三方开发者广泛的支持,设计者可以使用丰富的标准开发 工具和a r m 优化的应用软件。 a r m 3 2 位体系结构目前被公认为是业界领先的3 2 位嵌入式r i s c 微处理器 结构。所有a r m 处理器共享这一体系结构。这可确保当开发者转向更高性能 的a r m 处理器时,在软件开发上可获得最大的回报。 当前a r m 体系结构的扩充包括: t h u m b :1 6 位指令集,用以改善代码密度。 d s p :用于d s p 应用的算术运算指令集。 j a z e l l e r :允许直接执行j a v a 字节码的扩充。 a r m 处理器本身是3 2 位设计,但也配置t h u m b l 6 位指令集,以允许软件 编码为更短的1 6 位指令。与等价的3 2 位代码相比,占用的存储器空间节省高 达3 5 ,然而保留了3 2 位系统所有的优势( 例如,访问一个全3 2 位地址空 间) 。t h u m b 状态与正常的a r m 状态之间的切换是零开销的。a r m 的j a z e l l e 技术提供了j a v a 加速,可得到比基于软件的j a v a 虚拟机( j v m ) 高得多的性 能。与同等的非j a v a 加速核相比,功耗降低8 0 。 根据内核的不同,a r m 处理器分为a r m 7 ,a r m 9 ,a r m 9 e ,a r m l 0 , s e c u r c o r e 。 a r m 7 系列为低功耗3 2 位核,最适用于对价位和功耗敏感的消费类应用。 a r m 7 具有 嵌入式i c e r t 逻辑 非常低的功耗 能提供o 9 m i p s m h z 的三级流水线和冯诺依曼结构 a r m t 系列包括:a r m 7 t d m i ,a r m 7 t d m i s ,a r m 7 e j ,a r m 7 2 0 t 结 构 a r m 7 t d m i 是世界上广泛使用的3 2 位嵌入式r i s c 处理器。它是目前用 于低端的a r m 处理器核,且应用范围很广。 a r m 7 t d m i 各字原义如下 a r m 7a r m 63 2 整型核的3 v 兼容版本 t 1 6 位压缩指令集t h u m b d 在片调试( d e b u g ) 支持,允许处理器响应调试请求暂停。 m 增强型乘法器( m u l t i p l i e r ) ,与以前处理器相比性能更 高,产生全6 4 位结果。 i 嵌入式i c e 硬件提供片上断点和调试点支持。 浙江大学硕士学位论史 1 3 嵌入式l i d u x 操作系统的概述 嵌入式l i n u x 由于代码开放性以及强大的网络功能,在中低端的嵌入式网 络设备中的应用,比起p s o s 、v x w o r k s 有许多优势。l i n u x 现在甚至支持蓝牙 技术。开发嵌入式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 3 1 嵌入式l in u x 系统的优势 1 便于扩充实时性要求 操作系统实时性的决定因素与中断例程本身、内核中的驱动程序还有内核 中任务凋度程序有关:而向应延迟时间主要受中断的优先级和其他进程暂时地 关闭中断响应的影响。因此管理和驱动中断的机制必须保证实时要求。根据这 个要求,大多数嵌入式系统并不具备严格的实时性,而w i n d o w sc e 基本上不具 备实时性的特点。但是,嵌入式l i n u x 可以很好得满足实时性要求。对i n t e l x 8 6 处理器,实时扩充可以在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 的基本核心和其他任务间的接口。 2 具有很高的适应性和可靠性 和其他运行于p c 的系统相比,因为l i n u x 继承了u n i x 优点,在适应和稳 定方面性能是非常突出的。而嵌入式的l i n u x 也是如此。 嵌入式l i n u x 不仅支持x 8 6 芯片,而且是一个跨平台的系统,到目前为止 可以支持二、三十种c p u 。很多c p u 包括家电业的芯片,都开始做l i n u x 的平 台移植工作。移植的速度远远超过j a v a 的开发环境,这是值得注意的。也就 是说,如果今天采用l i n u x 环境开发应用程序,那么将来换c p u 时就不会遇到 困扰。同时,嵌入式l i n u x 内核的结构在网络方面是非常完整的。提供了包括 十兆、百兆、干兆的以太网络以及无线网络、t o k e nr i n g ( 令牌环) 、光纤甚至卫 星的支持。所以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 具有成熟的开发工具 开发嵌入式系统的关键是需要一套好用的开发和调试工具,而且在开发所 不同阶段还需要不同的工具。 浙江大学硕士学位论文 传统的开发调试工具就是i c e 在线仿真器,它取代目标板的微处理器, 给目标程序提供仿真环境,同时可以连接监视器,允许开发者调试和监视程序 的运行。但是,这种设备价格非常贵。如果使用嵌入式l i n u x ,就不用i c e 也 可以很好地丌发和调试工作了、同时还降低开发费用。 嵌入式l i n u x 利用g n u 项目的c 编译器来编译程序,使用g d b 源程序级调 试器来调试程序。它们提供了合适的手段来使客户能够开发嵌入式的l i n u x 各 种应用程序。开发时在p c 上交叉编译应用程序,调试时通过串口t e l n e t 登陆硬 件平台,利用n f s 可以调试p c 中的e l f 文件。 4 可以灵活地配置内核 一般说来,需要使用嵌入式操作系统的存储容量都十分有限,不能像一般 的计算机那样采用海量存储器来进行数据存储。一般是采用软件固化的方法, 将程序和操作系统嵌入到整个产品里面。在这个技术中减少操作系统的体积是 关键。我们不能想象在一个紧凑的硬件设备外面再接一个通用的硬盘或是打算 将几十兆上百兆的操作系统输入到普通的r o m 或者r a m 里面去。因此,对嵌 入式系统来讲:功能和体积是一对互斥事件。 而p s o s 以及其他的一些操作系统,虽然内核只有几十k ,但是要为相关 的产品添加额外的功能,例如网络功能,实际应用的时候要添加应用包,体积 在1 0 0 k 以上。嵌入式l i n u x 除了本身体积较少以外,还保留了l i n u x 操作系统 中非常有持色的一点:用户可以自己裁减内核。用户完全可以根据不同的任务 来选定特定操作内核模块,而将不用的部分去掉,减少体积,从根本上解决了 体积和功能的矛盾。 132 嵌入式l if l u x 的分支一- u o iif l u x l i n u x 是为服务器设计的一种稳定的操作系统。一般服务器都采用高性能的 中央处理器,例如p e n t i u m 4 或s p a r c 芯片。这类高性能的处理器都有内存管理 单元。内存管理单元的功能主要是将程序的逻辑地址和实际的物理地址分开, 使系统有更高的稳定性。高性能的芯片一般都会有内存管理单元,它是芯片中 的一部分,制造在芯片中。逻辑地址到实际的物理地址都是由硬件映射完成, 因此速度较快。但是还有大量的芯片虽然数据位宽度和地址位宽度是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 t l x 首先被移植到摩托罗拉的m c 6 8 3 2 8d r a g o n b a l l 集成微处理器上。从那以后,u c l i n t m 越来越受到业界的青睐,被移植到更多的无 m m u 枣片e 。 浙江大学硕士学位论文 由于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 的处理器设计的。在这种处理器上,虚拟地址被送到m m u ,把虚拟地址 映射为物理地址。通过赋予每个任务不同的虚拟一物理地址转换映射,支持不 同任务之间的保护。对于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 系统对于内存的访问是直接的,所有 程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个 进程实际上共享一个运行空间。一个进程在执行前,系统必须为进程分配足够 的连续地址空间,然后全部载入主存储器的连续空f 司中。 1 3 3 u ojn u x 的移植 u c l i n u x 在官方网站( w w w u c l i n u x o r g ) 中有源代码提供,同时也有文档 说明所支持的体系结构。结合实际的应用,在众多的体系结构中选择一种。下 面介绍一下在移植u c l i n u x 中会遇到的一些关键问题。 1 交叉编译环境的建立 移植u c l i n u x 必须有一台p c 机,安装了l i n u x 操作系统。同时还要有一块 测试板,测试板的体系结构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 内核,制作文件系统都要依赖交叉编译系统。 2u c ln u x 的内核加载方式的问题 u c l i n u x 的内核有两种可选的运行方式:可以在f l a s h 上直接运行,也可以 加载到内存中运行。前者可以减少内存需要。 f l a s h 运行方式:把内核的可执行映像文件烧到f l a s h 上,系统启动时从 f l a s h 的某个地址开始逐句执行。这种方法实际上是很多嵌入式系统采用的方 法。 内核加载方式:把内核的压缩文件存放在f l a s h 上,系统启动时读取压缩文 件在内存里解压,然后开始执行,这种方式相对复杂一些,但是运行速度可能 更快( r a m 的存取速率要比f l a s h 高) 。同时这也是标准l i n u x 系统采用的启 动方式。这里需要编写一个b

温馨提示

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

评论

0/150

提交评论