




已阅读5页,还剩65页未读, 继续免费阅读
(电路与系统专业论文)用于s3c2410 x的嵌入式linux的研究和移植.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着科技飞速发展,人类社会日益信息化和网络化,嵌入式技术及其产品也 日益深入人们的日常生活。无论是军品,还是民品,从消费电子到工业控制设备, 嵌入式技术均得到广泛应用。随着设计和制造业技术的发展,集成电路设计从晶 体管的集成到逻辑门的集成,到现在的s o c ( s y s t e mo n ac h i p ) ,以及l i n u st o r v a l d s 主持的l i n u x 内核研发队伍和r i c h a r ds t a l l m a n 倡导的开源软件,都对嵌入式技术 发展发挥了巨大作用。其中,l i n u x 系统凭借其源码开放,内核可裁剪,可移植等 优势成为发展最快的嵌入式操作系统。目前嵌入式l i n u x 操作系统已广泛应用于各 领域:移动多媒体,手持设备,车载导航,工业控制等。 嵌入式系统硬件方面,c p u 类型繁多,外围器件丰富多彩,因而嵌入式系统 电路板是多种多样,但是同一款c p u 的目标板布局差别不大。因而可以通过定制 软件而设计出各式各样的产品。本课题基于三星$ 3 c 2 4 1 0 x 开发板,设计并完成 了在l i n u x 环境下的嵌入式系统软件的开发和移植。为此主要做了如下工作: ( 1 ) 综述了嵌入式系统结构及其特征,尤其是嵌入式系统软件开发特征; ( 2 ) 讨论了嵌入式软件设计工具及硬件设计方面的问题,特别是m a k e f i l e 工 程管理工具和a r m 9 2 0 t 的协处理器e p l 5 ,即m m u ( m e m o r y m a n a g e m e n t u n i t ) ; ( 3 ) 分析并修改u - b o o t ( u n i v e r s a lb o o t l o a d e r ) 部分源代码及配置; ( 4 ) 分析和修改l i n u x 内核源码,配置内核,并完成内核移植; ( 4 ) 详细分析嵌入式系统启动流程,并完成根文件系统制作; ( 5 ) 介绍了几款嵌入式系统平台下的图形化用户界面程序,完成了m i n i g u i 和q t o p i a 图形化用户界面移植; ( 6 ) 完成了在嵌入式系统环境下驱动程序和应用程序的编写; ( 7 ) 对整个系统进行了完整测试,从而完成嵌入式系统软件移植。 关键词:嵌入式系统,m m u ,l i n u x ,m i n i g u i ,q t o p i a a b s t r a c t a b s t r a c t a l o n gw i t ht h er a p i dd e v e l o p m e n to fs c i e n c ea n dt e c h n o l o g y , m o d e ms o c i e t y i n c r e a s i n g l yb e c o m e si n t oa ni n f o r m a t i o n b a s e da n di n t e m e t - b a s e dt i m e s i tb r i n g s e m b e d d e dt e c h n o l o g ya n dr e l a t i v ep r o d u c t se n t e ri n t om a n ya s p e c t so fp e o p l e s e v e r y d a yl i v e s e m b e d d e dt e c h n o l o g yi sm a d ew i d e l yt ob eu s e dn o to n l yi nc i v i l i a n p r o d u c t sa n dm i l i t a r yp r o d u c t s ,b u ta l s of r o mc u s t o m p t i o ne l e c t r o n i c st oi n d u s t r i a l c o n t r o ld e v i c e s e s p e c i a l l yw i 廿lt h ed e v e l o p m e n to fd e s i g n i n gi n d u s t r ya n dm a n u f a t u r e i n d u s t r y ;w i t ht h ea d v a n c e m e n to fi n t e g r a t e dc i r c u i t sf r o mt r a n s i t o r st ol o g i cg a t e sa n d t os y s t e mo n ac h i p ( s o c ) n o w a d a y s ;w h a t sm o r e ,w i t ht h ee f f o r to fl i n u st o r v a l d s s t e a mf o rt h el i n u xk e r n e la n dw i t hr i c h a r ds t a l l m a n sa d v o c a t i o nf o ro p e n - s o u r c e s o f t w a r e ,e m b e d d e dt e c h n o l o g ym a k e sag r e a t e s tp r o g r e s sb yn o w t h el i n u xw h i c hi s o p e ns o u r c ec o d e sa n dc a l lb et r i m m e da n dp o r t a b l e ,h a sb e e nb e c o m e dr a p i dp r o g r e s s o fe m b e d d e do p e r a t i n gs y s t e m ,a n de m b e d d e dl i n u xh a sb e e nw i d e l ya p p l i e da r o u n d m a n yf i e l d ss u c ha sm o b i l em u l t i m e d i ad e v i c e s ,i n d u s t r i a lc o n t r o ld e v i c e s ,h a n d h o l d s a n da u t o m o t i v en a v i g a t i o n s i n c et h e r ea r en o to n l ym a n yk i n d so fc p ut y p e s ,b u ta l s oav a r i e t yo f p e f i p h e r a l d e v i c e si ne m b e d d e ds y s t e m s h a r d w a r e ,t h e r ea r em a n yk i n d so ft h ec i r c u i tb o a r d si n m a r k e t s h o w e v e r , t h el a y o u t so fas p e c i f i cc p ua r en o tt o om u c hd i f f e r e n c e t h e s o f t w a r ec a nb ed e s i g n e dt on e e d w i d ed e m a n d sf o rak i n do fp r o d u c t s t h e t r a n s p l a n t a t i o no nl i n u x - b a s e de m b e d d e ds y s t e ms o f t w a r ee n v i r o n m e n ti sa n a l y s e da n d d e s i g n e db a s e do ns a m s u n g $ 3 c 2 4 10 xi nt h ep a p e r t h em a i nw o r k s a r er e a l i z e d 嬲 f o l l o w s : ( 1 ) s u m a r i z i n gt h es t r u c t u r eo f e m b e d d e ds y s t e ma n di t sd e v e l o p m e n t s c h a r a c t e r i s t i c s ,e s p e c i a l l yf o c u s i n go nd e v e l o p m e n to fs o f t w a r e ; ( 2 ) d i s c u s s i n gt h ea s p e c t so fd e v e l o p m e n tt o o l s o fe m b e d d e ds y s t e ms o f t w a r ea n d d e s i g n m e n t so fh a r d w a r e ,i np a r t i c u l a r l y , i l l u s t r a t i n gm a k e f i l ep r o j e c tm a n a g e m e n tt o o l s a n dt h ec o - p r o c e s s o re pl5o f a r m 9 2 0 t , w h i c hi sc a l l e dm m u ( m e m o r ym a n a g e m e n t u n i o ; a b s t r a c t ( 3 ) f o c u s i n go na n a l y s i sa n dr e v i s i n gu - b o o t ( u n i v e r s a lb o o t l o a d e r ) c o d e sa n d c o n f i g u r a t i o n s ; ( 4 ) i l l u s t r a t i n gh o w t om o d i f yt h ek e r n e ls o u r c e sa n dh o wt oc o n f i g u r et h ek e r n e l , a n dr e a l i z i n gt r a n s p l a n t a t i o nc o r e ; ( 5 ) a n a l y z i n gt h et h eb o o t i n gp r o c e s so fe m b e d d e ds y s t e m sa n dm a k i n gt h er o o t f i l e s y s t e m ; ( 6 ) i n t r o d u c i n gs e v e r a lg r a p h i c a ll a s e ri n t e r f a c ep r o g r a m so ne m b e d d e ds y s t e m ,a n d r e a l i z i n gt h et r a n s p l a t a t i o no fm i n i g u ia n dq t o p i a ; ( 7 ) a n a l y z i n gh o w t ow i r t ed e v i c ed r i v e ra n da p p l i c a t i o np r o g r a m sa n dd r a w i n g t h es o f t w a r ef l o w ; ( 8 ) f i n a l l y , t h ee n t i r es y s t e mi sf u l l yt e s t e d ,a n dt h ew h o l et r a n s p l a n t a t i o no f e m b e d d e ds y s t e ms o f t w a r ei sf i n i s h e d k e y w o r d :e m b e d d e ds y s t e m ,m m u ,u - b o o t ,m i n i g u i ,q t o p i a i i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的 说明并表示谢意。 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:醢玄至导师签名:勉 日期:加6 罗年g 月乡日 第一章嵌入式系统概述 第一章嵌入式系统概述 嵌入式在2 0 世纪7 0 年代起源于微型机,从此之后,通用计算机和嵌入式计 算机就走向两条不同的道路。通用计算机技术要求高速,海量存储的数值计算, 技术发展方向是总线速率的无限提高,存储容量无限扩大。而嵌入式计算机要求 智能化控制能力,技术发展方向与对象系统密切相关的嵌入式性能、控制能力和 控制的可靠性。 1 1 嵌入式系统的定义 嵌入式系统是以应用为中心【1 】【2 】、以计算机技术为基础、软硬件可裁剪、适应 于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应 用相结合后的产物,这一点就决定了它是一个技术密集、资金密集、高度分散、 不断创新的知识集成系统。 1 2 嵌入式系统结构 嵌入式系统基本结构如图1 - 1 : 嵌入式应用 操作系统平台 硬件平台 应用程序与操作系统的接口 操作系统与硬件的接口 图l - 1 嵌入式系统基本结构 ( 1 ) 硬件环境是整个嵌入式操作系统和应用程序运行的硬件平台,不同的应 用通常有不同的硬件环境。硬件平台的多样性是嵌入式系统的一个主要特点。 ( 2 ) 嵌入式操作系统完成嵌入式应用任务调度和控制等核心功能,具有内核 精简、可配置、与高层应用紧密关联等特点,嵌入式操作系统还具有相对不变性。 ( 3 ) 嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完成特 定功能的嵌入式应用。不同的系统需要设计不同的嵌入式应用程序。 电子科技大学硕士学位论文 如何简洁有效地使嵌入式系统应用于各种不同的应用环境,是嵌入式系统发 展中要解决的关键问题。经过不断的发展,最初嵌入式系统的3 层结构逐步演化 为4 层结构。如图1 2 ,其中新增加的中间层叫硬件抽象层,有时也叫b s p ( b o a r d s u p p o r tp a c k a g e ) ,是介于硬件与软件之间的中间层次。硬件抽象层通过特定的上 层接口与操作系统交互,对硬件直接操作。硬件抽象层的引入大大推动了嵌入式 操作系统的通用化。 嵌入式系统应用层 操作系统层 硬件抽象层 硬件平台 1 3 嵌入式系统特征 一应用层与操作系统接口 操作系统与硬件抽象层接口 硬件抽象层与硬件平台接口 图1 - 2 嵌入式系统基本结构 嵌入式系统具有许多特征,概括如下: 1 3 1 嵌入式系统软件特征 嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系 统软件和应用软件的要求和通用计算机不同,主要有以下几点: ( 1 ) 软件要求固态化存储。为了提高执行速度和系统可靠性,嵌入式系统中 的软件一般都固化在存储器芯片或嵌入式微控制器中,而不是存贮在磁盘等载体 中。 ( 2 ) 软件代码要求高质量、高可靠性。尽管半导体技术的发展使处理器速度 不断提高,片上存储器容量不断增加,但在大多数应用中,存储空间仍然宝贵, 还存在实时性要求。为此要求程序编写和编译工具高质量,从而减少程序代码长 度、提高执行速度。 ( 3 ) 操作系统的高实时性是基本要求。在多任务嵌入式系统中,对重要性不 相同的任务进行合理调度是关键,单纯通过提高处理器速度是无法完成,也是没 有效率的,这种任务调度只能通过优化操作系统实现。 ( 4 ) 嵌入式系统开发需要开发工具和环境。嵌入式系统本身不具备开发能力, 2 第一章嵌入式系统概述 即使设计完成以后用户通常也不能对其中的程序进行修改,必须有一套开发工具 才能进行开发,这些工具一般是基于通用计算机上的软硬件设备以及各种逻辑分 析仪、混合信号示波器等。 ( 5 ) 嵌入式系统软件需要实时多任务操作系统开发平台。通用计算机具有完 善的操作系统和应用程序接口,是计算机基本组成的一部分,应用程序的开发以 及完成后的软件都在操作系统平台上面运行,但一般不是实时的。嵌入式系统则 不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任 务,利用系统资源,用户必须自行选配实时多任务操作系统开发平台,这样才能 保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 ( 6 ) 在嵌入式系统的软件开发过程中,采用c 语言,由于汇编语言是一种非 结构化语言,对于大型结构化程序设计已经不能胜任了。这就要求我们采用更高 级的c 语言去完成这一工作。 1 3 2 选择处理器的主要因素 处理器性能,技术指标,功耗,软件支持工具,生产规模,开发的市场目标, 软件对硬件的依赖性是否内置调试工具,供应商是否提供评估板,尽量选择使用 普通的硬件。 1 3 3 s c 架构的a r m 处理器特征 特征有:体积小【3 1 、低功耗、低成本、高性能,支持t h u m b ( 1 6 位) a r m ( 3 2 位) 双指令集,能很好的兼容8 位1 6 位器件,大量使用寄存器,指令执行速度快, 大多数数据操作都在寄存器中完成,寻址方式灵活简单,执行效率高,采用固定 长度的指令格式。 1 3 4 嵌入式行业特征 从某种意义上说,通用计算机技术是垄断的。而嵌入式技术则不同,嵌入式 系统工业是不可垄断的高度分散的工业,充满了竞争、机遇与创新,没有哪一个 系列的处理器和操作系统能够垄断全部市场,即便在体系结构上存在着主流。但 各不相同的应用领域决定了不可能由少数公司、少数产品垄断全部市场。因此嵌 入式系统领域的产品和技术,必然是高度分散的,留给各个行业高新技术公司的 创新余地很大。 3 电子科技大学硕士学位论文 1 4 嵌入式产品现状及发展趋势 近几年,嵌入式系统应用产品有m p 3 、复读机、手机、p d a 、智能电视、智 能冰箱、机顶盒、机器人、路由器、数控设备或仪表、汽车电子、医疗仪器到航 天航空设备等。并在全世界各行业得到广泛应用。目前,嵌入式系统产品的研制 和应用已经成为我国信息化带动工业化,工业化促进信息化发展的新的国民经济 增长点。随着消费家电的智能化,嵌入式更显重要。随着市场对超微型嵌入式应 用技术和产品的要求不断增长,以及半导体技术和系统设计方法的进步,嵌入式 系统在目前的发展形势下,表现出几大趋势: ( 1 ) 可靠性及应用水平越来越高,互联网连接趋势明显。 ( 2 ) 集成的部件越来越多,单芯片方式替代更多的芯片组方式。 ( 3 ) 功耗越来越低,和模拟电路结合越来越多。 1 5 嵌入式l i n u x 系统设计流程图 嵌入式l i n u x 系统设计流程图如图1 3 。 硬件电路:这主要涉及硬件设计,选择什么芯片,s d r a m 大小,f l a s h 类型, f l a s h 大小等。 b o o t l o a d e r :它是嵌入式系统启动代码,和通用计算机的b i o s 功能类似。设 置环境参数,加载内核和文件系统。 移植内核:主要是内核配置。它涉及到是否支持m m u ( m e m o r ym a n g e m e n t u n i t ) ,支持文件系统的类型,是否支持帧缓存,支持那些i o 接口,是否支持网 卡等。 文件系统:选择的文件系统类型,它决定文件系统的读写能力、尺寸大小; 根文件系统内容选择上决定文件系统所能提供的功能及尺寸大小。 嵌入式g u i ( g r a p h i cu s e ri n t e r f a c e ) :它是人机交互的主要方式。要求占用资 源少,可裁减等。 驱动程序是连接硬件设备和设备文件的纽带,是操作系统内核与硬件设备的 接口;应用程序是具体的应用。 4 第一章嵌入式系统概述 1 6 本课题所做的工作 图1 - 3 嵌入式l i n u x 设计流程图 紧紧围绕嵌入式系统开发这个主题,主要完成如下工作:综述嵌入式系统开 发工具,特别是m a k e f i l e 工程管理工具;分析m m u 原理和功能,j t a g 接口的工 作原理;分析并修改u - b o o t 、内核、根文件系统源码,完成其移植,阐述嵌入式图 形化界面工作原理并完成m i n i g u i 移植和q t o p i a 的移植;完成驱动程序和应用程 序的编写。 论文的内容和结构安排如下: 第一章主要介绍了嵌入式处理器的概念,嵌入式处理器的两种结构,嵌入式 系统软件、应用等特征。 第二章主要分析了处理器的m m u 工作原理,分析了j t a g 接口的工作原理 以及n a n df l a s h 工作原理。 第三章主要介绍和分析嵌入式系统工具。 第四章分析并设计u - b o o t 移植。 第五章分析并设计l i n u x 内核移植。 5 电子科技大学硕士学位论文 第六章分析并设计根文件系统移植。 第七章分析并设计图形化界面移植。 第八章编写驱动程序和应用程序。 6 第二章硬件系统分析 第二章硬件系统分析 嵌入式系统硬件电路设计内容繁多,选择c p u t 3 1 ,s d r a m t 钔,f l a s h ( 主要有 n a n df l a s h 5 】和n o rf l a s h 6 】) ,是否带触摸屏。根据c p u 设计各个模块电路,比 如设计一个最小系统所需的模块,需要基本模块为:电源模块、复位电路模块、 s d r a m 电路、f l a s h 电路模块。c p u 内部可能带有较大的s d r a m 或r o m 或两 者,总之需要存储代码的r o m 和运行代码的r a m 。所以一般c p u 需要外部扩展 f l a s h ,s d r a m 。 对板可以做相应扩展是引出没有复用的g p i o ( g e n i a lp 1 l r p o s ei op o r t ) 、 u a r t ,s d 卡、1 2 c 、1 2 s 、u s b 主从接口、按键、l e d 灯、l c d 数据线、模拟 输入口a i n 等。 f l a s h 下载工具将代码下载到相应的r o m 或f l a s h 中,软件调式用仿真器,但 仿真器价格昂贵,一般用w i g g l e rj t a g 或s d tj t a g 小板代替。一个较完整的基 于$ 3 c 2 4 1 0 x 系统框图如图2 1 。 电源模块嘲锄以太网模块 时钟模块 嘲嘲 l c d g e 块 复位模块嘲渤 审口 n a n d n a s l l渤 s 3 c 2 4 l o x缸键盘 n o r n 出h懈瓣u s b _ 主,a s d r a m 锄 通用g o j n o 接口嘲嘲音频 图2 - 1 基于s 3 c 2 4 1 0 x 系统框图 本文接下来介绍几个与硬件有关的内容 2 1m l 仉7 原理分析 起初,在使用d o s 或是更老的操作系统的时,计算机的内存还非常小,一般 都是以k ( 1 i ( = 1 0 2 4 ) 字节为单位进行计算,当时的程序规模也不大,所以内存容 7 电子科技大学硕士学位论文 量虽然小,但可以容纳当时的程序。但随着图形界面的兴起。用户需求不断增大, 应用程序的规模也膨胀起来。一个难题出现,应用程序太大,内存容纳不下该程 序,最初解决办法是把程序分割成许多称为覆盖块的片段。覆盖块0 先运行,结 束时它将调用另一个覆盖块。而覆盖块必须由程序员把程序先分割,这是一个费 时费力的工作。 后来有了虚拟存储器,其基本思想是程序,数据,堆栈的总大小可以超过物 理存储器的大小,操作系统把当前使用的部分保留在内存中,而把未被使用的部 分保存在磁盘上。 一个程序能够产生的地址集合,称为地址范围。这个范围的大小由c p u 的位 数决定。这个范围是程序能够产生的地址范围,称为虚拟地址空间,该空间中的 某一个地址称为虚拟地址。与虚拟地址空间和虚拟地址相对应的是物理地址空间 和物理地址,通常系统所具备的物理地址空间只是虚拟地址空间的一个子集。 在没有使用虚拟存储器的机器上,虚拟地址被直接送到内存总线上,使具有 相同地址的物理存储器被读写。而在使用了虚拟存储器的情况下,虚拟地址不是 被直接送到内存地址总线上,而是送到m m u ( m e m o r ym a n a g eu n i t ) 。它由一个 或一组芯片组成,一般在协处理器中,其功能是把虚拟地址映像为物理地址。 使用虚拟存储器的系统一般使用分页。虚拟地址空间以页为单位,而相应的物 理地址空间也被划分,单位是页框,页和页框的大小必须相同。 $ 3 c 2 4 1 0 x 是基于a r m 9 2 0 t 核,带有m m u 引,即协处理c p l 5 。假如$ 3 c 2 4 1 0 x 配有大小为6 4 m 的s d r s a m ,该s d r a m 的物理地址范围是0 x 3 0 0 0 0 0 0 0 , - - 0 x 3 3 f f f f f f ( 即b a n k 6 ) ,$ 3 c 2 4 1 0 x 的m ,支持1 级和2 级地址映像,在目 前大部分应用中均采用1 级s e c t i o n 模式的地址映像,一个s e c t i o n 的大小为1 m , 所以该物理空间可以被分成6 4 个物理段( 页框) 。 一个3 2 位的地址,高1 2 位决定了该地址在页表中的索引( i n d e x ) ,这个i n d e x 的内容决定了该逻辑s e c t i o n 对应的物理s e c t i o n ;低2 0 位决定了该地址在s e c t i o n 中的偏移( i n d e x ) 。因此从0 x 0 一- , 0 x 脚的地址空间总共可以分成0 x 1 0 0 0 ( 4 k ) 个s e c t i o n ,页表中每项的大小为3 2 b i t ,因此页表大小为0 x 4 0 0 0 ( 1 6 k ) 。在代码中 所有程序的页表统一存放在地址0 x 3 3 f f 8 0 0 0 。每个页表项的内容如表2 1 : 表2 1s e c t i o n 格式 b i t 3 12 01 91 21 11 0 9 i8 5 43 210 i 区描述符 s b z陂d o m a i nlcb1o 8 第二章硬件系统分析 最低两位1 0 是s e c t i o n 分页的标识。 a p :a c c e s sp e r m i s s i o n ,区分只读、读写、s v c 及其它模式。 d o m m n :每个s e c t i o n 都属于某个d o m m n 。共有16 个d o m m n ,每个d o m m n 的属性由c p l 5 的r 3 寄存器控制。在所有程序中,都只包含两个d o m m n ,一个是 s f r 地址以下( 包括s f r ) 的空间,可访问;另一个是s f r 以上的空间,不可访 问。c 、b ,这两位决定了该s e c t i o n 的c a c h e & w r i t e b u f f e r 属性,这与该段的用途 ( r o 或r w ) 有密切关系。不同的用途要做不同的设置。具体情形如表2 2 : 表2 - 2b 、c 不同取值c a c h e & w r i t eb u f f e r 属性 cb具体含义 00 无c a c h e ,无写缓冲,读写数据时都是直接操作主存,并且可以被 外设中止;写数据时不使用写缓冲,c p u 会等待写操作完成;不会 出现c a c h eh i t 。 ol无c a c h e ,有写缓冲,不会出现c a c h eh i t ;写数据,数据先存入写 缓冲中,随后写入主存;数据存入写缓冲后,c p u 立即执行;读数 据时,可以被外设中止;写数据时,无法被外设中止。 lo 有c a c h e ,写通模式,读操作首先考虑c a c h eh i t ;否则,从读主存中 返回数据,并导致“l i n e f i l l 的动作;写操作时,数据先存入写缓 冲,c p u 立即执行:如果同时出现c a c h eh i t ,那么也更新c a c h e 。 写数据时,无法被外设中止。 l1有c a c h e ,写回模式。读操作首先考虑c a c h eh i t ;否则,从读主存 中返回数据,并导致“l i n e f i l l 的动作:写操作也首先考虑c a c h e , 如果l l i t ,则只修改c a c h e ,并将c a c h e 对应半行的d i r t y 比特置位; 如果m i s s ,则写入写缓冲,存储完毕后c p u 继续执行,这些数据 在随后写入主存。 在s e c t i o n 模式下,送进m m u 的虚拟地址被分为两部分,这点和上面一样, 这两部分为:描述符( d e s c r i p t o ri n d e x ) ( 相当于上面的p a g ei n d e x ) 和偏移量 ( o f f s e t ) ,描述符长度为1 2 b i t ,偏移量长度为2 0 b i t ,一个描述符中的s e c t i o nb a s e a d d r e s s 部分,它的长度为1 2b i t ,其值是该虚拟段( 页) 映射成的物理段( 页框) 的物理地址前1 2 b i t ,由于每一个物理段的长度都是1 m ,所以物理段首地址的后 2 0 b i t 总是为o x 0 0 0 0 0 。确定一个物理地址的方法是:物理页框基地址+ 虚拟地址中 的偏移部分= s e c t i o nb a s e a d d r e s s 2 0 ; s e c t i o n b a s e 2 0 ) i m m u - o t h e i u e c d e s c : ) 这段段代码把虚拟空间o x 3 0 0 0 0 0 0 0 o x 3 3 f f f f f f 映射到物理空间0 x 3 0 0 0 0 0 0 0 0 x 3 3 f f f f f f ,由于虚拟空间与物理空间空间相吻合,所以虚拟地址与对应的物理 地址在数值上是一致的。当初始化完t r a n s l a t i o nt a b l e 之后,把t r a n s l a t i o nt a b l e 的首地址( 第0 号描述符的地址) 加载进协处理器c p l 5 的c o n t r o lr e g i s t e r 2 中, 更具体的内容参看u - b o o t 源码川中的m m u 具体代码。 2 2f l a s h 介绍 主要有两类f l a s h :n o rf l a s h 和n a n df l a s h ,本文介绍一下这两类f l a s h 所 具有的共同特性。 2 2 1 两类f l a s h 的共同性 ( 1 ) 闪存的最小寻址单位是字节,而不是磁盘上的扇区,这意味着可以从一 块闪存的任意偏移处读数据,但不表示对闪存的写操作是以字节为单位进行。 ( 2 ) 当一块闪存处在干净的状态或被擦除过时,但是还没有写操作发生,则 f l a s h 上的每一位都是l 。 ( 3 ) 闪存上的每一位可以被写操作清o ,或是把0 置l ,但不能按位操作, 只能按擦写块为单位进行擦写操作。擦写块的大小从4 k 到1 2 8 k 不等,擦写的是 把擦写块内的每一位置1 。 ( 4 ) 闪存的使用寿命有限,擦写块的最大可擦写次数决定闪存寿命。超过了 最大可擦写次数,这个擦写块为坏块。因此为了避免某个擦写块被过度擦写,以 1 0 第二章硬件系统分析 至于它先于其它的擦写块达到最大可擦写次数,应该在尽量小的影响性能的前提 下,使擦写操作均匀分布在每个擦写块上,此过程叫磨损平衡。 2 2 2 两类f l a s h 的差异性 ( 1 ) n a n df l a s h 没有金属触点,n o rf l a s h 的每一个单元都需要独立的金属 触点,这是n a n df l a s h 单元的大小比n o rf l a s h 小的原因。 ( 2 ) 对于1 6 位的器件,n o rf l a s h 大约需要4 1 个i o 引脚;而n a n df l a s h 仅需2 4 个管脚。n a n df l a s h 能够复用指令、地址和数据总线,从而节省了引脚 数量。复用接口的好处在于能够利用同样的硬件设计和电路板,支持较大的n a n d f l a s h 器件。该功能让客户能够把较高密度的n a n ) f l a s h 移植到相同的电路板上。 n a n df l a s h 封装上也有较大优点,如n a n df l a s h 提供一种厚膜为2 g b 裸片或能 够支持最多四颗堆叠裸片,容许在相同的t s o p 1 封装中堆叠一个8 g b 的器件, 从而使得一种封装和接口能够在将来支持较高的密度。 ( 3 ) n a n df l a s h 写和擦除操作速率快,支持速率超过5 m b p s 的持续写操作, 其区块擦除时间短至2 m s 。n o rf l a s h 读和擦除速度慢,其区块擦除时间7 5 0 m s 点。然而n o rf l a s h 具有随机存取和对字节执行写操作的能力。n o rf l a s h 的随机 存取能力支持直接代码执行( p ) ,而这是嵌入式应用经常需要的一个功能。 2 3n a n df l a s h n a n df l a s h 分为一系列4 k 、1 6 k 、6 4 k 、1 2 8 k b 的区块( b l o c k ) ,这些块是n a n d f l a s h 中最小的可擦除实体。擦除一个区块就是把所有位置“l 。一些n o rf l a s h 能同时执行读写操作。n a n df l a s h 不能同时执行读写操作,但它可以采用在系统 级上实现称为“映射的方法,即将b i o s 从速率较低的r o m 加载到速率较高的 r a m 上。 以2 g bn a n d 器件为例,它由2 0 4 8 个区块组成。每个区块有6 4 个页,每一 个页为2 0 4 8 字节的数据区和6 4 字节的空闲区,总共包含2 1 1 2 字节。空闲区通常 用于e c c 、耗损均衡和其它软件开销功能,它在物理上与其它页并没有区别。 n a n df l a s h 具有8 或1 6 位接口,通过8 或1 6 位宽的双向数据总线连接到n a n d f l a s h 上。在1 6 位模式下,指令和地址利用低8 位,而高8 位仅仅在数据传输周期 使用。 电子科技大学硕士学位论文 2 3 1n a n df l a s h 接口 n a n df l a s h 接口由6 个主要控制信号构成: ( 1 ) 芯片启动( c h i pe n a b l e ,c e ) ,如果没有检测到c e 信号,那么,n a n d f l a s h 就保持待机模式,不对任何控制信号作出响应。 ( 2 ) 写使能( w r i t ee n a b l e ,w e ) ,负责将数据、地址或指令写入n a n df l a s h 。 ( 3 ) 读使能( r e a de n a b l e ,r e ) ,允许输出数据缓冲器。 ( 4 ) 指令锁存使能( c o m m a n dl a t c he n a b l e ,c l e ) ,当c l e 为高时,在w e 信号的上升沿,指令被锁存到n a n df l a s h 指令寄存器中。 ( 5 ) 地址锁存使能( a d d r e s sl a t c he n a b l e ,a l e ) ,当a l e 为高时,在w e 信号的上升沿,地址被锁存到n a n df l a s h 地址寄存器中。 ( 6 ) 就绪忙( r e a d y b u s y ,r b ) ,如果n a n df l a s h 忙,r b 信号变低。该 信号是漏极开路,需要采用上拉电阻。 2 3 2n a n df l a s h 启动原理 $ 3 c 2 4 1 0 x 从n a n df l a s h 启动的流程是,上电复位后,$ 3 c 2 4 1 0 x 自动读取 n a n df l a s h 的前4 k b y t e s 的数据到内部s r a mb u f f e r 中,这个硬件的s r a mb u f f e r 称为“s t e p p i n g s t o n e 。然后执行s t e p p i n g s t o n e 中的代码,这部分代码完成将n a n d f l a s h 的内容复制到s d r a m 中,在复制过程中,利用硬件的e c c ,验证数据有效 性。完成复制后,主程序就跳到s d r a m 中执行。 n a n df l a s h 启动过程很清晰,不过$ 3 c 2 4 1 0 x 是如何实现自动读取n a n d f l a s h 的前4 k b y t e s 数据到内部s r a mb u f f e r 中,经分析,可能有两种方法:一是 像a t 9 1 r m 9 2 0 0 处理器一样,内部集成一个小的r o m ,固化代码,这部分代码的功 能是完成自动读取功能;另外一种可能是完全由硬件实现。仔细阅读原理框图, $ 3 c 2 4 1 0 x 只有i n t e r n a ls r a m b u f f e r ,并没有r o m ,所以最大可能是由硬件实现。 框图中有h a r d w a r ee c c 编解码器和i n t e r n a lb u f f e r ( 4 k b ) ,另外一个还有c o n t r o l s t a t em a c h i n e 和b u f f e rc o n t r o l ,而且在两者之间有粗线链接,是用一个控制状态机 实现了自动读取4 k b 数据的过程,所以是由完全由硬件实现。框图【3 】如图2 1 : 1 2 第二章硬件系统分析 c l e a l e n c n r e n w e r t n b l ,o 黔l ,0 7 图2 - 1n a n df l a s h 控制器框图 编程或擦除操作之后,读取状态寄存器内容,以确认是否成功地完成了编程 或擦除操作。如果操作失败,就把该区块标记为坏块,不能再使用。以前已编写 的数据需要从坏块中搬出,转移到好的存储块中。 2 3 3n a n df l a s h 操作 当输出一串w e 时钟时,通过在i o 位7 :0 上设置指令,驱动c e 变低且c l e 变高,可以实现一个指令周期。在w e 信号的上升沿上,指令、地址或数据被锁 存到n a n df l a s h 中。大多数指令在第二个指令周期之后要占用若干地址周期。除 了复位指令和读状态指令,如果器件忙,就不发送新指令。 以2 g bn a n d 器件的寻址方案为例,第一和第二地址周期指定列地址,该列 地址指定页内的起始字节。因为最后- n 的位置是2 1 1 2 ,该最后位置的地址是0 8 h ( 在第二字节中) 和3 f h ( 在第一字节中) 。p a 5 0 指定区块内的页地址,b a l 6 - 6 指定区块地址。大多编程和读操作需要5 字节地址,在页内随机存取数据的操作 用到第一和第二字节。块擦除需要三个最高字节( 第三、第四和第五字节) 来选 择区块。 总体而言,n a n d 的基本操作包括:复位( r e s e t ,f f l l ) 操作、读i d ( r e a di d , 1 3 一护 母 电子科技大学硕士学位论文 0 0 h ) 操作、读状态( r e a ds t a t u s ,7 0 h ) 操作、编程( p r o g r a m ) 操作、随机数据 输入( r a n d o md a t ai n p u t ,8 5 h ) 操作和读操作等。 一般n a n df l a s h 规定了最多的坏块数目,其中,2 g bn a n df l a s h 规范规定 最多有4 0 个坏的区块,这个数字在器件的生命周期( 额定寿命为1 0 万次编程擦 除周期) 内都适用。一些有坏块的n a n df l a s h 也能出厂,因为裸片面积大,管理 器件软件负责映射坏块并用好的存储块取代。利用工厂对这些区块的标记,软件 通过扫描块可以确定区块的好坏。坏块标记被固定在空闲区的第一个位置( 列地 址2 0 4 8 ) 。如果在0 或1 页的列地址2 0 4 8 上的数据是n o n f f ,那么,该块要标记 为坏块,并映射出系统。初始化软件需要扫描所有区块以确定哪些块为坏块,然 后建一个坏块表供将来参考。 2 4j t a g 接口电路 j t a g 接口【8 】主要包含四个引脚- t m s 、t c k 、t d i 、t d o 和一个可选引脚t r s t , 通过使t m s 保持5 个周期以上的高电平,可使测试逻辑电路复位。 t a p 是一个通用的端口,通过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿山汽车考试题及答案
- 殡仪馆考试题及答案
- 航向操作考试题及答案
- 上虞招聘面试题及答案
- 非遗智慧:孩子学艺诀窍
- 2020-2025年BIM工程师之BIM工程师高分通关题库A4可打印版
- 2025年注册消防工程师之消防技术综合能力通关提分题库(考点梳理)
- 1.1菱形的性质与判定第2课时(教学课件)数学北师大版九年级上册
- 保安防恐防暴培训知识课件
- 保安知识培训资料内容课件
- 切削刀具项目实施方案
- 常见行政案件笔录模版
- 手术室甲状腺切除术手术配合护理查房
- 国家电网电力中级职称考试题
- 美国专利法及实务培训-上传课件
- 新版中国电信员工手册
- 2023年中国工商银行软件开发中心春季校园招聘500人笔试模拟试题及答案解析
- D500-D505 2016年合订本防雷与接地图集
- 中国重症加强治疗病房(ICU)建设与管理指南
- 社区矫正法课件
- 后勤保障楼幕墙施工方案新
评论
0/150
提交评论