




已阅读5页,还剩67页未读, 继续免费阅读
(计算机科学与技术专业论文)mpc8540在惯性导航系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士学位论文 m p c 8 5 4 0 在惯性导航系统中的应用 摘要 在现代航空、航天事业中,惯性导航系统发挥着重要的作用。随 着嵌入式技术的发展,嵌入式微处理器越来越多的应用在现代惯性导 航系统中。本论文以此为背景,讨论了将m p c 8 5 4 0 应用在惯性导航系 统中所需的工作,主要是针对m p c 8 5 4 0 的v x w o r k s 板级支持包( b s p ) 的开发和惯性导航系统软件的开发。 将m p c 8 5 4 0 应用到惯性导航系统中,在进行软件开发之前首先要 解决的问题是加载v x w o r k s 操作系统到m p c 8 5 4 0 ,需要开发针对 m p c 8 5 4 0 的v x w o r k sb s p 。通过分析v x w o r k sb s p 的引导流程,参考 m p c 8 2 6 0 的v x w o r k sb s p 的引导过程,设计出针对m p c 8 5 4 0 的v x w o r k s b s p ,并重点讨论了引导过程中对内存管理单元( m m u ) 的处理。 对于m p c 8 5 4 0 上惯性导航系统软件的开发,采用先在p c 机上开 发再进行移植的开发方案。以此为基础,介绍了惯性导航系统中部分 模块在p c 机上的设计与实现。基于l i n u x 上的q t 开源库,开发出界 面模块,实现了轨迹曲线和数据的动态显示功能;开发了基于r t l i n u x 的实时控制与处理模块,实现了对转台的实时控制以及对数据的实时 处理功能。 惯性导航系统软件目前运行在嵌入了r t l i n u x 核的r e d h a t 9 0 操 作系统上,可以长时间稳定运行。系统在轨迹显示方面取得了良好的 北京邮电大学硕上学位论文 效果,而且有很高的实时性,保证了对数据的实时处理。 关键词板级支持包内存管理单元惯性导航实时模块 北京邮电大学硕士学位论文 a p p l i c a t i o no fm p c8 5 4 0i n i n e r t i a ln a v i g a t i o ns y s t e m a b s t r a c t w i t ht h e d e v e l o p m e n t o fe m b e d d e d t e c h n o l o g y , e m b e d d e d m i c r o p r o c e s s o r sp l a yag r o w i n gs i g n i f i c a n tr o l ei ni n e r t i a ln a v i g a t i o n s y s t e m s ( i n s ) a p p l i c a t i o no fm p c 8 5 4 0 i ni n si sp r e s e n t e di nt h i st h e s i s , i nw h i c ht h ed e v e l o p m e n to fv x w o r k sb o a r ds u p p o r tp a c k a g e ( b s p ) f o r m p c 8 5 4 0a n dt h es o f t w a r ed e v e l o p m e n to fi n si np ca l em a i n l y d i s c u s s e d i nt h ew h o l ef l o w ,t h ew o r ko fp o r t i n gv x w o r k sb s pt om p c 8 5 4 0 m u s tb ed o n ef i r s ts ot h a tv x w o r k so sc a l lr u no n 口c 8 5 4 0 b a s e do n t h ea n a l y s i so fb o o tp r o c e s so fm p c 8 2 6 0 sv x w o r k sb s p ,v x w o r k s b s pf o rm p c 8 5 4 0i sd e s i g n e d ,a n dt h em e m o r ym a n a g e m e n tu n i t ( m m t j ) i ss t r e s s e d i nt h i st h e s i s ,t h es c h e m eo f d e v e l o p i n gi n ss o f t w a r eo np c f i r s ta n d t h e n t r a n s p l a n t i n gi t t om p c 8 5 4 0i se m p l o y e d s o m em o d u l e sa r e i m p l e m e n t e do np c ,i n c l u d i n gt h e u s e ri n t e r f a c em o d u l ew h i c hc a n 1 1 1 北京邮电大学硕士学位论文 e x h i b i tt h et r a c kc u r v e sa n dd a t ad y n a m i c l yb a s e do nl i n u xq tl i b r a r y a n dt h er e a l t i m em o d u l ew h i c ha c h i e v e st h er e a l t i m ec o n t r 0 1a n dd a t a p r o c e s s m g t h i ss o f t w a r ei sr u n n i n gu p o nr e d h a t9 0o se m b e d d e dw i t h r t l i n u xk e r n e l ,s h o w i n gn i c ep e r f o r m a n c es u c ha ss t r o n gs t a b l i t ya n d h i g hr e a l t i m ea b i l i t y k e yw o r d sb s pm m ui n e r t i a ln a v i g a t i o nr e a l - t i m em o d u l e i v 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:二至弓孚一 日期:兰! 墅:! :! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位 本人签名: 适用本授权书。 日期:竺星:! :! ! 导师签名: 劐盛抬日期:燮壁:三:三i 北京邮电大学硕士学位论文 1 1 论文研究的背景 第一章概述 1 1 1 惯性导航系统开发的背景 航空、航天工业的发展水平是一个国家科技能力、经济实力和国防实力的重 要标志。航空、航天技术不但在国防领域中有举足轻重的地位,在民用方面也有 着重要的意义。惯性导航和制导技术是航空、航天领域中的一项核心技术。随着 航空、航天事业的飞速发展,对惯性导航与制导系统的工作精度也不断地提出新 的要求。同步通讯卫星的准确定位、人类成功登上月球、航天飞机的飞行成功、 导弹的准确定位,这些都采用高精度惯性导航与制导技术。惯性导航与制导系统 已经发挥了重要的作用,并且随着应用需求的增加,还将发挥更大的作用。 所谓惯性技术就是通过测量飞行器的加速度( 惯性) ,并自动进行积分运算, 获得飞行器瞬时速度和瞬时位置数据的技术。惯性导航依据惯性技术,完成对飞 行器的导航定位【l j 。惯性导航系统通常由惯性测量装置、计算机、控制显示器等 组成【2 。惯性测量装置包括加速度计和陀螺仪,又称惯性导航组合。3 个自由度 陀螺仪用来测量飞行器的三个转动运动;3 个加速度计用来测量飞行器的3 个平移 运动的加速度。计算机根据测得的加速度信号计算出飞行器的速度和位置数据。 控制显示器显示各种导航参数。 如果把加速度计直接装在飞机机体上,并与航向系统和姿态系统结合起来进 行导航便构成捷联式惯性导航系统。捷联式惯性导航系统在工作时不依赖外界信 息,也不向外界辐射能量,不易受到干扰破坏,是一种自主式导航系统。捷联式 惯性导航系统与平台式惯性导航系统比较有两个主要的区别:一是省去了惯性平 台,陀螺仪和加速度计直接安装在飞行器上,使系统体积小、重量轻、成本低、 维护方便。但陀螺仪和加速度计直接承受飞行器的振动、冲击和角运动,因而会 产生附加的动态误差。这对陀螺仪和加速度计就有更高的要求。二是需要用计算 机对加速度计测得的飞行器加速度信号进行坐标变换,再进行导航计算得出需要 的导航参数( 航向、地速、航行距离和地理位置等) 。这种系统需要进行坐标变 换,而且必须进行实时计算,因而要求计算机具有很高的运算速度和较大的容量 p 】。现代电子计算机技术的迅速发展为捷联式惯性导航系统创造了条件。自5 0 年 代末人们开始研究这种新型导航系统以来,它已成功地用于导引航天器再入大气 北京邮电大学硕士学位论文 层的飞行。捷联式惯性导航系统在美国“阿波罗 号飞船上作为备用系统曾发挥 了作用。7 0 年代以来,捷联式惯性导航系统又在导弹和飞机上获得应用。 随着科技水平的提高,成本的下降,惯性导航系统正受到越来越广泛的应用, 研究惯性导航系统相关软件的开发无疑有重要的商业价值和实际意义。 1 1 2h p c 8 5 4 0 在惯性导航系统中的应用背景 惯性导航系统由一些设备以及运行其上的软件组成,需要硬件和软件协同工 作,才能发挥出巨大的效能。作为硬件的核心,处理器无疑占有举足轻重的地位。 惯性导航系统需要完成对飞行器的导航功能,从处理器方面考虑,系统必须具有 以下能力: 1 必须具备强大的数据处理的能力,因为惯性测量设备送来的信息,数据 量可能非常大,而且需要实时处理,尤其是在紧急情况下。 2 要有较高的实时性。一方面引导不实时,可能导致飞行器失控;另一方 面如果数据处理不实时,可能造成数据丢失,系统的精确度就会下降。 3 要具备一定的通信能力。 4 体积不能太大,尤其是对于捷联式惯性导航系统来说,飞行器上的空间 资源有限,所以系统应尽量小巧。 捷联式惯性导航系统需要d s p 或嵌入式c p u 来实现数据处理。 在当前的嵌入式处理器市场中,m o t o r o l a 公司的p o w e r p c 系列通信处理器无 疑是目前应用最广泛的。p o w e r p c 是m o t o r o l a ,i b m ,a p p l e 公司联合开发的c p u 芯片,由于p o w e r p c 良好的架构、优秀的性能以及稳定的兼容性,使得p o w e r p c 在各个领域都获得了广泛的应用。新的p o w e r q u i c ci i i 设备( m p c 8 5 4 0 ) 是摩托 罗拉开发的第一批采用r a p i d l o 高速互连技术的处理器,设计用于提供最高的性 能和集成度。m p c 8 5 4 0 处理器可在性能、i o 系统吞吐量和低功耗之间实现平衡。 惯性导航系统既有实时性的要求,又要有强大的数据处理的能力,同时还要有一 定的通信能力。m o t o r o l a 公司的m p c 8 5 4 0 处理器,无论是体积上、性能上还是功 能上都能满足上述要求。 因此,将m p c 8 5 4 0 应用到惯性导航系统里,可以为惯性导航系统提供功能 上的保证。 1 2 论文研究的内容 1 2 1v x w o r k sb s p 的移植 2 北京邮电大学硕士学位论文 将m p c 8 5 4 0 应用到惯性导航系统里,在进行系统软件开发之前首先要解决 一个重要的问题,就是实时操作系统的选择。好的操作系统不仅能更好配合硬件 处理器的工作,而且可以为应用提供良好的开发环境。v x w o r k s 操作系统就是 一款出色的实时操作系统,它是美国风河( w i n d r i v e r ) 公司于1 9 8 3 年设计开发 的一种嵌入式实时操作系统( 1 汀o s ) 。良好的持续发展能力、高性能的内核以 及友好的用户开发环境,使其在嵌入式实时操作系统领域占据一席之地。 建立一个基于v x w o r k s 和m p c 8 5 4 0 的软硬件环境,必须解决的问题是板级 支持包( b s p ) 的开发。目前风河公司提供的v x w o r k sb s p 中不含有针对 m p c 8 5 4 0 的b s p ,因此,论文第一个研究的内容就是针对m p c 8 5 4 0 的v x w o r k s b s p 移植。目标是熟悉v x w o r k sb s p 的引导过程,掌握其开发方法,以参考b s p 为基础设计针对m p c 8 5 4 0 的b s p ,包括配置文件的设置、重要数据结构的设置 以及重要函数的处理。在嵌入式系统里,内存管理是一个重要部分,因此在分析 和设计过程中,将研究重点放在内存管理单元的处理上。 1 2 2 惯性导航系统部分模块的设计 惯性导航系统是一个复杂的系统,在嵌入式环境下开发会面临不小的困难。 因为嵌入式环境的资源有限,例如,存储资源在嵌入式系统里弥足珍贵,调试技 术和工具不够丰富,等等。所以一个普遍的方法是先在普通计算机上,借助其成 熟的软件开发技术和调试技术以及丰富的工具和资源,开发出应用,然后将其移 植到嵌入式环境中。因此,论文第二个研究内容是惯性导航系统在p c 机上的设 计与实现。 一个完整的惯性导航系统要实现的功能有以下几点:数据处理功能,解算功 能,导航功能,显示功能等。这样一个系统需要多人合作完成,论文将研究实现 其部分功能:轨迹信息显示,实时控制和数据处理。研究内容包括基于q t 开源 库和c + + 语言实现界面显示模块,基于r t l i n u x 实现实时控制和数据处理模块, 其中重点是对数据的实时处理。 1 3 论文的主要任务 该论文要完成的工作主要有以下三点: ( 1 )设计针对m p c 8 5 4 0 的b s p ,完成基本文件配置,实现初级引导阶段对内 存管理单元的处理。 ( 2 )设计m p c 8 5 4 0 在惯性导航系统中的应用及软件开发方案。 3 北京邮电大学硕士学位论文 ( 3 ) 惯性导航系统部分模块在p c 机上的实现: _ 设计一个界面模块,用于显示轨迹曲线以及位置、速度、姿态等信 息; - 设计一个实时模块,用于处理实时任务,包括对转台的控制以及对 数据的处理。 论文的章节安排如下: 第一章,概括介绍了论文研究内容的背景及论文所做的工作。 第二章,介绍了针对m p c 8 5 4 0 的v x w o r k sb s p 移植,以u b o o t 引导程序 和m p c 8 2 6 0b s p 为参考设计针对m p c 8 5 4 0 的b s p ,重点放在对内存管理单元 的处理上。 第三章,描述了将m p c 8 5 4 0 应用在惯性导航系统中的设想,分析了m p c 8 5 4 0 在惯性导航系统中的应用需求和系统框架,即先在p c 机上开发然后进行移植。 第四章,阐述了惯性导航系统部分模块在p c 机上的设计与实现。基于q t 库开发出了用于动态显示轨迹曲线和数据的界面模块;基于r t l i n u x 开发了用于 实时控制和数据处理的实时模块,重点介绍了实时模块中对大量数据的实时处理 机制。 最后一章结尾,一方面回顾了论文所作的工作、所取得的成果以及收获,另 一方面总结了论文中存在的不足之处及前景。 4 北京邮电大学硕士学位论文 第二章针对m p c 8 5 4 0 的v x w o r k sb s p 移植 2 1 处理器及操作系统介绍 2 1 1h p c 8 5 4 0 处理器介绍 m p c 8 5 4 0 处理器,属于飞思卡尔半导体( 原摩托罗拉半导体) p o w e r q u i c c i i i 处理器家族,主频6 0 0 m 1 g h z ,当主频8 0 0 m h z 时处理能力高达1 8 5 0 m i p s , 是飞思卡尔半导体( 原摩托罗拉半导体) 的旗舰产品,m p c 8 5 4 0 内部集成了三 个部分,包括一个高性能的p o w e r p cr i s c 嵌入式微处理器,一个系统接口单元 ( s r o ) ,以及一个特别适用于通信和网络系统的通信处理器 4 1 。 m p c 8 5 4 0 处理器首次采用e 5 0 0 内核和r a p i di o 接口技术,其他组成如下: 一集成2 个i e e e8 0 2 31 0 1 0 0 1 0 0 0 m 以太网控制器,支持大的数据帧以 及l a y e r2 的加速功能;具有1 个1 0 1 0 0 m 以太网控制器。 1 个6 4 - b i tp c i x 控制器,最高可达1 3 3 m h z 。 。 1 个d d r 3 3 3 内存控制器。 1 个4 通道d m a 控制器。 1 个多通道中断控制器和一个d u a r t 串行接口。 _ 集成e 5 0 0 核,片上2 5 6 kl 2c a c h e ,具有o c e a n ( o n - c h i pn e t w o r k ) ,即当 今具有革命性的无调度式交换结构,可提供每个端口交叉可组合的独立 传输队列和最大带宽为2 2 g b p s 的流控。 内部集成6 4 位s p e 引擎。 p o w e r q u i c c 结构处理器具有卓越的高集成度和高性能表现,具有如快速以 太网、a t m ( 异步传输模式) 、h d l c ( 高阶数据链路) 和t d m ( 时分复用) 等 综合网络协议,满足设计者多种连接需求。m p c 8 5 4 0 所代表的p q 3 将 p o w e r q u i c c 结构的上述优点发挥的更加淋漓尽致。 m p c 8 5 4 0 的内部机构如下图所示: 5 北京邮电大学硕士学位论文 图2 - 1m p c 8 5 4 0 模块架构图 如上图所示,m p c 8 5 4 0 内部f h - - 部分组成:中央处理器( s oc p t o 、系统接口 单元( s i u ) 、通信处理模块( c p m ) 。因此,m p c 8 5 4 0 能灵活支持以太网、r s 2 3 2 、 a t m 等接口。此外,m p c 8 5 4 0 通过j t a g 接口支持在线仿真调试功能。 为了满足高速系统内核和快速通信通道的带宽要求,m p c 8 5 4 0 有两个外部 总线。如上图所示,m p c 8 5 4 0 有三个主要的功能模块: 中央处理器( c p u ) 即内核e 5 0 0 是主处理单元,它是一个r i s c 芯片,通 常开发编译后的程序指令都是由它执行。内核中包括3 2 k b y t 髂的数据c a c h e 和 3 2 k b y t e s 的指令c a c h e 。 系统接口单元( s i u ,s y s t e r mi n t e r f a c eu n i t ) 的主要功能是提供内外总线的 接口。 通信处理模块( c p m ,c o m m u n i c a t i o n sp r o c e s s o rm o d u l e ) ,它内部也集成了 一个r i s c 微处理器,对各种常用的通信模块进行管理。通信处理模块支持3 个 快速通信控制器( f c c ) ,2 个多通道控制器( m c c ) ,4 个串行通信控制器( s c c , s e r i a lc o m m u n i c a t i o nc o n t r o l l e r ) ,两个串行管理控制器( s m c ,s e r i a lm a n a g e m e n t c h a n n e l s ) ,1 个串行外围接口电路( s p i ,s e r i a lp e r i p h e r a li n t e r f a c e ) 和一个1 2 c 接口。两个处理单元之间的数据通常使用d m a 方式传送。由于c p m 分担了嵌 入式p o w e r p c 核的外围工作任务,这种双处理器体系结构极大的减轻了c p u 的 工作负荷,而且功耗也要低于传统体系结构的处理器。 系统核和c p m 有各自的内部p l l ,这样他们可以分别运行在不同的频率, 从而达到性能的最优化。系统核和c p m 都连接到6 0 x 总线。 6 北京邮电大学硕士学位论文 2 1 2v x w o r k s 介绍 v x w o r k s 操作系统是美国w i n d r i v e r 公司于1 9 8 3 年设计开发的一种嵌入式 实时操作系统( r t o s ) ,是嵌入式开发环境的关键组成部分。良好的持续发展 能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据 一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航 空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹 道制导、飞机导航等。在美国的f 1 6 、f a 1 8 战斗机、b 2 隐形轰炸机和爱国 者导弹上,甚至连1 9 9 7 年4 月在火星表面登陆的火星探测器上也使用到了 v x w o r k s 。v x w o r k s 有以下特点: 可靠性 操作系统的用户希望在一个工作稳定,可以信赖的环境中工作,所以操作系 统的可靠性是用户首先要考虑的问题。而稳定、可靠一直是v x w o r k s 的一个突 出优点。自从对中国的销售解禁以来,v x w o r k s 以其良好的可靠性在中国赢得 了越来越多的用户。 - 实时性 实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出 响应的能力。实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。 v x w o r k s 的实时性做得非常好,其系统本身的开销很小,进程调度、进程 间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。v x w o r k s 提供的多任务机制中对任务的控制采用了优先级抢占( p r e e m p t i v ep r i o r i t y s c h e d u l i n g ) 和轮转调度( r o u n d r o b i ns c h e d u l i n g ) 机制,也充分保证了可靠的 实时性,使同样的硬件配置能满足更强的实时性要求,为应用的开发留下更大的 余地。 可裁减性 用户在使用操作系统时,并不是操作系统中的每一个部件都要用到。例如图 形显示、文件系统以及一些设备驱动在某些嵌入系统中往往并不使用。 v x w o r l ( s 由一个体积很小的内核及一些可以根据需要进行定制的系统模块 组成。v x w o r k s 内核最小为8 k b ,即便加上其它必要模块,所占用的空间也很 小,且不失其实时、多任务的系统特征。由于它的高度灵活性,用户可以很容易 地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要【5 】。 2 1 3b s p 概念 7 北京邮电大学硕士学位论文 b s p ( b o a r ds u p p o r tp a c k e t ) 是板级支持包,是介于主板硬件和操作系统之 间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使 之能够更好的运行于硬件主板。b s p 是相对于操作系统而言的,不同的操作系统 对应于不同定义形式的b s p ,例如v x w o r k s 的b s p 和l i n u x 的b s p 相对于某一 c p u 来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写b s p 一定要按照该系统b s p 的定义形式来写( b s p 的编程过程大多数是在某一个成 型的b s p 模板上进行修改) 。这样才能与上层o s 保持正确的接口,良好的支持 上层o s 6 。如下图所示: 图2 - 2b s p 体系结构 2 1 4v x w o r k sb s p 开发方法 w i n d r i v e r 公司提供大量的预制的支持许多商业主板及评估板的b s p 。同时 v x w o r k s 的开放式设计以及高度的可移植性使得用户在使用不同的目标板进行 开发时,所做的移植工作量非常小。到目前为止,w i n d r i v e r 公司能够提供超过 2 0 0 个的b s p ,当用户在为自己的目标板开发b s p 时,可以从w i n d r i v e r 公司的 标准b s p 中选一个最接近的来加以修改【丌。安装t o m a d o 开发环境,目标系统的 文件目录在t o r n a d o t a r g e t 下,对v x w o r k s 的配置主要是通过对该目录下相关文 件进行编辑与修改来完成的。在t a r g e t c o n f i g 目录下建立用户的b s p 目录。 北京邮电大学硕士学位论文 ( 1 )配置头文件 全局配置头文件c o n f i g a l l h ,该文件包含所有公用的配置参数默认定义,因 为可以在c o n f i g h 中重新定义,所以对于这个文件一般不作修改。 基本配置文件c o n f i g h ,该文件包括了默认引导参数、网卡参数、缓存和内 存地址等,是要进行修改的最关键的基本配置文件。 参数配置头文件b s p n a m e h ,该文件用于根据具体目标板设置系统资源如端 口地址、时钟、内部寄存器等。 ( 2 )配置模块文件 用户定义的系统配置库u s e r c o n f i g c ,用户可在此定义系统配置模块源程序, 包括根任务、基本的系统初始化、网络初始化、时钟中断程序等。 r o m 初始化模块b o o t l n i t c ,它的功能是根据引导方式,将r o m 中的程序 拷贝到r a m 中。 目标板系统依赖库s y s l i b c ,它是b s p 初始化的核心代码。在这里要复位所 有的硬件,使其处于初始化状态。它的功能大致包括:初始化功能、存储器地 址映射功能、总线中断功能、时钟计时器功能等。 目标板上串行口的初始化程序s y s s e r i a l c ,包括一些串口的参数定义、串口 的基本初始化函数、串口中断初始化函数。 用户需要根据自己目标板的具体情况,参考手册进行必要的修改。 ( 3 )生成镜像 修改好配置文件后,最后要修改m a k e f i l e 文件,确保m a k e f i l e 文件中的定 义和配置文件中的定义一致。然后打开t o r n a d o ,选择新建一个b o o t a b l ev x w o r k s i m a g e ,选择建ab s p ,选择g n u 编译器,建完后编译就可以在相应目录下生成 v x w o r k s 的镜像文件。 2 2 移植方案及问题分析 2 2 1 选取参考b s p 前面介绍了在开发b s p 时可以从w i n d r i v e r 公司的标准b s p 中选一个最接 近的来加以修改,在w i n d r i v e r 提供的标准b s p 中提供了针对m p c 8 2 6 0 的b s p , 这是和m p c 8 5 4 0 比较接近的一款c p u 。下面是关于m p c 8 2 6 0 处理器的简单介 绍【8 】: 双处理器内核,一个嵌入式p o w e r p c6 0 3 e 内核和一个通信处理模块 ( c p m ) ,16 ki - c a c h e ,16 kd c a c h e 9 北京邮电大学硕士学位论文 一双地址总线,3 2 位l o c a lb u s 和6 4 位6 0 xb u s ( 6 4 位地址总线、3 2 根地 址线) ,总线时钟最大支持1 0 0 m h z 一6 4 k 内部双端口r a m 6 4 位s d r a m 内存控制器 一3 2 位3 3 6 6m h zp c iv 2 2 ,支持主从模式 支持3 个f c c 接口( m i i 或r m i i 接口) 支持4 个s c c 接口 支持2 个s m c 接口 支持1 个u s b 接口( 共用s c c 4 ) 16 位u t o p i a 2 接口支持多个a d s l g s h d s lo rv d s lp h y 2 个m c c 接口,支持8 个t d m 接口,可连接t 1 e 1 或 s l i c c o d e c s ( m p c 8 2 7 0 为1 个m c c ,支持4 个t o m ) _ 2 5 6 个h d l c 控制器( m p c 8 2 7 0 为1 2 8 个h d l c 控制器) 其系统架构如下: 一纛蓑 + l 罐掰可辩一载嚣 掰i 翌缨鲤璧鲤懋曼壁璧熊受黝 卜+ 纛一 剿ll 霾与羹 鹾p 灞燃辔瞄戮戮戮嚣 。 一 j 缓尹。;i 秀攀警荔象鬻爹? ? 鬻囊藏j 蠢。蠢瞻雩鬟。囊搿渤溯敬曩涟i怒 + i ! ! ! i主l 圭 l i | i in k i ip n r t t 图2 - 3m p c 8 2 6 0 系统结构 嚣uiopia2p f l r 魄 2 2 2 问题分析 m p c 8 5 4 0 和m p c 8 2 6 0 处理器最主要的区别是内核不同,前者使用e 5 0 0 核, 而后者使用6 0 3 e 内核。其不同体现在以下几个方面: 首先是内存管理机制不同。6 0 3 e 内核的内存管理单元( m m u ) 使用b a t ( b l o c ka d d r e s st r a n s l a t i o n ) 机制;而e 5 0 0 内核的m m u 只使用了t l b 来实现, 1 0 北京邮电大学硕士学位论文 并需要m a s 机制来对表项加以管理。相对于6 0 3 e 内核,e 5 0 0 在m m u 寄存器 模式上的不同为以下几个方面: 一e 5 0 0 不支持下列3 2 位的m m u 相关的寄存器: 指令和数据的块地址转换寄存器( i b a b 和d b a r s ) ; 段寄存器( s r 0 s r l 5 ) e 5 0 0 定义了一个新的进程指示寄存器( p i d ) e 5 0 0 定义了下列新增的m m u 寄存器: 进程指示寄存器( p i d l p i d 2 ) ; m m u 控制和状态寄存器0 ( m m u c s r o ) ; m m u 配置寄存器( m m iy c f g ) ; t l b 配置寄存器( t l b n c f g ) ; m m u 辅助寄存器( m a s 0 m a s 6 ) 而且,和m m u 相关的中断也定义了相应的i v o r 寄存器。 其次是寄存器不完全相同。e 5 0 0 是比6 0 3 e 更强大的处理器,它含有一些自 己特有的寄存器用于帮助其实现某种功能,而这些寄存器可能在6 0 3 e 内核中不 存在。 因此在设计针对m p c 8 5 4 0 的b s p 时主要待解决的问题是: 要设计针对m p c 8 5 4 0 的m m u 管理,替代m p c 8 2 6 0b s p 中对m m u 的 处理; _ 要对e 5 0 0 内核特有的寄存器初始化; 如果没有设置好m m u ,那么系统初始化就不能顺利进行,更不用说应用软 件的开发了。因此,本文下面重点将放在关于m m u 的分析上。除了参考处理器 手册以外,u b o o t 的引导代码也可作为参考。作为一种通用引导程序,u b o o t 包含了针对各种开发板的引导程序,这些引导程序在进行硬件初始化的时候往往 包含对m m u 的处理。在u - b o o t 的最新版本中有针对p q 3 7 开发板的引导程序, 改开发板所使用的处理器就是m p c 8 5 4 0 ,其中包含对m m u 的设置,可以参考 这部分代码,适当修改,然后加入到m p c 8 2 6 0b s p 的引导代码中,使之适应 m p c 8 5 4 0 处理器。 具体要完成的工作为: 分析m p c 8 2 6 0b s p 中m m u 相关代码及处理过程; 分析u b o o t 中针对p q 3 7 开发板的引导程序,了解其对m m u 的处理; 设计针对m p c 8 5 4 0 的m m u 处理。 2 3 内存管理单元及实现 北京邮电大学硕士学位论文 这样的大块连续物理内存空间一般用于保存数据,例如映射到内存中的显示缓 冲区或者是巨型数组中的数据。 b a t 模式的缺点是颗粒度太粗,最小的内存块也必须是大于1 2 8 k 。 2 3 2v x w o r k s 中针对p o w e r p c 的m m u 实现 v x w o r k s 提供两级虚内存支持:与v x w o r k s 捆绑在一起的基本级和需要可 选产品v x v m i 的完全级【9 1 。 ( 1 )指令和数据m m u p o w c r p cm m u 允许指令和数据m m u 被分别运许或禁止。在 s e l e c tm m u 下的属性窗口的参数表中的参数u s e rim m ue n a b l e 和 u s e rdm m ue n a b l e 缺省是被允许的。为了禁止一个或两个m m u ,可以 选择相应的参数,将其值设为f a l s e 。 虚拟和现实的一致性要求: 除了b o o ke 处理器以外,其他的p o w c r p c 处理器在遇到中断和异常的时候 会临时禁止m m u 。在某些处理器家族的特殊寄存器发生变化,c a c h e 更新或者 页表更新的时候,v x w o r k s 也会临时禁止m m u 。v x w o r k s 保存原来的m m u 允 许状态,然后尽可能快地恢复到这个状态,以保持内存的一致性。所以v x w o r k s 要求在映射异常向量、中断处理程序、某些更新代码和任务堆栈的时候,要保证 虚地址和实地址是一样的。 m m u 转换模式: 整个物理内存的地址空间由数据结构s y s p h y s m e m d e s c 描述,该数据结构 定义在s y s l i b c 中。这个数据结构由每一页或每一组页的配置常量组成。常量 v ms t a t ec a c h e a b l e 将c a c h e 设置为 c o p y - b a c k 模式。 除 v ms t a t ec a c h e a b l e 之外,还支持如下常量: 一v m s t a t e c a c h e a b l e w r i t e t h r o u g h v m s t a t e c a c h e a b l e n o t v m s t a t e w r i t e a b l e _ v m s t a t e w r i t e a b l e n o t v m s t a t e m e m c o h e r e n c y v m s t a t e m e m c o h e r e n c 删o t v m s t a t e g u a r d e d v ms t a t eg u a r d e dn o t 北京邮电大学硕士学位论文 第一个常量设置页描述符c a c h e 模式域为可c a c h e 的w r i t e t h r o u g h 模式。第 二个常量设置为不可c a c h e 模式。接下来六个常量分别为设置c a c h e 的可写性、 一致性和保护模式。不存在默认的配置,因为每一个内存区域都有不同的要求。 ( 2 ) p o w e r p c6 0 x 内存映射 p o w e rp c6 0 3 的m m u 支持两种模式的内存映射。第一种是块地址转换 ( b a t ) 模式,它允许将大小从1 2 8 k b 到2 5 6 m b 的内存块映射进一个b a t 寄 存器。第二种是段模式,它可以将内存映射为4 k b 的页。t o r n a d o 支持这两种内 存模式。 p o w e r p c6 0 3 的块地址转换模式: 块地址转换( b a t ) 模式优先于段模式。但是v x w o r k s 的v m l i b 库不支持 b a t 模式,因此,在由b a t 寄存器映射的内存空间中,这些库中的函数不起作 用,也不会报告错误。在v x w o r k s 中,b a t 被典型地用于映射大的外部空间, 或者是p r o m ,f l a s h ,因为那些地方不需要精确的粒度控制。这有利于减少段模 式使用的p t e 表的大小。 所有的p p c6 0 3 家族都包括八个b a t 寄存器:四个用于指令m m 【r ,四个 用于数据l v i m u 。b a t 寄存器总是激活的,所以在引导阶段必须初始化它们。一 个典型的做法是在r o m l n i t o 函数中将所有的b a t 寄存器初始化为0 ,使得它们 不能进行地址转换。在s y s l i b c 中定义的数据结构s y s b a t d e s c 用于处理b a t 寄 存器的配置。对于p o w e r p c6 0 3 ,用于填充数组s y s b a t d e s c 的所有配置常量在 t o m a d o 安装目录下的t a r g e t h a r c h p p c n u n u 6 0 3 l i b h 中被定义。 b a t 初始化函数声明为以下形式: v o i dm y b a t i n i t f u n c ( h a t 宰& s y s b a t d e s c o ) 这个函数读s y s b a t d e s c 的数据,初始化b a t 寄存器,然后可能完成一些其 他的设置。最后,这个b a t 初始化函数必须连接到m m u 初始化钩子一 _ p s y s b a t l n i t f u n c 上。 p o w e r p c6 0 3 的段模式: 段模式允许将内存映射到4 k b 的页面。这种模式指定每一内存页的配置, 即每个映射的属性都定义在一个单独的页面描述符中,包括写直达还是回写,是 否允许缓冲,是否可执行,以及写的权限等。 页表大小取决于要映射的内存大小。要映射的内存越大,页表也越大。m m u 库初始化期间,要计算出映射的内存的总大小。 2 3 3m p 0 8 5 4 0 的内存管理单元 m p c 8 5 4 0 的e 5 0 0 内核的内存管理单元实现了一个两级的体系结构。有两个 1 4 北京邮电大学硕士学位论文 分开的一级( l 1 ) 指令内存管理单元和数据内存管理单元对应一个唯一的二级 ( l 2 ) 内存管理单元。如图 图2 - 4m p c 8 5 4 0 的0 5 0 0 内核的内存管理 m m u 一级映射有如下特点: _ 两个4 入口、全相联的t l b ,支持所有9 种页面大小; _ 两个6 4 入口、4 路集相联的t l b ,只支持4 k 字节的页面大i x i _ 硬件由二级m m u 部分管理; 支持内部和外部的t l b i v a x 指令探测。 m m u 二级映射有如下特点: 一个1 6 入1 :i 、全相联的l 2t l b ( t l b l ) ,支持所有9 种页面大小; 一个2 5 6 入口、两路集相联的t l b ( t l b 0 ) ,只支持4 k 字节的页面大小; 一硬件辅助处理t l b 未命中的情况; _ 可由t l b r e , t l b w e ,t l b s x ,t l b s y n e ,t l b i v a x ,a n dm t s p r 等指令管理; 一支持内部和外部的t l b i v a x 指令探测。 对于e 5 0 0 内核来说,m m u 总是打开的,但是只使用了一对一的地址映射。 1 5 北京邮电大学硕士学位论文 重启后只有最后4 k b 的有效地址空问被映射到m m ul 2t l b le n t r y 0 处。b o o t p g 段位于这4 k b 页内,基本上做三件事:清除一些特殊寄存器( s p r ) ;设置异常 向量表;增加更多的t l b 入口【1 0 1 。 2 4v x w o r k sb s p 引导过程 要进行b s p 开发,首先要了解b s p 的引导过程。这个过程大致如下【l l 】: ( 1 ) 执行r o m i n i t 0 系统启动的时候,处理器首先执行r o m i n i t s 中的r o m i n i t 0 入口点。该函数的 目的是初始化c p u 和一部分内存。它只进行必须的最小量的初始化,也就是只 初始化至关重要的硬件。如果这部分工作正常的话,那么从 l o c a lm e ml o c a la d r s到 ( l o c a lm e ml o c a la d r s + l 0 c a lm e ms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业电子产品购销合同
- 2025聘用合同书(参考文本适用于返聘人员)
- 2025酒店股权转让合同范本
- 浙江省宁波市镇海中学浙教版高中信息技术教学设计:Photoshop制作贺卡
- 第8课 体验活字印刷说课稿-2023-2024学年小学劳动六年级下册川民版《劳动教育》
- 甘肃公考真题2025
- 财务报表的格式设置与公式定义说课稿-2025-2026学年中职专业课-会计信息化-财经类-财经商贸大类
- 淄博事业单位笔试真题2025
- 五指山事业单位笔试真题2025
- 阿克苏事业单位笔试真题2025
- 浴室工程施工组织设计方案
- 2024年秋九年级化学上册 第3单元 物质构成的奥秘 课题3 元素 第1课时 物质是由元素组成的说课稿 (新版)新人教版
- 微商基础培训课件
- ISO9001:2024版质量手册资料
- 2023-2024年社会工作者之初级社会综合能力考试题库
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 民族宗教团日活动
- 新娘化妆相关知识考核试题及答案
- 食品生产监管能力大比武理论考试题及答案
- 二年级家长会课件下载
- 《PLC应用技术(西门子S7-1200)第二版》全套教学课件
评论
0/150
提交评论