已阅读5页,还剩52页未读, 继续免费阅读
(通信与信息系统专业论文)基于mpc8250的嵌入式系统编程.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 在卫星通信终端室内单元项目中,所采用的是m p c 8 2 5 0 与u 加x 2 6 x 内核作 为基本软硬件平台的嵌入式系统。在硬件选择上,m p c 8 2 5 0 所采用的硬件现场保 护机制,其中断响应时间与u n u x 2 6 x 内核相关性小,具有较高的实时性。与些同 时,m p c 8 2 5 0 内嵌的通信处理模块加上“删x 固有的网络处理功能使得整个系统 数据传输能力得到了很好的发挥。最后,m p c 8 2 5 0 所提供的p c i 的d m a 模式传 输使得m p c 8 2 5 0 与f p g a 之间的数据传输速率得到很好的提高。 在软件选择上,本项目所采用的是u - b o o t 、i 血u x 2 6 x 、j f f 7 s 2 。其中u b o o t 作为其引导程序,负责一些基本硬件的配制和内核的引导。l 抽u x 2 6 x 做为系统内 核,负责本系统管理和资源分配,储如:驱动、内存分配、进程管理、中断管理 等,都在内核里面。j f f s 2 是一种小型文件系统,即最终我们的操作是在文件系统 下的,再由文件系统转换到内核进行实质操作。 本文从卫星通信终端室内单元项目中所从事的工作出发,针对开发板死机这 一问题,分析其发生的原因,引导出对中断及其处理程序的分析,而后从操作系 统层面分析其引起问题的原因,并为m p c 8 2 5 0 与f p g a 之间的连接的p a 总线, 开发驱动程序,实现m p c 8 2 5 0 与f p g a 之间的d m a 商速数据传输。最后以总体 构架形式描述了u n 慨内核,并概述了【i n l l 】【2 6 x 在m p ( 强2 5 0 上的移植过程。 关键词:m p c s 2 5 0 嵌入式系统中断p a a b s t r a c t w ec b o o s em p ( 强2 5 0a n du 肌xv e r 2 6 xk 咖e la sb a s eh a 瑚a r ea n ds d 】:研a r e p l a 怕加i nt h e 髓t e l l i t ec 0 咖u n i c a 虹伽t e l = m m a li i l d o o rl | n i tp f 9 j e c t 缸t h e 时o f h a r d w 黜c h 0 0 s i n g , l h eh a r d w a r e n 眈t 刚i t c l lm c c h a n i 蛐a d o p t c db ym p c 8 2 5 0 m a k e si n t e r n l p tr e s p o n d i n gt i i n co fm p c 8 2 5 0h a v el e 蟠r c l a t i 伽w i m0 p e r a t j 伽s y s t 啪, m c r c a l t i m e c h a r a c t e ro f t h es y s t 锄i s 玎d w o 培e m 姐v x w o 岫啪砒i s m o f c ,t h e e m b e d d e d m m u n i c a t i o n 畔鹦m o d u l ea n dt h e 撕n e 呐o r kf i l n c t i o no f 【血u x m a l 【et h es y s t e mp r o v i d cas t e a d yp e r f o 衄a n c c 鹤t h en o d eo fl a n a tl 髂t ,t h ed m a m o d cu s e db yp c im a k e st h ed a t at m 璐锄s 坼t 、e t h em p c 8 2 5 0 卸dt h cf p g as p e e d u p ht h ew a yo fs o 脚a r ec h 0 0 s i n g ,u b o o t 【i n u x 2 6 x 卸dj f f s 2a r e0 u rc h o i c e w ec h 0 0 u b 0 0 t 船o u rb 0 0 n o a d c r ,锄di td o 鼯s 锄ej o bs u c h 弱h a r d w a 蟛 i n i t i a l i z a t i o n 卸dl 血u xk 啪c l1 0 a d e f w ec h 0 0 s ei j n 慨2 6 x 勰0 l l rk e m e ls y s t e m w h i c hm 勰a g 龉伽rs y s t e m 卸d u r a l l o c a 的n ,s u c h 鹊d e v i c cd r i v c r , m e m o r y a u o c a t i o n ,p i o c c 璐m a n a g e m e n t , 觚di n t 删p tm a n 锄g c m 锄t , e t c t h ej f f s 2w h i c h w ec h 鹤伽r 丘l es y s t e m ,a l lo u ro p e r a t i sa r ep f o s s e d b yt h ef i l es y s t e m ,a l l i na l i ,t h e f i l es y s t c m w o f l 【s 鹤t h e c 0 衄e d i o nb c t w c 髓t h e u s c r 粕d t h ek e m e l 1 m sp a p c rb e g i n s w i t h t h ew 0 幢ih a v e d c i n t h e p 叫e c t , 0 p e m l i n ga g a 妇t h e p r o b l e mim e e t ,t h g od e e pi n c ot h ep r d b l 锄,舀v i n gt h es o l u t i o nb o t hj ns o f t w a 锄d 叩e m t i o ns y s t e m w h a t sm o 犯, w i t ht h ed c s c f i p t i 0 ft h ep c iw h i c hi su s e dt 0 o 翻m c c t t h e c 8 2 5 0 柚dm e f p g a ,is h o w y o u a m e t h o d t o w r i t e d r i v e r a t l 鹤t ,i d e s c r i b et h ec o n f i g l l m t i 叫o fn n 慨k e m e l ,粕dt h e a n s p l a mo fi j n l l 】【2 6 xt 0m a l 【e o u rs y s t 哪w o r kw e u k e y w o r d :m p c 8 2 5 0e m b e d d e ds y s t e mi n t e m i p tp c i 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:盔遂 导师签名: 日期型2 主。f ! 日期2 凶2 。i 。; 第一章绪论 第一章绪论 本章将引入嵌入式系统和嵌入式操作系统的概念、l i n u x 的发展历史,其与其 他系统的区别、l i n u x 的内核模块和嵌入式l i n u x 特点优势。并综合l i 加x 特点和项 目要求,给出卫星通信项目组选择l i n 弧做为开发板操作系统的原目,在本章的最 后给出本文内容安排。 1 1l i n u x 介绍 简单地说,“n 1 1 ) 【是u n i x 克隆( u n i 】【d o n e ) 或u n i x 风格( u n i ) 【a l 汝c ) 的操作系统 ( 0 s ) ,在源代码级上兼容绝大部分u n i x 标准( 指的是髓ep o s ,s ”t e mv ,b s d ) , 是一个支持多用户、多进程、多线程、实时性较好的功能强大而稳定的操作系统。 它可以运行在x 8 6p c 、s u ns p a r c d i 舀t a la l p h a 、6 8 0 】【0 、p 0 w e r p c 、m 口s 等平台 上,可以说u n 弧是目前运行硬件平台最多的操作系统。【j n i l x 最大的特点在于它是 国哪的一员,遵循公共版权许可证p l ) ,秉承”自由的思想,开放的源码”的原则, 成千上万的专家、爱好者通过i i l t 锄c t 在不断地完善并维护它,可以说l i n l l x 是计算 机爱好者自己的操作系统。 追溯l j n u x 的历史要到1 9 9 0 年,当时l 抽l l st 0 柙a l d s 还是芬兰赫尔辛基大学的一 名学生,最初是用汇编语言写了一个在8 0 3 8 6 保护模式下处理多任务切换的程序, 后来从m i n i x 汹d y l 钿e n b 撇教授所写的很小的u n i x 操作系统,主要用于操作系统 教学1 得到灵感,进一步产生了自认为狂妄的想法一写一个比m i n i 】【更好的m i n i 】【, 于是开始写了一些硬件的设备驱动程序,一个小的文件系统,这样o o 1 版本的l j n 峨 就出来了,但是它只具有操作系统内核的勉强的雏形,甚至不能运行,你必须在 有m i n i x 的机器上编译以后才能运行。l i n u s 在1 9 9 1 年1 0 月5 号发布i j 加x 0 o 2 版本, 在这个版本中已经可以运行b 鹤h ( i h eg n ub 0 u m ca g a i ns h c h ,一种用户与操作系 统内核通讯的软件) 和醐n uc 编译器) 。u n u s 自由扩散u 如x ,包括源代码。 随即l j n u x 引起黑客们的注意,通过计算机网络加入了【j n l l 】【的内核开发,i j n u x 倾向于成为一个黑客的系统。直至今天,在u n 慨社区里内核的开发被认为是真正 的编程。由于一批高水平黑客的加入,使n n u x 发展迅猛,到1 9 9 3 年底9 4 年初, i j n u x l 0 终于诞生了! u n u x l 0 已经是一个功能完备的操作系统,而且内核写得紧 凑高效,可以充分发挥硬件的性能,在4 m 内存的8 0 3 8 6 机器上也表现得非常好, 至今人们还在津津乐道于此,虽然自从2 1 x 系列的内核u n 慨开始走高端的路 子一一硬件迅速发展的要求,但是u n u x 不会失去它的本色。【i n u x 具有良好的兼 容性和可移植性,在1 3 版本之后,开始向其他硬件平台上移植,包括当时号称最 2基于m p c 8 2 5 0 的嵌入式系统编程 快的c p u d i 百t a l p h a 在n u x 加入g n u 并遵循公共版权许可证( g p l ) 后,大大加强了g n u 和u n 峨, 几乎所有应用的g n u 库和软件都移植到n 舢x ,完善并提高了l i n u x 的实用性,而 g n u 有了一个根基,u n u x 在遵循公共版权许可证,在继承自由软件的精神的前提 下,不排斥对自由软件的商业行为,不排斥商家对自由软件进一步开发,不排斥 在u n 溉上开发商业软件。从此u n u x 又开始了一次飞跃,出现很多的u 仰x 发行版, 如s l a c l 洲a r e ,r e 曲a t ,s u s e ,u 舢x ,0 p e n u n u x 等十多种,而且还在增加, 硼x 主要指操作系统内核,对所有发行版内核源代码都是一样的( 但集成的内核版 本可能因发行时间不同而有所不同1 。 i j 删x 是爱好者们通过m t e m e t 协同开发出来的,它的网络功能十分强大,比如 可以通过卸,n f s 等来安装l j n 慨,用它来做网关等等。随着l - m u x 的发展衍生出来 的应用恐怕出乎l i n u s 本人最初的预料,如有人用它来做路由器,有人来做嵌入式 系统,有人来做实时性系统,常有新手问u n u x 能做什么,其实它不像那些中看不 中用的操作系统,不在于你用它能干什么,而在于你想干什么! u 加x 的兴起还给人们很多启迪与思考,如集市式软件开发的讨论,又如自由 软件的精神。 1 2l i n u x 内核的功能模块 l j n u x 内核由5 个主要的模块构成: 进程调度模块负责控制进程访问c p u 。调度程序所使用的策略可以保证进 程能够公平地访问c p u ,同时保证内核可以准时执行一些必需的硬件操作。 内存管理模块使多个进程可以安全地共享机器的主存系统。此外,内存管理 程序支持虚拟内存。虚拟内存使得【j n 慨可以支持进程使用超过系统中的内存 数量的内存。暂时用不着的存储信息可以交换出内存,存放到使用文件系统的 永久性存储器上,然后在需要它们的时候再交换回来。 虚拟文件系统( v f s ) 通过提供一个所有设备的公共文件接口,v f s 抽象了不 同硬件设备的细节。此外,v f s 支持与其他操作系统兼容的不同的文件系统格 式。 网络功能模块提供了对许多网络标准和网络硬件的访问。 进程间通信模块为u n 慨系统中的进程间通信提供了一些机制。 模块的相互依赖关系如图1 2 所示 第一章绪论3 图1 2u x 内核模块间关系 其中箭头指向者为该模块所依赖模块。 1 3l i n u x 与其他操作系统的区别 u n l l 】【可以与m s d o s 、o s 2 、w 铀d o w s 等其他操作系统共存于同一台机器上。 它们均为操作系统,具有一些共性,但是互相之间各有特色,有所区掰。 【血u x 与m s d o s 之间的区别。 在同一系统上运行工j n u x 和m s d o s 已很普遍,就发挥处理器功能来说, m s d 0 s 没有完全实现x 8 6 处理器的功能,而h n l l 】【完全在处理器保护模式下运行, 并且开发了处理器的所有特性。l j n u x 可以直接访问计算机内的所有可用内存,提 供完整的u n i x 接口,而m s d o s 只支持部分u n i x 的接口。 就使用费用而言,u n u x 和m s d 0 s 是两种完全不同的实体。与其他商业操作 系统相比,m s d o s 价格比较便宜,而且在p c 机用户中有很大的占有率,任何其 他p c 机操作系统都很难达到m s d 0 s 的普及程度,因为其他操作系统的费用对大 多数p c 机用户来说都是一个不小的负担。i j n u x 是免费的,用户可以从i n t 啪e t 上或 者其他途径获得它的版本,而且可以任意使用,不用考虑费用问题。 就操作系统的功能来说,m s d o s 是单任务的操作系统,一旦用户运行了一个 m s d o s 的应用程序,它就独占了系统的资源,用户不可能再同时运行其他应用程 序。而u n 慨是多任务的操作系统,用户可以同时运行多个应用程序。 i j n u x 与0 s ,2 、w i n d o w s 、w 铀d o w sn t 之间的区别。 从发展的背景看,u n u x 与其他操作系统的区别是,l m u x 是从一个比较成熟的 操作系统发展而来的,而其他操作系统,如w i n d o w sn t 等,都是自成体系,无对 应的相依托的操作系统。这一区别使得u n u x 的用户能大大地从u n i x 团体贡献中获 利。因为u n i 】【是世界上使用最普遍、发展最成熟的操作系统之一,它是七十年代 中期发展起来的微机和巨型机的多任务系统,虽然有时接口比较混乱,并缺少相 4基于m p c 8 2 5 0 的嵌入式系统编程 对集中的标准,但还是发展壮大成为了最广泛使用的操作系统之一。无论是u n i 】【 的作者还是u n i x 的用户,都认为只有u n i x 才是一个真正的操作系统,许多计算机 系统( 从个人计算机到超级计算机) 都存在u 1 1 i 】版本,u n i x 的用户可以从很多方 面得到支持和帮助。因此,n u x 作为u n i x 的一个克隆,同样会得到相应的支持和 帮助,直接拥有u n i x 在用户中建立的牢固的地位。 从使用费用上看,i 血u x 与其他操作系统的区别在于u 肌x 是一种开放、免费的 操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们 能够不用花钱就能得到很多l 血峨的版本以及为其开发的应用软件。当我们访问 k t e m e t 时,会发现几乎所有可用的自由软件都能够运行在n 胍系统上。有来自很 多软件商的多种u n i x 实现,u n i x 的开发、发展商以开放系统的方式推动其标准化, 但却没有一个公司来控制这种设计。因此,任何一个软件商( 或开拓者) 都能在 某种u n i x 实现中实现这些标准。0 妣和w i n d o 粥n r 等操作系统是具有版权的产品, 其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是 在封闭的环境下发展的。 1 4l i n u x 作为嵌入式开发的优势 开发成本低。大多数商业操作系统都价格昂贵。相对而言,u n 畎一个免费的 且性能优秀的操作系统,公开源代码,使不同领域和不同层次的用户可以根据 自己的应用需要很容易的对内核进行改造,在低成本的前提下,设计和开发出 真正满足自己需要的嵌入式系统。 高度稳定性。和目前流行的桌面操作系统相比,叭x 是非常稳定和可靠的, 并且由于内核的稳定使得u n 呱在移植到特定平台后与通用平台具有一样的高 稳定性。 移植容易。n n 呱是一个多平台的操作系统,可以运行于x 8 6 ,a r m ,p 0 、c r p c , m 口s 等多种处理器之上,这一点对嵌入式应用尤为重要。据统计一个设计优 良的嵌入式系统移植到另一个平台只需要改动4 的代码。 强大的网络功能。l 血u x 天生就是一个网络操作系统。几乎所有的网络协议和 网络接口都己经订制在【i n 嗽中。n u x 内核在处理网络协议方面比标准的 u n 】更具执行效率,具有更高的吞吐量。 完整的开发工具链。u 肌x 提供c ,c + + ,j a v a 以及其它很多的开发工具。 n n 溉基于g n u 的工具包提供了完整的、无缝的交叉平台开发工具,从编辑 器到底层调试,并充分考虑了支持各种不同体系结构的平台。正是由于u 舢x 具有上述的诸多优势,使得它近几年在嵌入式应用领域发展迅速。但l j n u x 实 时性的不足也是它应用于嵌入式实时领域的一个重要障碍。嵌入式实时l j n i l 】【 第一章绪论 5 的开发和研究成为目前操作系统领域的一个热点。 全面的技术支持。对于实际开发过程来说,完善的文档和及时的技术支持是解 决实际问题、提高开发效率所必不可少的。由于u 蛐x 的开源特性和各方面的 优异表现,越来越多的程序员深入其中,开发过程中遇到的任何问题,均可通 过i n t e m e t 得到及时解答。 1 5 本文安排 r e w 玳一p p c 8 2 5 0 选择嵌入式u n u x 作为操作系统,在很大程度上出于成本的 考虑,但不可忽视嵌入式u n 呱其他强大的功能,譬如内存管理,任务调度和网络 功能。同时使用m p c 8 2 5 0 的嵌入式“n u x 在实时性上也并不逊色于其他任何 r 1 ;o s ,实际使用中,r e w 烈p p c 8 2 5 0 的中断响应时间只需要4 到8 m s 。从学习 和研究的角度,【j n 恹的源码是非常优秀的操作系统教材,并且可以随时获得热心 的开源社区支持:如果拥有强大的技术支持,嵌入式u n 怄的开发速度和性能也速 度将不是限制嵌入式系统开发的瓶颈。本文将以i 匝w 小p p c 8 2 5 0 的开发过程为线 索主要研究如下内容: r l ;w 玳p p c 8 2 5 0 的硬件环境和软件开发环境( 第二章) m p c 8 2 5 0 的中断程序的设计( 第三章) i j n u x 的进程管理分析( 第四章) d m a 形式的p c i 设备驱动程序开发( 第五章) 嵌入式u n u x 在m p c 8 2 5 0 上的移植( 第六章) 第二章r e w 玳一p p c 8 2 5 0 的硬件环境和软件开始环境7 第二章r e w ln p p c 8 2 5 0 的硬件环境和软件开发环境 本章将重点讲述项目中所采用的r e w 矾一p p c 8 2 5 0 的硬件结构、m p c 8 2 5 0 的 主要特点和各模块的功能,m p c 8 2 5 0 的功能模块和内存映射以及交叉编译环境, 嵌入式软件开发工作环境的具体搭建方法以及常见问题的解决方法 2 1r e w i n - p p c 8 2 5 0 的硬件结构 r e w 玳一p p c 8 2 5 0 的嵌入式开发目标板的结构框图如图2 1 所示。 圉2 1 砌黼p p c 8 2 5 0 的结构框图 嵌入式硬件平台具体包括:1 0 1 0 0 m k 网络适配器、m p c 8 2 5 0 处理器、r s 2 3 2 适配器、f 1 鹊h 、s d r a m 、m o d c mb l o c k ( f p g a ) 、d ,a 、a d 、射频前端以及高 频接收端等。m p c 8 2 5 0 通过f ( 坂f 弱tc o m m u n i c a t ec h 锄e 1 ) 和以太网卡相连接收 和发送从局域网来的用户信息。通过s m c ( s e r i a lm 孤a g e m e n tc c m t r o l l e r ) 和r s 2 3 2 串口相连,用于调试。1 6 m 的f i a s h 和1 6 m 的s d r a m 都通过6 0 【b u s 和m p c 8 2 5 0 连接。c p u 和f p g a 的连接包括三条通道:s p i 用于加载f p g a 的配置文件, p c m o c a lb 璐配置成p c i 模式) 用于c p u 和f p g a 之间传送数据,此外还非常重要 的一组中断信号用于f p g a 给c p u 报告事件。这种连接特点,将对目标板的软件 设计产生重大的影响,在某种程度上,处理数据传输的底层软件将都是基于中断 设计的。f p c 渔有一个8 m 的s d r a m ,用于存放需要处理的数据。此外有心c 总 线和射频前端和接收端相连,控制频率综合器等【1 】。 对于整体硬件而言,数据的发送过程为:用户p c 机的数据通过1 0 1 0 0 m 以太 网接口送到m p c 8 2 5 0 中,m p c 8 2 5 0 通过p c i 总线把用户数据送到f p g a 的s d r a m 中,由f p g a 做编码调制等处理,然后经过d a 转化,再送到射频模块中做上变 8 基于m p c 8 2 5 0 的嵌入式系统编程 频调制,最后送到户外设备中发射。数据的接收过程为:户外设备接收到信号之 后,送到高频接收端,经过下变频处理之后送到f p g a 做数字解调和解码,然后 通过凹u 的以太网网口送到用户p c 机。 表2 1 列出了r e w 矾p p c 8 2 5 0 的基本硬件配置信息。 表2 1r e w 矾p p c 8 2 5 0 硬件配置信息 分类项目描述 晶振频率3 3 m h z 主频 1 9 9 m h z 倍频6 倍频 c p u 内部存储器映射寄存器i m m r 基址 0 x f 0 0 0 0 0 0 0 串行口s m c l 串行口波特率 1 1 5 2 0 0 b p s 总线频率3 3 m m s d r a m 型号k 4 s 6 4 3 2 3 2 f - 1 i 加 容量大小1 6 m b s d r a m s d r a m 地址范围 o x o 0 0 0 0 0 0 0j 0 x 0 1 0 0 0 0 0 0 s d r a l 芯片片选信号 c s l 群 f 1 鹪h 具体型号 m t e le 2 8 f 1 2 8 j 3 a 1 2 0 n a s h 容量大小1 6 m b n 弱hf 1 弱h 地址范围0 】【f 】舶0 0 0 0 0 0 x f i 下同册 片选信号 c s o 舻 2 2m p c 8 2 5 0 概述 m p c 8 2 5 0 是m o t o r o l a 公司在m p c 8 6 0 基础之上推出的m p c 8 2 蕊系列微处理 器中的一种,它是目前比较先进的集成通信微处理器。高速的嵌入式p o w e r p c 内 核,连同集成的网络和通信外围设备,为用户提供了一个建立高端通信系统的全 新解决方案。m p c 8 2 5 0 保留了m p c 8 6 0 的嵌入式p o w e r p c 内核和通信处理模块 c p m 并存的体系结构,同时进一步提高了工作频率、集成了更多的外围器件和总 线接口。其中,m p c 8 2 5 0 没有集成在数据通信设备中不常使用、而且较为昂贵的 删处理模块,进一步降低了成本。其基本功能模块如图2 2 所示: 第二章r e w 琳p p c 8 2 5 0 的硬件环境和软件开始环境 9 图2 2m p c 8 2 5 0 基本功能模块 m p c 8 2 5 0 的内部结构基于p o w r e r q u i c c 结构,主要由嵌入式p a w e r p c 6 0 3 e 内核、系统接口单元s i u 和通信处理模块c p m 构成。m p c 8 2 5 0 支持6 0 】【总线, 其数据线为6 4 位,地址线为3 2 位;支持p 伽a l 总线,其数据线为3 2 位, 地址线为3 2 位。内核工作频率最高为3 0 0 m h z ,c p m 工作频率最高为2 0 0 m h z 。 以下将分模块讲述m p c 8 2 5 0 的特点。 2 2 1p o w e r p c6 0 3 e 内核 p o w e r p c 6 0 3 e 内核完成中央处理器的功能,执行高层程序。它与s i u 和c p m 通过独立的指令c a c h e 和数据c a c h e 来进行通信,通过m m u 对存储器进行管理。 p a w e r p c 6 0 3 e 内核包括1 6 k b 的指令缓存、1 6 k b 的数据缓存以及命令和数据 m m u 。6 0 3 e 在1 0 0 m h z 时可以达到1 4 0 m 口s ( 兆指令每秒) ,在2 0 0 m h z 时可以达 到2 8 0 m 口s 【z j 。 其主要特点有: e c 6 0 3 e 微处理器内核( 嵌入式p o w e r p c 内核) ,运行频率为1 0 0 旬0 0 m h z 。 高性能超标量体系结构微处理器。 支持m o t o r o l a 的l 2 缓存芯片( m p c 2 6 0 5 1 。 改良的低功耗内核。 1 6 k b 数据和1 6 k b 指令缓存。 支持存储管理单元m m u 。 通用片内处理器( c 0 p ) 。 基于m p c 8 2 5 0 的嵌入式系统编程 内核6 0 3 e 各部分功能如下: s e q u e n t i a lf e t c h e r 一从指令c a d l e 中取指令到指令队列。 分支处理单元一从f b t c l l c r 中提取分支指令并在未解决的条件分支上使用 静态分支预测,以便在估计一个条件分支时,指令单元可以从一个被预测 的目标指令流取指令。 指令队列一保留最多6 条指令,并在一个单元周期内从指令单元加载最多 2 条指令。 d i s p a t c h 一以每周期两个指令的最大速度分配指令到它们各自的执行单 元。 数据单元一执行所有整数指令。 加载,存储单元一执行所有加载存储指令并在g p r 和c a c h c 内存子系统问 提供数据传输接口。 系统寄存器单元一执行各类寄存器级指令,包括条件寄存器的逻辑操作和 移入移出专用的寄存器指令。 完成单元一从分派开始跟踪指令。 2 2 2c p m 模块的功能和特点 c p m 模块是高性能的通信处理器( c 0 衄蚰i c a t i o 璐p l = o c e s s o r ) 模块,其中包括 一个3 2 位的r i s c 微控制器( 可以认为是除p o w e r p c 内核外的另一个c p 忉,运行 频率可以设置在1 0 0 2 0 0 m h z 之间。它可与p o w e r p c 内核并行工作,处理通信控 制中的底层任务,p o w e r p c 内核则主要进行高层操作。这种双处理器体系结构功 耗要低于传统体系结构的处理器。2 个处理器之间通过内部存储空间进行数据交 互。 c p m 内部还包括d m a 通道、用于内部交换数据的3 2 k b 双口r a m 、中断控 制器、波特率发生器、计数器等。另外,c p m 还集成了4 个时分复用t d m 接口、 3 个媒体无关接口m 和非时分复用串行接口n m s i 三种物理层接口,它们之间的 选择由串行接口s i 模块控制。 c p m 最主要的功能模块是它所集成的大量可同时使用的通信控制单元,包括: 1 个多通道通信控制器m c c ,3 个快速通信控制器f ( ,4 个串行通信控制器 s c c ,2 个串行管理控制器s m c ,1 个1 2 c 控制器,1 个s p i 控制器。 c p m 的主要特点有: p o w e r p c 和凹m 可以工作在不同频率。 支持串行比特率达到7 1 0 m b i t 频率在1 3 3 m h z 。 并行i ,0 寄存器。 第二章砌! w 矾- p p c 8 2 5 0 的硬件环境和软件开始环境n 片内2 4 k bd i l a l p o n m w 。 1 个多通道控制器( m c c ) ,支持1 2 8 条全双工的6 4 k b i 临h d 【c 线。 虚拟d m a 功能。 双总线结构:1 个6 4 位p o w e r p a 5 0 】【总线和1 个3 2 位本地总线。 4 个时分复用t d m 接口、3 个媒体无关接口m 和非时分复用串行接口 n m s i 三种物理层接口,它们之间的选择由串行接口s l 模块控制。 内部电压2 o v ,酞) 电平为3 3 v 。 1 3 3 m h z 时功耗为:2 5 w 。 m p c 8 2 5 0 高性能的通信处理模块c p m 内部结构各部分功能如下: r i s c 和r o m 一处理串行通信设备,虚拟d m a ,定时器等。 内部存储空间( h t e m a l m e m o r y s p a c e 卜r i s c 劭p o w e r p c 的接口,由寄存 器和双口r a m 组成。 s d m a 一用于在通信设备与6 0 】【总线、l 0 c a l 总线上的b u 虢r 问传递数据。 d m a 一用于内存内存、内存设备、设备内存问传递数据。 中断控制器( i n t e 肌p tc o n 咖l l c r ) 一处理所有的中断资源。 m c g 一可工作于阳) l c 模式,物理层接口为1 d m 方式,最多可以同时与 4 个t d m 接口相连,在1 2 8 个逻辑通道上传递数据。 f c c 一可工作于脚) l c 、1 0 m 1 0 0 m b i 临以太网和透明模式,物理层接口 为) m 或m i i 方式,当物理层工作于t d m 方式时,最高可以支持1 3 】巳3 速率。 s c g 一可工作于如l c 、i i a r t 、同步u a r t 、b i s y n c 、1 0 m b i 恤以太网、 a p p l c t a l l 【、透明模式,物理层接口为1 d m 或订s i 方式。 s m g 一可工作于i ,a r t 或透明方式,物理层接口为t d m 或n m s i 方式。 1 2 c - 一可以和1 2 c 器件相连,如e e p r o m 、实时时钟器件、a d 转换器等。 s p i - 提供一个全双工、同步、面向字节的四线物理层串行接口。 时隙分配器( n m e s l o t 缸s i 印e r 卜多路传输来自任何通信连接( 除了s p i 和 1 2 a 的数据。 并行加端口一端口a 、b 、c 和d 作为端口。 波特率发生器一内部时钟源提供给f c c 、s c c 和s m c 。 2 2 3 系统接口单元s i u 的结构 系统接口单元s i u :包括c p u 的复位、中断控制器、时钟配置等功能。内部 包括6 0 x 总线控制器、p c n d c a l 总线到6 0 】【总线的桥接器、存储器控制器、时 钟控制器等。m p c 8 2 5 0 的存储控制器部分集成了s d 鼬蝴控制器,通过设置寄存 基于m p c 8 2 5 0 的嵌入式系统编程 器即可完成与s d i 渔m 的接口配置,与m p c 8 6 0 配置u p m 表的方式相比,极大地 降低了开发的复杂度。 s i u 各部分的功能如下: 6 0 】【b l l s t o i j 0 c a lb r i d g e 一允许6 0 3 e 在本地总线上访问。 内存控制器一支持1 2 个m e m o r yb a n l 【( 内存槽) 。 总线接口单元一提供6 0 】【总线到c p m 的接口。 1 2 c a c h e 接口一提供到l 2 c a c b e 的简单接口。 实时时钟一每秒钟提供一个中断。 s i u 提供的系统功能: 配置一配置多个系统管脚。 保护一硬件和软件看门狗。 复位一复位和监视。 时钟同步一根据外部时钟振荡器产生内部时钟。 电源管理一控制正常电源和低电源模式。 j 1 a g m e e l l 4 9 1 调试接入端口。 熟悉s i u 单元对u n 呱内核和u b o o t 的移植尤其重要。 2 2 4m p c 8 2 5 0 的内存映射 从软件开发的角度( 包括n n 慨内核的移植和u b c 眦的移植) 看,对m p c 8 2 5 0 所有的操作无外乎对某些特殊的寄存器的读写。因此了解m p c 8 2 5 0 的内存映射是 非常有必要的。p o w e 哟u i c c 的内部存储资源包括c p md u a l p o nr a m ,s i u 控 制器,以及多种通用端口控制器等,被映射到一块连续的内存中,其基地址可以 在s i u 的内存映射寄存器( i m m r ) 中设置,在! w 矾p p c 8 2 5 0 的实际应用中,内 存映射基地址为o x 删0 0 。n x 将最后1 g 内存空间划分为内核空间,将 m p c 8 2 5 0 的内部存储资源映射到u n 吸的内核空间的好处是,用应用程序不可以 随意访问这一部分空间,保证了这些具有特殊功能的寄存器不能被应用程序随意 修改。 在n n 慨的源码包中提供了一个头文件伽c l u d e 勰m p p c h m m a p 印m 2 h ( 在2 4 内核版本中,这个文件叫i 姗a p 印m 8 2 6 0 h ) ,完整的描述了m p c 8 2 5 0 的内部寄 存器,并提供了一系列结构体描述了d p r 舢“,s i u ,内存控制器,p a 控制器等, 对于驱动开发和底层软件开发非常有用。 2 3 软件开发环境 在m p c 8 2 5 0 上移植嵌入式i j n 弧,u b o o t 和开发嵌入式软件,需要一个交叉 编译环境【3 】。它必须可以把l j n u x 内核以及其他代码编译成p o w e r p c 格式的目标 第二章r e w 矾- p p c 8 2 5 0 的硬件环境和软件开始环境 代码。这里采用德国的d e 胍软件中心发布的开放源码的e l d k 饵m b c d d c d 踟畎 d e v e l o p m e m 飚t ) 工具,它提供了一套完整的供b 0 w e r p c 嵌入式l i n l l x 移植的开发 套件,例如:g c c 、b i n u t i l s 、g d b ,而且还包括许多已经为p d w e r p c 编译好的、 可以用来创建l j n l l 】【j s f f 2 文件系统的许多工具和元件。e u ) k 是免费并且开放源 码的。但是由于e l d k 只能在u n u x 上安装,因此有必要采用一种比较独特的开 发模式。如图2 3 所示: 目标系统 图2 3 嵌入式u n u x 的软件开发环境。 其中,目标板是r e w 玳p p c 8 2 5 0 ;i j n 甑主机是普通的p c 机,所装操作系统为 f a d o r a5 ;p c 一1 到p c 9 是开发人员所使用的计算机。目标板、l i n u x 主机、p c 机 都处于同一个局域网内。所有的p c 机都可以使用t c l n e t 工具远程登陆到目标板和, l m 1 1 ) 【主机。之所以用p c 机远程登陆,有三方面原因: 第一,相对于w i n d o w s 系列,通常开发人员对f a d o 船等l i 咖x 发行版本没有 那么熟悉,熟练使用u n u x 需要比较多的时间和技巧,从工程开发的角度并不必要, 嵌入式开发中,开发人员只需要熟悉交叉编译环境和熟悉一些i j n 慨命令,事实上 使用命令行操作i j 咖x 可以更深入的了解这个操作系统。同时各种发行版本的 l 血u x 对于较新的硬件支持并不好。 第二,所使用的嵌入式n l l 】【是i j n 聒2 6 1 8 内核,它不是真正意义上的微操 作系统,它具有比较强大的网络功能,支持t c l n c t 和n f s ,可以远程登陆并通过 网络访问局域网内其他n 】f s 共享文件。这样,就可以通过网口对目标板进行操作, 网口的速度较串口快许多,可以减少因为串口迟延带来的影响。 第三,若干开发人员可以同时使用u n 恹主机中的交叉编译器而不必各自安装 一套,并且可以在“n u x 主机中建立自己的工作文件夹,有利于保存资料和共享文 件。 2 3 1 配置l i n u x 主机 l 血l l 】【主机不需要太新的硬件,如果硬件太新往往在安装l 抽u x 的过程中会带 来很大麻烦,在安装r a t l l a t 9 的过程中,曾因l i 肌x 安装文件中没有相应的显卡驱 1 4 基于h 伊c 8 2 5 0 的嵌入式系统编程 动,无法进入图形安装界面。所以l i n u x 主机的硬件配置最好比当前主流配置晚半 年到一年,各种硬件的支持资源才会比较充分。开发中所使用的u n u x 主机操作系 统为f 锄o r a 5l i n 璐,硬件配置: c p u ;h l l e lc e l e r o n2 o g h z 主频 r a m :5 1 2 m bd d r h a r d d i s k :8 0 g b 网卡:1 0 1 0 0 m 自适应网卡 串口:r s 2 3 2 2 3 1 1e l d k 的安装 e u ) k 的源码包可以到w w w d e 溉d e 上免费下载,目前,从该网站上看到最新 发布的e u ) k 的版本为4 0 ,这里我们同时使用4 0 和3 1 1 版本。原因是前者对于 u - b 0 0 t 的编译存在b u g 。 下面是e u ) k 4 o 所包含的主要软件及版本: k 唧e l :2 6 1 5 g c c : 4 0 g l i b c : 2 3 5 b i 肿t i l s : 2 1 6 1 在f a d o r a 5u n l l 】【下安装e u ) k 过程如下: 建立e u ) k 安装目录: 参m k d i r 0 p 州d k 4 ,0 运行i n s t a l l 脚本,安装e l d k 到制定目录 静i n s 诅l l _ d ,叩咖l d k 4 0p p c - 8 2 蕊 设置系统环境 开发编译环境的安装基本完成后,要设置一下系统环境,使e u ) k 正常工作。 在主机【j 删x 的r o o t 目录下,编辑文件b a s h 口r o f i l e ,加入如下内容: n 岍i = $ p a t h :$ h o m 眦:o p 删d 蛐啪0 p l d k 倾n :u s 饥妇 c r o s s c o m p i l e = p p c - 8 2 蕊- 懿p o r tc r o s 趾c o m p 脏 然后重启使,该配置文件生效,开发编译环境的设置就完成了。编译一个文件测 试一下: 撑p p c i i n u x - g c c oh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年防城港市殡葬管理服务系统事业单位人员招聘考试备考试题及答案详解
- 2026年博尔塔拉蒙古市自然资源系统事业单位人员招聘考试备考试题及答案详解
- 质检职业规划
- 2026年安全生产月活动方案
- 2026北京化工大学科学技术发展研究院招聘1人笔试参考题库及答案详解
- 2026年5月贵州贵阳市观山湖区第一批招聘城镇公益性岗位工作人员24人考试备考题库及答案解析
- 主题教育反馈机制
- 2026年大理市劳动保障监查系统事业单位人员招聘考试备考试题及答案详解
- 2026年本溪市气象系统事业单位人员招聘考试备考试题及答案详解
- 2026福建福州城投新基建集团有限公司权属企业社会招聘4人考试模拟试题及答案解析
- YY/T 1986-2025一次性使用无菌神经用导管及附件
- 拍卖公司绩效考核制度
- 苏教版科学四年级下册第二单元第8课 太阳钟(教学课件)
- 成都高投集团招聘笔试题
- 2025年广东省职业病诊断医师考试(职业性化学中毒)在线题库及答案
- 2026年中国化工经济技术发展中心招聘备考题库及1套完整答案详解
- 2025至2030中国商用车用摄像头和监视器更换后视镜行业调研及市场前景预测评估报告
- 2025年武汉铁路局集团招聘笔试参考题库
- 工程管理的决策论
- 代谢相关脂肪性肝病相关肝细胞癌诊疗进展
- 医美代运营合同协议书
评论
0/150
提交评论