(信号与信息处理专业论文)基于pxa255的嵌入式系统的研究与应用.pdf_第1页
(信号与信息处理专业论文)基于pxa255的嵌入式系统的研究与应用.pdf_第2页
(信号与信息处理专业论文)基于pxa255的嵌入式系统的研究与应用.pdf_第3页
(信号与信息处理专业论文)基于pxa255的嵌入式系统的研究与应用.pdf_第4页
(信号与信息处理专业论文)基于pxa255的嵌入式系统的研究与应用.pdf_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

南京邮电人学硕士研究生学位论文摘要 摘要 随着电子技术的发展和社会需求的扩展,嵌入式系统对处理器的性能和功能提出了更高 的要求。a r m 公司的3 2 位r i s c 处理器,以其高速度、低功耗、强功能、特有1 6 3 2 位双指令 集等诸多优异的性能,已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案中的 首选处理器。本文选择x s c a l ep x a 2 5 5 处理器作为c p u ,进行嵌入式系统的开发。 根据实际用户需求,本文开发了一套嵌入式系统实验平台。设计了硬件电路,包括串口、 以太网、u s b 、音频输入输出、基于p s 2 的键盘和鼠标、6 p r s g p s 等接口电路以及l c d 显示 电路。软件设计包括u - b o o t 移植、操作系统通用部分移植和设备驱动开发,操作系统通用部 分包括内核、根文件系统和库文件。进行了u - b o o t 移植,实现系统引导。在此基础上,采用 开放源代码的l i n u x ,完成了内核移植。通过b u s y b o x 建立了基于c r a m f s 的根文件系统,它 包含系统运行所需的常用命令和库文件。讨论了l i n u x 设备驱动的开发流程,并通过研究 l i n u x 内核代码,实现了l c d 驱动。本文为基于x s c a l ep x a 2 5 5 处理器的嵌入式系统开发提供 了一种切实可行的方案。 关键词:a r m ,p x a 2 5 5 ,x s c a l e ,l i n u x ,嵌入式系统 南京邮电大学硕士研究生学位论文 a b s t r a c t a b s t r a c t w it ht h ed e v e l o p m e n to fe l e c t r o n i ct e c h n o l o g ya n de x p a n s i o no fs o c i a ln e e d s , t h ee m b e d d e ds y s t e mi sc a l l i n gf o rb e t t e rp e r f o r m a n c e a n d f u n c t i o n a l i t y o f m i c r o p r o c e s s o r s a r mc o r p o r a t i o n s3 2 一b i tr i s cp r o c e s s o r ,w i t hi t sh i g hv e l o c i t y ,t h e 1 0 wp o w e rc o n s u m p t i o n ,t h es t r o n gf u n c t i o n ,t h eu n i q u e1 6 3 2 一b i td o u b l es e to f i n s t r u c t i o n s ,h a sb e c o m e t h ef i r s tc h o i c ep r o c e s s o ri nt h ef i e l d s o fm o b il e c o m m u n i c a t i o n ,h a n d h o l dc o m p u t a t i o n ,m u l t i m e d i ad i g i t a le x p e n s e sa n ds o o n t h i s p a p e rc h o o s e sx s c a l ep x a 2 5 5p r o c e s s o ra sc p ua n di m p l e m e n t st h ee m b e d d e ds y s t e m a c c o r d i n gt ot h en e e d so fc u s t o m e r ,t h i sp a p e rd i s c u s s e saw a yt od e v e l o pas e t o fe m b e d d e ds y s t e me x p e r i m e n tp l a t f o r m i tr e a l i z e sm u l t i p l ei n t e r f a c ec i r c u i t e s i n c l u d i n gs e r i a lp o r t ,e t h e r n e t ,u s b ,a u d i oi n p u t o u t p u t ,k e y b o a r da n dm o u s eb a s e d o n p s 2 ,g p r s g p s a n d l c dd i s p l a yc i r c u i t t h ed e v e l o p m e n to fs o f t w a r ei sc o m p o s e do f u - b o o tt r a n s p l a n t a t i o n , c o m m o np a r to fo p e r a t i o ns y s t e mt r a n s p l a n t a t i o na n dd e v i c e d r i v e rd e v e ! o p m e n t f i r s t l y ,t h ep a p e rd i s c u s s e su - b o o tt r a n s p l a n t a t i o nw h i c hr e a l i z e s s y s t e mg u i d a n c e b a s e do ni t ,t r a n s p l a n tl i n u xk e r n e li n t ot h ep l a t f o r m a n dt h e n ,t h e p a p e rd i s c u s s e st h ec r e a t i o no fr o o tf i l e s y s t e mw i t hb u s y b o xw h i c hi sa t y p eo f c r a m f s a n dc o n t a i n st h er e l a t e dl i bf il e sa n dc o m m o no r d e r sw h i c hs y s t e mn e e d st or u n a t l a s t ,t h ep a p e rd i s c u s s e s 。t h eg e n e r a lp r o c e s so fl i n u xd e v i c ed r i v e rd e v e l o p m e n ta n d i m p l e m e n t sl c dd r i v e rb a s e do nl i n u xk e r n e lc o d ea n d r e l a t e di n f o r m a t i o n i naw o r d ,t h e p a p e ro f f e r sap r a t i c a lw a yt oi m p l e m e n ta ne m b e d d e ds y s t e mb a s e do nx s c a l ep x a 2 5 5 p r o c e s s o r k e y w o r d s :a r m ,p x a 2 5 5 ,x s c a l e ,l i n u x ,e m b e d d e ds y s t e m i i 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名: 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名: 阻导师签名: e l 期: 南京邮电大学硕士研究生学位论文 第一章绪论 第一章绪论 1 1 概述 随着信息化、智能化、网络化的发展,嵌入式系统广泛应用于信息网络和多媒体处理设 备中。今天,移动电话、手表。电子游戏机、p d a 、电视、冰箱、空调等民用电子与通信产 品,电动机车、船舶以及飞机等交通工具和军事装备等等,无不与嵌入式系统息息相关。随 着后p c 时代的来临,数码相机、新一代手机、信息家电、机顶盒以及将来出现的智能房间等 等,都离不开嵌入式系统的核心技术。 根据i e e e 的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置 。 这主要是从应用角度来加以定义的,不过上述定义并不能充分体现出嵌入式系统的精髓。目 前国内一个普遍被认同的定义是:以应用为中心,以计算机技术为基础,软件硬件可裁剪,使 用于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统【1 】。 嵌入式系统的硬件核心部件是各种类型的嵌入式处理器。随着微处理器的产生,价格低 廉、结构小巧的c p u 和外设连接提供了稳定可靠的硬件架构,据不完全统计,目前全世界嵌 入式处理器的品种总量已经超过1 0 0 0 多种,流行体系结构有3 0 多个系列,包括m o t o r o l a , i n t e l ,a m d 等厂商开发的产品。a r m 、m i p s 等厂商,只设计但并不生产c p u ,他们把生产权授 予世界各地的半导体制造商,a r m 是近年来在嵌入式系统方面有影响力的微处理器制造商。 软件方面,嵌入式操作系统主要有p a l mo s ,w i n d o wc e ,u c o s ,l i n u x ,l y n x o s ,v x w o r k 等。其中,v x w o r k ,s y m b i a n 和w i n d o w sc e 是商业化产品,价格高昂而且源代码封闭。嵌入 式l i n u x 操作系统以价格低廉、功能强大又易于移植而被广泛采用,成为新兴的力量,主要厂 商有u c li n u x ,d e b i a n 和r e dh a t 。 近年,在智能化设备的巨大需求拉动下,国内的嵌入式系统产业发展迅猛,但由于发展 较晚,嵌入式系统开发还存在不少问题,硬件电路设计和软件开发尚需进步的研究。本文 采用i n t e l 公司的p x a 2 5 5 处理器,研究和实现了一套嵌入式系统开发平台。由于有关p x a 2 5 5 的开发资料比较少,所以通过实践可以为基于此系列处理器的嵌入式系统开发提供参考:同 时,操作系统采用l i n u x 2 。6 内核,相较于2 4 内核,2 6 针对嵌入式系统的特点做了一些改 进,使之更适合实时性的需要,因而研究和实现2 6 内核的移植很有实际意义。 南京邮电大学硕士研究生学位论文 第一章绪论 1 2 本文的主要工作 根据实际用户需求,设计一套嵌入式系统实验平台,平台分为两个部分:底板和核心板。 底板实现了包括串口、以太网、u s b 、音频输入输出、基于p s 2 的键盘和鼠标、g p r s g p s 等接口电路以及l c d 显示电路,可进行用户交互和显示。核心板由处理器和存储单元组成, 采用高性能的x s c a l ep x a 2 5 5 处理器芯片,通过与f l a s h 和s d r a m 的连接,实现系统的控制 部分。本文完成了核心板和底板的p c b 设计,实现了系统的主耍功能,系统能够由b o o tl o a d e r 正确引导启动,装载操作系统并进入到s h e l l 控制台,可以进行用户输入输出和液晶显示。 1 3 本文的内容安排 具体章节安排如下: 第一章概述嵌入式系统的概念以及特点,论述当前国内外嵌入式系统发展状况和研究意 义。 第二章主要介绍硬件设计的相关概念以及处理器芯片的选型,设计核心板电路原理图。 第三章论述b o o tl o a d e r 的原理,通过修改u - b o o t ( b o o tl o a d e r 的一种) 运行的两个阶段 的代码,进行u - b o o t 的移植。 第四章介绍了操作系统的相关概念、2 6 内核的新特性。然后在分析内核启动原理的基 础上,通过对内核三个层次的文件的修改,进行内核的移植,并制作根文件系统。 第五章论述l i n u x 设备驱动概念以及实现的基本原理,介绍l c d 设备驱动的相关概念, 通过源代码分析它的原理,建立相关文件,实现l c d 驱动。 第六章总结论文所做的工作,并对平台的进一步开发进行了展望。 2 阿京邮电人学硕士研究生学位论文 第二章硬件系统设计 第二章硬件系统设计 2 1 概述 嵌入式系统一般可以分为4 个主要部分:中央处理器、存储器、输入输出系统、软件。 嵌入式系统的运行过程,是硬件和软件相互配合的工作过程。软件部分的设计思路将决定开 发周期及开发难度,硬件平台的设计影响到软件设计、操作系统的选择。合理的硬件平台将 提供充足的内部硬件资源和外部扩充接口,为系统的兼容性和以后的扩展、升级提供良好的 保障。 。硬件平台设计的第一个任务是确定硬件系统的总体结构图。在进行这项工作的时候,必 须遵循三个基本原则: ( 1 ) 硬件系统总体结构的规划必须满足硬件系统的性能需求。首先对硬件系统需满足的性 能指标进行分析,确定硬件系统的功能模块图。然后根据这个功能模块图进行硬件系统结构 规划,保证最终实现的硬件系统能够满足所有的性能指标,这涉及到芯片尤其是处理器的选 择,它是整个系统的大脑,关系到系统的整体架构。选择合适的芯片后设计电路以满足功能 需要。在本项目中,硬件平台设计需满足的性能要求有: 1 支持以太网通信、u s b 通信、串口通信; 2 音频输入输出; 3 支持g p r s g p s ; 4 支持l c d 显示; 5 支持p s 2 鼠标和键盘; 6 支持p c m i a 接口: 6 能够运行u b o o t ; 7 能够运行l i n u x 操作系统。 ( 2 ) 力求硬件系统各组成部分职责明确、各司其职,尽量避免出现功能重复或遗漏的情 况。在嵌入式硬件设计中,主要有三个组成部分, 即最小系统部分、电源部分和输入输出 部分。所谓最小系统是指由处理器、r o m 、r a m 组成的能够保证处理器正常工作的最起码硬件 环境。这部分是嵌入式硬件系统进行运算处理的核心。电源部分为硬件系统其他部分提供电 南京邮电人学硕士研究生学位论文 第二章硬件系统设计 压稳定的工作电源。输入输出部分是对各种输入输出实现方式的统称,用于最小系统和外界 之间进行数据交换,为处理器提供待处理数据,并把处理后数据输出。 ( 3 ) 保证系统结构具有较高的集成度。集成度越高,硬件系统结构就越简洁,系统各组成 部分相互影响的可能性就越低。如在以太网部分设计时,可以把这个部分再划分为两个子 部分,分别承担m a c 层和p h y 层任务。但目前已经出现了集成m a c 层和p h y 层的i c 产品,采 用集成度高的设计方案可以减少电子元器件的数量,降低故障率,也使硬件产品更加小型化 【2 1 。 2 2 硬件系统功能模块 在2 1 节中分析的各项设计原则的基础上,根据用户需求,我们得到如图2 1 所示的硬件 系统功能模块图。系统包括三个部分:最小系统、电源模块和输入输出模块。最小系统是系 统的控制部分,包括了处理器和存储单元。电源模块为系统各个部分供电。输入输出模块提 供了一般的用户交互接口、网络通信接口和l c d 显示。 图2 1 系统功能框图 4 南京邮电人学硕士研究生学位论文 第二章硬件系统设计 2 3 嵌入式处理器选型 在确定硬件系统功能模块图后,下一步是对各模块的功能及作用进行详细分析,然后进 行器件选型,即在种类繁多的电予元器件中选择适当的元器件来实现该模块所承担的工作。 由于处理器所处的特殊地位,它的选择对整个电路有比较重要的影响,所以下面将介绍处理 器的选型,它跟其他芯片的选型都依照下面的规则: i 能够满足本模块功能要求; 即能够实现2 1 所示系统框图要求的各项指标。 2 工作稳定、可靠; 嵌入式系统对系统的稳定性及可靠性有极高的要求,在满足设计要求的前提下, 应尽 量提高系统的稳定性和可靠性。 3 保持一定的技术先进性; 4 降低成本; 5 考虑该器件的市场供货情况。 由于硬件系统设计以制作出目标系统为最终目的,因此必须了解市场供货情况。大部分 的工c 元器件由国外半导体公司生产,市场供应情况变化很大,不考虑市场供货情况将有可 能出现选定的电子元器件无法从市场上获得,要避免出现对原设计推倒重来的情况。 2 。3 1 处理器性能比较 要进行处理器选型,首先要比较不同处理器的性能,从中选择合适的。下面介绍几种国内 市场上常见的嵌入式处理器。被选择的嵌入式处理器包括i n t e l 公司的p x a 2 5 5 、三星公司的 $ 3 c 2 4 1 0 ,p h i l i p s 公司的l p c 2 1 0 4 以及a t m e l 公司的a t 9 1 r m 9 2 0 0 ,对比的详细情况见表2 - 1 。 由表可见,l p c 2 1 0 4 由于没有带m m u 被排除掉了。p x a 2 5 5 主频最高、并且具有大容量的数据缓 存及指令缓存,在运算处理能力方面无疑是四个嵌入式处理器中最高的,但不足之处是对一 些外围器件,女n u s b 、以太网控制器的支持能力较差;a t 9 1 r m 9 2 0 0 对外围器件的支持最好, 可以作为备选处理器之一。考虑到目前有关p x a 2 5 5 的开发资料不多,作为一种实际技术的研 究有特殊的意义,因此采用i n t e l 公司的p x a 2 5 5 作为嵌入式处理器。 南京邮电人学硕士研究生学位论文 第二章硬件系统设计 表2 1 嵌入式处理器性能比较 比较性能 p x a 2 5 5$ 3 c 2 4 1 0l p c 2 1 0 4a t 9 1 r m 9 2 0 0 最高频率( m h z ) 4 0 02 0 36 01 8 0 指令缓存 3 2 k b1 6 k b 无 1 6 k b 数据缓存 3 2 k b1 6 k b 无 1 6 k b 是否带m m u有有无有 内置r a m 无 无 1 6 k b1 6 k b 内置f l a s h无 4 k b1 2 8 k b1 2 8 k b 对以太网的支持需扩展需扩展需扩展内置m a c 层 对u s bd e v i c e 的支持 u s b l 1u s b l 1 无 u s b l 1 对u s bh o s t 的支持无u s b l 1无 u s b l 1 2 :3 2x s c aiep x a 2 5 5 p x a 2 5 5 是i n t e l 公司x s c a l e 系列处理器的一种。i n t e lx s c a l ec p u 内核采用带有一个增 强型存储器管道的超级流水线r i s c 处理器架构的体系结构。这款高性能、低功耗的微构架兼 容a r m v 5 t ei s a i 旨令集( 不支持浮点指令集) 。这种微构架在a r m 核的周围提供了指令与数据存 储器管理单元,指令、数据和微小数据c a c h e ,写缓冲、全缓冲、挂起缓冲和分支目标缓冲 器,电源管理,性能监控、调试并h j t a g 单元以及协处理器接口,m a c 协处理器和内核存储总 线。 超级流水线结构是由整型管道、存储器管道和m a c 管道构成。整型管道包括7 级流水线结 构,取指令l ( 分支目标缓冲器) 一 取指令2 - 译码一 寄存移位一 a l u 实现一 状态执行 回复。 存储器管道除整型管道的前5 级外,还包括3 个高速缓存,数据c a c h e l 、数据c a c h e 2 和数据 回复c a c h e ,共8 级流水线结构:m a c 管道是6 - 9 级的流水线结构,包括整型管道的前4 级和4 级m a c 段,以及一个数据回复c a c h e ,其中m a c 2 - 4 的选通由数据决定。流水线结构级数越多越 能提高指令的执行速度,使用分支目标缓冲器的目的在于成功的预知分支指令的结果。1 2 8 个入口的分支目标缓冲器的每个入口都包含了分支指令的地址、与分支指令相联系的目标地 址以及该分支的执行情况,它由1 办处理器1 5 使能。分支目标缓冲器的使用旨在避免超级流水 线结构中的分支延迟。x s c a l e 支持7 种处理器模式,如下所示: 6 南京邮电大学硕十研究生学位论文 第二章硬件系统设汁 1 用户模式( u s e r ,u s r ) :正常程序执行的模式; 2 快速中断模式( f i q ,f i q ) :用于高速数据传输和通道处理; 3 外部中断模式( i r q ,i r q ) :用于通常的中断处理; 4 特权模式( s u p e r v i s o r ,s v c ) :操作系统使用的一种保护模式; 5 数据访问中止模式( a b o r t ,a b t ) :用于虚拟存储及存储保护; 6 未定义指令中止模式( u n d e f i n e d ,u n d ) :用于支持通过软件仿真硬件的协处理器; 7 系统模式( s y s t e m ,s y s ) :用于运行特权级的操作系统任务 大多数应用程序在用户模式下运行,当处理器工作在用户模式时,正在执行的程序不能 访问某些被保护的系统资源,也不能改变模式,除非异常发生。这允许适当编写操作系统来 控制系统资源的使用。除用户模式外的其他模式称为特权模式,其中f i q ,i r q 、管理、中止 和未定义称为异常模式,他们与特定的异常相关。异常是由内部或外部源产生以引起处理器 处理一个事件。例如,外部中断或试图执行未定义指令都会引起异常。在处理异常之前,处 理器状态必须保留,以便在异常处理程序完成后,原来的程序能够重新执行。x s c a l e 支持复 位、未定义指令、软件中断、预取中止、数据中止、中断和快速中断7 种类型的异常,异常 出现后,强制从异常类型对应的固定存储器地址开始执行程序。系统模式主要供需要访问系 统资源的操作系统任务使用。 x s c a l e 处理器总共有3 7 个寄存器,包括3 1 个通用寄存器和6 个状态寄存器。其中一部分 寄存器是在7 种模式之间共享的,另外一些则是不同模式下的专用寄存器,这样能够在进入 新模式前记录原有模式的一些状态( 如堆栈指针和程序状态) ,使得在退出时能够恢复原来的 工作环境。在指令方面,x s c a l e 除了一般数据存取、运算、分支等指令外,还具有条件指令 的功能。所谓条件指令,是指每条指令是否运行可以根据上一条指令运算的结果来决定。这 样可以将判断和跳转两个步骤放在同一条功能语句( 如一条乘法指令) 中完成,大大加快了运 行速度,并节省了空间。x s c a l e 在其协处理器的设计和使用方面也有独到之处。在此之前, a r m 系列处理器全部通过m c r 、r c 之类的指令操作协处理器。x s c a l e 在v 5 t e 基础上增加了 d s p c p o 协处理器,增设m i a ,m i a p h ,m i a b b ,m i a b t ,m i a t b 并i j m i - a t 六条指令来直接操作c p o , 并且开通辅助d s p 流水线,使d s p 无论从时间还是空间上都对用户透明,提高了处理速度。 p x a 2 5 5 处理器的m i v l u ( i m l u 和d m m u ) 提供了一个3 2 路的转换旁路缓存器( i t l b 不h d t l b ) ,它 们的每一项均可映射存储器中的段、大页和小页。为了保证内核周期的存取指令和数据, p x a 2 5 5 包含了1 个3 2 k b 的指令c a c h e 和1 个3 2 k b 的数据c a c h e 。另外,为了避免数据c a c h e 内 7 南京邮电 学硕士研究生学位论女 第= 章件系统设计 数据流存取的频繁变化,m m u 还提供了1 个2 k b 的微小数据c a c h e 。指令和数据c a c h e 都是具有 3 2 个入口和3 2 路相联的c a c h e ,每路均包含1 个标志地址,3 2 字节的高速缓存队列和1 个有 效位,采用循环方式进行刷薪存储。微小数据c a c h e 是1 个具有3 2 个人口和2 踣相联的 c a c h e ,同样采用循环方式进行刷新存储。p x a 2 5 5 山核还提供了4 个入口的全缓冲和挂起缓 冲用于提升内核性能与数据c a c h e 和微小数据c a c h e 协同工作。此外,1 个8 入口的写缓 冲,每个入r n 可保存1 6 字节,它从内核、数据c a c h e 或微小数据c a c h e d ? 得到数据,在系统总 线选通前,暂存数据口州。 芯片采用2 5 6 a i n ,p b g a 封装,p x a 2 5 5 结构见下图: 图22p x a 2 5 5 内部模块图 南京邮电大学硕士研究生学位论文 第二章硬件系统设汁 2 4 处理器外围电路设计 在完成处理器的芯片选型之后,根据功能框图,本文设计了p x a 2 5 5 的管脚配置和外围电 路:f l a s h 和s d r a m 电路。 ( 1 ) p x a 2 5 5 处理器 图2 3 是p x a 2 5 5 芯片的管脚配置图。图中引出了数据总线d a t a 3 1 0 ,地址总线 a d d r 2 5 o ,电源线及其他电路控制线。p x a 2 5 5 的电源部分共分三种类型:v c c ,v c c q 和 v c c n 。v c c 是p x a 2 5 5 内部逻辑电源,1 3 v 电压;v c c q 是c m o si o 口的电源,3 3 v 电压; v c c n 是存储器总线电源,3 3 v 电压。b o o t s e l 2 0 三个管脚的连接电平表示启动存储器的 类型,如表2 2 所示。还有其他控制线的配置依据芯片的特性及外围电路而定。 图2 3p x a 2 5 5 处理器 表2 - 2b o o t s e l l 2 0 引脚定义 b o o t s e l 2b o o t - s e l 1 b o o t s e l o 启动存储器类型 000异步3 2 位r o m 001异步1 6 位r o m 0 l0 保留 011 保留 1 个3 2 位s m r o m ,6 4 m b i t p i c 100 2 个1 6 位s m r o m ,3 2 m b i t p i c lo 1 1 个1 6 位s m r o m ,6 4 m b i t p i c 110 2 个1 6 位s m r o m ,6 4 m b i t p i c 11l 1 个1 6 位s m r o m ,3 2 m b i t p i c 9 南京邮电大学硕士研究生学位论文 第二章硬件系统设计 ( 2 ) n o rf l a s t t 5 】 f l a s h 电路由两片e 2 8 f 3 2 0 j 3 并列连接获得3 2 位数据总线宽度。地址位“2 3 1 连接着 p x a 2 5 5 的a d d r 2 2 4 ,实现1 2 8 m 地址空间寻址。下图显示的是单片f l a s h 电路原理图。 u 5 l 3 23 3d a t a o a d d r 22 8 a 0d 0 0 a d 【j r 32 7 a 1d 0 1 3 5d a t a l d c ,r 42 6 a 2d 0 2 3 8d a t a 2 a d c r 52 5 a 3d 0 3 4 0 d a t a 3 【) d r 62 4 a 4d 0 4 4 4d a t a 4 a dr j r 7 2 3 a 5 d q 5 4 6d a t a 5 a 【) 【j r 82 2 a 6d 0 6 4 9 d a t a 6 a 【j d r 92 0 a 7d 0 7 5 ld a t a 7 a d d r l o1 9 a 8d 0 8 3 4d a t a 8 dc l r l l 1 8 a 9 d q 9 3 6d a t 9 a d c - r 1 21 7 a 1 0 d q l 0 3 9d a t a l 0 a d d r l 31 3 a 1 1 d q l l 4 ld a t a l l a d d r l 41 2 a 1 2d o l 2 4 5d a t a l 2 a d d r l sl l a 1 3 d q l 3 4 7d a t a l 3 a d d r l 61 0 a 1 4 d q l 4 5 0d a t a l 4 a d d r l 78 a 1 5 d q l 5 5 2d a t a l 5 a d 【l r l 87 a 1 6 a d d r l 96 a 1 7g n d 2 1 一 a d d r 2 05 a 1 8g n d二型 盅 a d b f 氇l 4 a 1 9g n d a d d f 氇23 a 2 0 a d e f 毪3l a 2 lc e 0 1 4n c $ o a d d f t 2 43 0 a 2 2 c e l 2 一 a 2 3c e 2 至2i 一, 寺 5 6g h d v c n c 一 9 b y t e 3 l 。 上3 7 v c c s t s 二t 、1 2 盆v p 宽l 彳 v c cv p e l 4 j 一。i ! 兰 v c c q ,、5 4 n o e 1 0 k o e = 5 5 n v e : p w r _ e n 1 6 o r pw e j _ 一e 2 e l e 3 :2 0 j - 3 一j 一。一j 。? 图2 5n o rf l a s h ( 3 ) s d r a m 6 】 s d r a m 电路由两片k 4 s 5 6 1 6 3 2 并列连接的方式获得3 2 位数据总线宽度。k 4 s 5 6 1 6 3 2 内部共 有四个b a n k ,采用1 3 根行地址线及9 根列地址线实现4 m 地址空间寻址。根据p x a 2 5 5 的用户 手册,在进行寻址时,先从a 1 0 2 2 输出行地址信息,接着从a 1 0 1 8 输出列地址信息, a 2 3 ,2 4 输出关于b a n k 的选择信号。因此k 4 s 5 6 1 6 3 2 的地址线a 0 1 2 依次连接在p x a 2 5 5 的a 1 0 2 2 上,负责选择b a n k 的引脚b a o ,b a l 连接在p x a 2 5 5 的a 2 3 ,2 4 上。两片 k 4 s 5 6 1 6 3 2 的片选信号都接到p x a 2 5 5 的s d c s o 上,即被接入到p x a 2 5 5 的s d r a mb a n k o 上, 其起始地址为o x a 0 0 00 0 0 0 ,有效地址范围是o x a 0 0 0 0 0 0 0 至o x a 3 f f f f f f 。图2 6 显示的是单 片s d r a m 电路原理图。 1 0 南京邮电大学硕士研究生学位论文第二章硬件系统设计 4 c c n t 12 3a d d r l 0 1 4 v d d 0 v d d l 2 4a r , 1 3 曼1 1 2 72 5a d d r l 2 v d d 2 2 6a 【o r l 3 3 2 9a d d r l 4 一c 1 5 卜一一c 1 5 2 = c 1 5 3 = - c l 并 3 4 3 0a d d r l 5 1 0 , 41 0 41 0 41 0 49 v d d q 5 3 l a d e r 1 6 4 9 v d r x 2 a 6 3 2 a d 【j r l 7 v d d q a 7 4 33 3 d d r l 8 v o d q 8 3 4a d d r l 9 5 4 a 9 2 2a d c f o o 4 1 l f 3 5a d ,r 2 l 守 2 8 v s sal 3 6a d d r 2 2 g i i d 6 1 2 v s s q l s d q z 埙0 4 6 w s ql d q m w s q - 3 23 9d o m l 犍s qu d q m d a t a 02 b 0 2 0 a d d r 2 3 d a t a l4 d 0 b l 2 1 a d d r 2 4 : a t a 25 d l a t a 37 d 2c 髓 3 7 s d c l :e 1 i a t a 48 d 3c l k 3 8 s d c l l l i a t a j1 0 i ) 4 1 9 心d ( : d a t 5l l d jc s d a t a 71 3 d 6 d a t a 84 2 d 口c a s 1 7n s d c a s d a t a 94 4 d 8 d a t ao4 5 d 9w e 1 6栅 d a t ai4 d 1 0 d a t a2 4 8 d l lr a s 1 8l l s d r 蝎 d a t a3 5 0 u 冉一一一 d a t a l 45 1 d3n c n t f v d4 d a t a l 55 3 t、 一 图2 6s d r a m 以上是p x a 2 5 5 的管脚配置以及存储器电路,由它们构成嵌入式系统的最小系统。总的来 说,硬件系统设计在嵌入式开发中具有非常重要的作用,关系到嵌入式开发项目的成败。 2 5 本 选择 本章小结 章介绍了硬件系统设计的基本原则。根据用户需求给出了系统功能框图,根据实际需求 了p x a 2 5 5 处理器,设计了核心板电路图。 南京邮电大学硕士研究生学位论文 第三章b o o tl o a d e r 移植 第三章b o o tl o a d e r 移植 3 1b o o tl o a d e r 原理 b o o tl o a d e r 是在操作系统内核运行之前运行的一段小程序。这段小程序可以初始化硬 件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最 终调用操作系统内核准备好正确的环境。 b o o tl o a d e r 依赖于硬件而实现,特别是在嵌入式开发中。因此,在嵌入式世界里建立一 个通用的b o o tl o a d e r 几乎是不可能的,对b o o tl o a d e r 的移植要根据实际电路进行相应的 修改。 嵌入式设备在c p u 复位时通常从地址o x 0 0 0 0 0 0 0 0 取它的第一条指令,在系统加电后, c p u 将首先执行b o o tl o a d e r 程序。大多数b o o tl o a d e r 都包含两种不同的操作模式:“启 动加载”模式和“下载”模式。 1 启动加载( b o o tl o a d i n g ) 模式:b o o tl o a d e r 从目标机上的某个固态存储设备上将操 作系统加载到r a m 中运行,整个过程没有用户的介入; 2 下载( d o w n l o a d i n g ) 模式:b o o tl o a d e r 将通过串口连接或网络连接等通信手段从主 机( h o s t ) 下载文件,比如:下载内核映像和根文件系统映像等。 b o o tl o a d e r 的启动机制:通常多阶段的b o o tl o a d e r 能提供更为复杂的功能,以及更好 的可移植性。从固态存储设备上启动的b o o tl o a d e r 的启动过程大多都是两阶段,即可分为 s t a g e l 和s t a g e 2 两部分。 b o o tl o a d e r 的s t a g e l 通常包括以下步骤: i 硬件设备( 包括c p u 和s d r a m 等) 初始化: 2 拷贝b o o tl o a d e r 的s t a g e 2 到r a m 空间中; 3 设置堆栈; 4 跳转到s t a g e 2 的c 语言入口点。 b o o tl o a d e r 的s t a g e 2 通常包括以下步骤: 1 初始化本阶段要使用到的硬件设备; 2 检测系统内存映射( m e m o r ym a p ) ; 1 2 南京邮电人学硕十研究生学位论文 第三章b o o tl o a d e r 移植 3 判断是否需要下载内核或者文件系统,如需要,则先从主机下载内核或者文件系统到 r a m 空问中,再将其写到f l a s h 中;如不需要,则直接将k e r n e l 映像和根文件系统映像从 f l a s h 上读到r a m 空间中; 4 为内核设置启动参数; 5 调用内核7 】【8 】。 3 2u - b o o t 简介 u - b o o t ,全称u n i v e r s a lb o o tl o a d e r ,是遵循g p l 条款的开放源码项目。从f a d s r o m 、 8 x x r o m 、p p c b o o t 逐步发展演化而来。其源码目录、编译形式与l i n u x 内核很相似,事实 上,不少u - b o o t 源码就是相应的l i n u x 内核源程序的简化,尤其是一些设备的驱动程序,这 从u - b o o t 源码的注释中能体现这一点。但是u - b o o t 不仅仅支持嵌入式l i n u x 系统的引导, 当前,它还支持n e t b s d ,v x w o r k s ,q n x ,r t e m s ,a r t o s ,l y n x o s 嵌入式操作系统。其目前要 支持的目标操作系统是o p e n b s d ,n e t b s d ,f r e e b s d ,4 4 b s d ,l i n u x ,s v r 4 ,e s i x ,s o l a r i s , i r i x ,s c o ,d e ll ,n c r ,v x w o r k s ,l y n x o s ,p s o s ,q n x ,r t e m s ,a r t o s 。这是u - b o o t 中 u n i v e r s a l 的一层含义,另外一层含义则是u - b o o t 除了支持p o w e r p c 系列的处理器外,还能 支持m i p s 、x 8 6 、a r m 、n i o s 、x s c a l e 等诸多常用系列的处理器。这两个特点正是u - b o o t 项 目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。就目前来看,u - b o o t 对 p o w e r p c 系列处理器支持最为丰富,对l i n u x 的支持最完善。其它系列的处理器和操作系统 基本是在2 0 0 2 年1 1 月p p c b o o t 改名为u - b o o t 后逐步扩充的。当前,u - b o o t 项目得到了众多 有志于开放源码b o o tl o a d e r 移植工作的嵌入式开发人员的支持,正将各个不同系列嵌入式 处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。 u - b o o t 的特性【9 】: 1 开放源码; 2 支持多种嵌入式操作系统内核,如l i n u x 、n e t b s d ,w x w o r k s ,q n x ,r t e m s ,a r t o s , l y n x o s ; 3 支持多个处理器系列,如p o w e r p c 、a r m 、x 8 6 、m i p s 、x s c a l e ; 4 较高的可靠性和稳定性; 。 5 高度灵活的功能设置,适合u - b o o t 调试、操作系统不同引导要求、产品发布等; 6 丰富的设备驱动源码,如串口、以太网、s d r a m 、f l a s h 、l e d 、n v r a m 、e e p r o m 、r t c 、 南京邮电人学硕士研究生学位论文第三幸b o o tl o a d e r 移植 键盘等; 7 较为丰富的开发调试文档与强大的网络技术支持。 u - b o o t 可支持的主要功能列表: 1 系统引导支持n f s 挂载、r a m d i s k ( 压缩或非压缩) 形式的根文件系统; 2 支持n f s 挂载、从f l a s h 中引导压缩或非压缩系统内核; 3 基本辅助功能强大的操作系统接口功她h m ; 4 可灵活设置、传递多个关键参数给操作系统,适合系统在不同开发阶段的调试要求与 产品发布,尤对l i n u x 支持最为强劲; 5 支持目标板多种存储方式,如f l a s h 、n v r a m 、e e p r o m ; 6 c r c 3 2 校验,可校验f l a s h 中内核、r a m d i s k 镜像文件是否完好; 7 设备驱动方面对串口、s d r a m 、f l a s

温馨提示

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

评论

0/150

提交评论