(电路与系统专业论文)基于嵌入式Linux的Flash存储系统的研究和实现[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于嵌入式Linux的Flash存储系统的研究和实现[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于嵌入式Linux的Flash存储系统的研究和实现[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于嵌入式Linux的Flash存储系统的研究和实现[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于嵌入式Linux的Flash存储系统的研究和实现[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 f l a s h 存储器由于体积小、功耗低、性能稳定等特点在便携式电子产品中得到了广泛的 应用。f l a s h 存储器主要有两种形式:n o r f l a s h 和n a n d f l a s h 。n o r f l a s h 具有x i p 特性,可 以直接在芯片上执行代码,而且读取速度较快。n a n df l a s h 存储密度高、容量大、生产工艺 简单、性价比高,但是控制方式复杂而且可能会存在一定的坏块。根据各自的特点,这两种 f l a s h 存储器分别用于不同的系统中。 8 0 5 p l u s 微处理器是由东南大学国家专用集成电路系统工程技术研究中心和北京大学微 处理器研究开发中心共同设计的3 2 位移动终端应用处理器,面向低成本手持设备和其它通 用嵌入式设备。本课题的研究和实现基于采用8 0 5 p l u s 平台设计开发的媒体播放器,提出了 在嵌入式l i n u x 系统中的f l a s h 存储系统的硬件和软件方案。系统采用了n o r 和n a n df l a s h 结合的方案,在n o r f l a s h 上存储与系统相关的软件和程序,在n a n d f l a s h 上存储用户数据 和多媒体数据。 在嵌入式l i n u x 中的f l a s h 存储系统的设计和实现主要包括两个部分:一部分是f l a s h 芯片驱动。本文结合8 0 5 p l u s 芯片提供的e m i 控制器和n a n d 控制器以及d m a 和中断控制 器分别实现了n o r 和n a n d f l a s h 的读写擦除等基本的操作,从而实现对f l a s h 芯片以及其介 质上数据访问和控制,在这个基础上按照l i n u xm t d 设备驱动机制实现相关的设备驱动。 f l a s h 芯片驱动与硬件平台的相关性很大,这是本文的主要内容。另外一个部分是实现f l a s h 上的数据管理。本文分别根据n o r 和n a n df l a s h 数据存储和操作特点提出了f l a s h 上数据管 理的要求,分析了j f f s 2 和y a f f s 的特点以及各自的存储方式、断电保护、损耗平衡、垃 圾回收等一系列的策略和机制,并在此基础上分别在n o r 和h a n df l a s h 上实现并优化了这 些管理机制。 本文最后根据平台特点进行l i n u x 源代码的配置和编译,并在硬件平台上进行了功能验 证。 关键字: f l a s h 、l i n u x 、m t d 、8 0 5 p l u s 、u n i c o r e 、数据管理、文件系统 东南大学硕士学位论文 a b s t r a c t f i a s hm e m o r i e sh a v eb e e n 埘d e l yu s e dd u et ot h e i rs m a l ls i z e ,l o wp o w e rc o n s u m p t i o n , c h a r a c t e r i z e db ys t a b l ep e r f o r m a n c ei np o r t a b l ee l e c t r o n i cp r o d u c t s f l a s hm e m o r ym a i n l yi nt w o f 0 1 t n s :n o rf i a s ha n dn a n df l a s h n o rf i a s hs u p p o r t sx i p - t h ec o d e sc a db ee x e c u t e dd i r e c t l yi n t h ec h i p ,a n dh i g hr e a d i n gs p e e d n a n df l a s hm e m o r yh a sh i g hd e n s i t ya n dl a r g ec a p a c i t y , s i m p l e p r o d u c t i o nt e c h n o l o g y , t h eh i g hp e r f o r m a n c e - p r i c er a t i o ,h o w e v e r , i t sc o n t r o li sc o m p l e xa n dh a s ac e r t a i nd e g r e eo fb a db l o c k s 1 1 1 et w ok i n d so ff i a s hm e m o r yc a nb eu s e di nd i f f e r e n ts y s t e m s a c c o r d i n gt ot h e i ro w nc h a r a c t e r i s t i c s 8 0 5 p l u si sd e s i g n e db ys o u t h e a s tu n i v e r s i t yn a t i o n a la s i cs y s t e me n g i n e e r i n gt e c h n o l o g y r e s e a r c hc e n t e ra n dt h em p r co fb e i j i n gu n i v e r s i t y i t sa3 2 - b i tm o b i l et e r m i n a la p p l i c a t i o n p r o c e s s o r ,g e a r e dt ol o w - c o s th a n d h e l dd e v i c ea n do t h e l c o m m o ne m b e d d e dd e v i c e s b a s e do nt h e m e d i ap l a y e ru s i n g8 0 5 p l u sp l a t f o r m ,t h et o t a ls o l u t i o n so f h a r d w a r ea n ds o f t w a r eo f f l a s hs y s t e n _ l i ne m b e d d e dl i n u xa r ep r o p o s e di l lt h i sa r t i c l e a n dt h es o l u t i o n sa r er e a l i z e di nt h es y s t e m a c o m b i n a t i o no f n o ra n dn a n df l a s hi su s e di nt h es y s t e m w es t o r et h ep r o g r a mo fs y s t e mr e l a t e d d a t ao nn o rf 1 a s h a n du s e r s d a t ao nn a n df i a s h t h e r ea r et w om a i ni o b so f u s i n gf l a s hm e m o r yi ne m b e d d e dl i m i x :t h ef i r s ti sf l a s hd r i v e r w ea c c e l a n dc o n f f o lt h en o ra n dn a n df l a s hb yu s i n ge m ic o n t r o l l e ra n dr e l a t e dd m aa n d i n t e r r u p tc o n t r o l l e ri n8 0 5 p l u sc h i p t h e nr e a l i z ef i a s hd r i v e ra c c o r d i n gt ot h el i n a xm t d m e c h a n i s m f 1 a s hd r i v e ri st h em a i nj o bo f t h i sa r t i c l eb e c a u s ei ti sh a r d w a r ep l a t f o r mr e l a t e d 1 1 1 e s e c o n di st h ed a t am a n a g e m e n to nf l a s h w ep r o p o s et h ed a t am a n a g e m e n tr e q u i r e m e n t sb a s e do n t h ec h a r a c t e r i s t i c so ff 1 a s h ,t h e na n a l y z eas e r i e so fs t r a t e g i e sa n dm e c h a n i s m sa b o u td a t as t o r e , p o w e rf a i l u r ep r o t e c t i o n ,w e a l l e v e l i n g ,g a r b a g ec o l l e c t i o na n de t e , a n do p t i m i z et h e s e m e c h a n i s m st oa c h i e v e f i n a l l yt h es o u r c ec o d eo fl i n u xi sc o n f i g u r e da n dc o m p i l e dc o n s i d e r i n gt h ef e a t u r eo fo i l l p l a t f o r m t h ef u n c t i o nv e r i f i c a t i o nr e s u l t ss h o wt h a tt h i ss o l u f i o nw o r k sw e l l k e yw o r d s :f l a s h ,l i n u x ,m t d ,8 0 5 p l u s ,u n i c o r e ,d a t am a n a g e m e n t ,f i l es y s t e m i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 凋识歹 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 第一章绪论 1 1 课题背景 第一章绪论 在p c 发展的同时,我们注意到另外一个分支一嵌入式系统电子产品也迅猛发展。嵌入式系统是指以 应用为中心、以计算机技术为基础、软件硬件可裁剪、适应系统对功能、可靠性、成本、体积、功耗严格 要求的专用计算机系统。 这类产品涉及到人们工作生活的方方面面,像手机,p d a ,m p 3 ,电视机顶盒,自动售货机,医疗设 备等等。它在体积,功耗,功能方面有着与p c 所不同的特点。随着嵌入式系统越来越追求数字化、网络 化和智能化,原来在某些设备或领域中占主导地位的单片机和无操作系统的软件已经越来越难以为继。这 对我们的软硬件系统提出了新的要求。 在软件方面,由于要求有多任务、实时性、网络、数据存储、用户交互、协同开发等功能,采用嵌入 式操作系统比传统的控制循环更为合适。嵌入式操作系统是嵌入式系统的灵魂,它的出现大大提高了嵌入 式系统开发的效率,减少了系统开发的工作量,提高了嵌入式软件的可移植性。目前存在的嵌入式操作系 统有很多种,其中比较著名的有:v x w o r k s 、n e e u l e u s 、w i n c e 、p a l m o s 等等,但是这些系统都是商业的, 价格昂贵。而l i n u x 则是开放源码的,而且它具有内核小、功能强大、运行稳定、系统健壮、效率高等特 点;它易于定制剪裁,并且支持多达数十种c p u 芯片;它有大量的且不断增加的开发工具,这些工具为 嵌入式系统的开发提供了良好的开发环境;此外,在图像处理、文件管理及多任务支持等诸多方面,l i n u x 的表现都非常出色,因此它不仅可以充当嵌入式系统的开发平台,其本身也是嵌入式系统应用开发的好工 具。嵌入式l i n u x 是将通_ 【l jl i n u x 操作系统进行裁剪、修改,使之能在嵌入式计算机系统上运行的一种操 作系统。它既继承了通用l i n u x 的优点,又具有嵌入式操作系统的特性。 嵌入式系统的硬件平台是功能实现和操作系统运行的载体,其中使用的处理器一般是r i s c 的c p u 和 集成许多外围功能电路模块的s o c 芯片。8 0 5 1 芯片在传统领域有着一定的市场,但是随着功能要求的提 高,它已经越来越不能满足要求,以a r m 为c o r e 的s o c 芯片像s a m s u n g 的2 4 1 0 ,i n t e l 的x s e a l e 以及s e u i c 的g a r f i e l d 等芯片目前得到了广泛的应用。在这个领域自主知识产权的意义显得尤其重要,特别是在一些 敏感领域的使用。基于u n i c o r e 的8 0 5 p l u s 处理器作为东南大学与北京大学合作的自主知识产权的嵌入式系 统s o c 芯片在我们的系统中得到了应用。 硬件平台的另外一个重要方面就是存储系统,它也是嵌入式操作系统的重要组成部分。嵌入式设备的 低功耗,便携等特点,使得传统p c 上的软盘,硬盘,光盘等存储设备在这上面使用不太合适。这里的存 储器要求体积小,功耗低,抗震动,数据不易丢失等特点。对于系统运行的程序部分内容较固定但要求能 够可靠的保存和运行,而用户保存的数据则要求容量大而且要经常修改。 目前在便携式设备的市场上,f l a s h 是最流行的存储设备,手机、p d a ,m p 3 随身听和u s bs t o r a g e 等都大量使用了f l a s h 作为存储设备。f l a s h 存储设备有两种技术:一种是目前广泛使用的n o r f l a s h 。n o r f l a s h 具有x i p ( e x e c u t ei np l a c e ) 特性,可直接在芯片上执行代码,而且随机读取速度快。在目前便携式 设备对于容量要求不是很高的情况下得到了广泛使用。另一种就是目前被业界看好的n a n df l a s h 。n a n d f l a s h 有着很高的存储密度,而且生产工艺也很简单。相对于n o rf l a s h 的高成本和低容量,n a n df l a s h 以 其高的容量价格比显现出强劲的市场竞争力,它的出现为提高存储容量和降低产品的成本提供了很好的解 决方案。由于n a n df l a s h 没有独立的地址线,必须以复杂的i o 时序进行访问,并且由于工艺问题,n a n d f l a s h 在出厂时可能有少量的坏块,所以在使用时必须考虑这方面的因素。在实际使用中可以根据具体方 案的要求采用n o r 或者n a n df l a s h 。 东南大学硕士学位论文 1 2 课题主要工作 本课题主要研究f l a s h 存储设备在嵌入式l i n u x 中的应用,硬件平台是基于u n i c o r e 的8 0 5 p l u s 芯片的 个人媒体播放器,采用的操作系统是u n i c o r el i n u x2 4 1 9 。课题的具体研究工作如下: 一 研究n o r 和n a n d f l a s h 各自的特点和优缺点,了解目前业界的研究现状和常见的解决方案,结合 基于8 0 5 p l u s 的个人媒体播放器平台的特点提出合适的硬件方案。 _ 熟悉l i n u x m t d 子系统的结构,结合硬件方案完成n o r 和n a n d f l a s h 在8 0 5 p l u s 平台上的硬件驱 动。主要工作就是基于m t d 子系统利用8 0 5 p l u s 平台的e m i 控制器结合相关的内部d m a 和中断 控制器实现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 上数据管理的方案和策略。 - 进行l i n u x 的系统配置,从而在课题选择的硬件平台上实现f l a s h 存储系统方案,并且对结果进行 验证。 1 3 论文主要结构 本论文总体可以分为四部分,共八章,第一部分综述f l a s h 的基本原理以及n o r 和n a n df l a s h 各自特 点。第二部分介绍本课题的软硬件研究平台以及使用的一些软件编译调试工具。第三部分是论文的主体部 分,详细讲述f l a s h 存储器在8 0 5 p l u s 平台上的应用,包括n o r 和n a n df l a s h 基于l i n u xm t d 系统的驱动 实现和在8 0 5 p l u s 平台上的调整,还有文件系统分别对于n o r 和n a n df l a s h 的数据管理策略的实现。第四 部分是系统配置和功能评测。具体章节安排如f : 第一章:绪论 第二章:f l a s h 介绍 第三章:开发平台介绍 第四章:硬件及接口 第五章:基于嵌入式l i n u x 驱动的设计与实现 第六章:f l a s h 上的数据管理 第七章:系统配置及功能验证 第八章:总结展望 2 第二章f l a s h 介绍 第二章f l a s h 介绍 f l a s h 是一种b l o c k - e r a s a b l e 存储设备,是从早期的b y ) e - e e p r o m 改进而来的。早期的b y t e - e e p r o m 是以字节为单位进行擦写的,但是采用这种技术的存储单元较复杂,且成本较高 2 1 。于是基于b l o c k 擦除 的存储技术被提了出来,这样简化了存储单元结构,也降低了成本。这种存储技术采用以多个字节为单位 的方式进行擦除。一次被擦除的最少字节数就称为一个b l o c k 。这种存储技术就称为h a s h ”。 h a s h 技术经过多年的发展,不断有新的架构被提出。目前f i a s h 包含有n o r 、n a n d 、d i n o r 、a n d 及 p a n d 等多种技术架构,而在h a s h 市场中以n o r 及n a n d 架构的使_ h j 率最高。 2 1f l a s h 原理简介 无论n a d 还是n o r ,两者在基本的数据存储方式和操作机理上都大致相同。闪存以单晶体管作为二进 制信号的存储单元,它的结构与普通的半导体晶体管( 场效应管) 非常类似,区别在于闪存的晶体管加入了 “浮动栅( f l o a t i n gg a t e ) ”和“控制栅( c o n t r o lg a t e ) ”1 4 j 。前者用于贮存电子,表面被一层硅氧化物绝缘体所 包覆,并通过电容与控制栅相耦合。当负电子在控制栅的作用下被注入到浮动栅中时,该n a n d 单晶体管 的存储状态就由1 变成0 。相对来说,当负电子从浮动栅中移走后,存储状态就由0 变成1 ;而包覆在浮 动栅表面的绝缘体的作用就是将内部的电子“困住”,达到保存数据的目的。如果要写入数据,就必须将 浮动栅中的负电子全部移走,令目标存储区域都处于1 状态,这样只有遇到数据0 时才发生写入动作但 这个过程需要耗费不短的时问,导致不管是n a n d 还是n o r 型闪存,其写入速度总是慢于数据读取的速度 【5 】。 图2 1 闪存基本存储单元结构示意图 2 2n o rf l a s h 和n a n df l a s h 比较 虽然基本原理相同,但闪存可以有不同的电荷生成与存储方案。其中应用最广泛的是“通道热电子编 程( c h a n n e lh o te l e c t r o n ,c h e ) ”,该方法通过对控制栅施加高电压,使传导电子在电场的作用下突破绝缘 体的屏障进入到浮动栅内部,反之亦然,以此来完成写入或者抹除动作;另一种方法被称为 “f o w l e r - n o r d h e i m ( f n ) 隧道效应法”,它是直接在绝缘层两侧施加高电压形成高强度电场,帮助电子穿越 氧化层通道进出浮动栅1 6 j 。n o r 闪存同时使用上述两种方法,c h e 用于数据写入,支持单字节或单字编程; f n 法则用于擦除,但n o r 不能单字节擦除,必须以块为单位或对整片区域执行擦除操作,由于擦除和编 程速度慢、块尺寸也较大,使得n o r 闪存在擦除和编程操作中所花费的时间很长,无法胜任纯数据存储和 文件存储之类的应用,但它的优点是可支持代码在本地直接运行;其次,n o r 闪存采用随机存储方式,设 备可以直接存取任意区域的数据,因此n o r 闪存底部有大量的信号引脚,且每个单晶体管都需要辅助读写 的逻辑,晶体管利用效率较低、容量不占优势。而n a n d 闪存采用f n 法写入和擦除,且采用一种“页面一 块”寻址的统一存储方式,单晶体管的结构相对简单,存储密度较高,擦除动作很快,但缺陷在于读出性 能平平且不支持代码本地执行。 3 东南大学硕士学位论文 图2 2n o rf l a s h 和n a n df l a s h 存储单元布局比较 具体来说,由于以上电荷生成方案和结构上的不同,在实际应用中可以从以下几个方面来作为我们使 用不同类型f l a s h 的衡量标准。 2 2 1 容量成本 n a n d f l a s h 的存储单元是串行的排列在一起的( 通常是8 、1 6 或3 2 个) ,共用一个接触孔。而n o r f l a s h 同样数量的存储单元,却要多个接触孔。由于接触孔面积的限制,使得n o rf l a s h 的单个存储单元的面积 很难缩小。n a n d f l a s h 不仅存储单元面积小,而且布局也比n o r f l a s h 简单,这些差别使n a n d f l a s h 占据了 成本上的优势。 n o rf l a s h 占据了小容量存储闪存市场的大部分,而n a n df l a s h 一般用在大容量存储的产品当中,这也 说明n o r 主要应用在代码存储介质中,n a n d 适合于数据存储。 2 2 2 使用接口的区别 n o r f l a s h 带有s r a m 接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节,并且 支持x i p ( e x e c u t ei np l a c e ) 功能,可以直接在上面运行代码。如果把n o rf l a s h 映射到c p u 的启动地址,那 就可以作为启动设备。一般情况下,系统引导程序都是放在n o rf l a s h 中执行的。n o rf l a s h 的写操作需要 通过驱动程序来实现。写操作分为擦除和编程两个过程。操作的最小单位是块( 不同厂商和型号的芯片块 大小是不确定的,详见具体芯片的d a t a s h e e t ) 。擦除操作会把所有的位置l ,而编程时,则将需要置0 的位 置0 。具体的擦除和编程操作都由f l a s h 内部完成,c p u 只需按照规定的操作发出相应的命令即可。( 各种 型号芯片的具体命令格式不同) n a n d 器件使用复杂的i o 口来串行地存取数据,各个产品或厂商的方法可能各不相同。8 个引脚用来 传送控制、地址和数据信息,加上命令锁存、地址锁存、状态和读写信号以一定的时序完成控制。n a n d 读和写操作采用5 1 2 字节以及2 k 字节为单位的块,这一点有点像硬盘管理此类操作,很自然地,基于n a i a d 的存储器就可以取代硬盘或其他块设备。但是如果要实现从n a n d 运行代码启动系统,必须有辅助的硬件 或软件将代码复制到内存。读写中要注意n a n df l a s h 的位翻转错误。而擦除操作是以块为单位的,每3 2 页为一个块( b l o c k ) 。擦除时,一定不能擦除坏块。坏块在出厂时就做好了标记,坏块的管理需要通过软 件来实现。 在一般情况下,n o r f l a s h 直接挂载在总线上,有专门的片选信号寻址。而n a n d f l a s h 由于复杂的操作 4 第二章f l a s h 介绍 时序,一般通过g p i o 仿真或者通过专门的硬件电路或者n a n d 控制器完成访问。 2 2 3 使用性能比较 使用性能主要包括读写和擦除三个方面,是以他们所需要的时间作为衡量标准。由于接口上的区别, 在读操作方面n o rf l a s h 的s r a m 接口方便快速,而h a n d 需要复杂的时须控制所以速度相对较慢。同样 在单字节写入操作n a n d 没有优势,但是多字节写入时n a n d 要比n o r 快。在擦除操作方面,n a n d 的速度 要比n o r 快很多。由于在写数据之前先要执行擦除操作,所以在写数据方面n a n d 性能要比n o r 高。 2 2 4 可靠性和耐用性 可以从寿命、位交换和坏块处理三个方面来比较n o r 和n a n d 的可靠性和耐用性。 在使用寿命方面,在n a n d 闪存中每个块的最人擦写次数是一百万次,而n o r 的擦写次数是十万次。 n a n d 存储器除了具有1 0 比1 的块擦除周期优势,典型的n a n d 块尺寸要比n o r 器件小8 倍,每个n a n d 存储器块在给定的时间内的删除次数要少一些。 所有f l a s h 器件都受位交换现象的困扰。在某些情况下( b l a n d 发生的次数要比n o r 多) ,一个比特位会 发生反转或被报告反转了。一位的变化可能不很明显,但是如果发生在一个关键文件上,这个小小的故障 可能导致系统停机。如果只是报告有问题,多读几次就可能解决了。当然,如果这个位真的改变了,就必 须采用错误探测,错误更l e ( e d c e c c ) 算法。位反转的问题更多见于n a n d 闪存,n a n d 的供应商建议使用 n a n d 闪存的时候,同时使用e d c e c c 算法。这个问题对于用n a n d 存储多媒体信息时倒不是致命的。当 然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,必须使用e d c e c c 系统以确保 可靠性,这可以通过软件或硬件来完成。 n a n df l a s h 在出厂时就可能有一定的坏块,而且是随机分布的。这是由n a n df l a s h 的工艺造成的,以 前也曾有过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。所以,n a n df l a s h 被允许在出 厂时有很少量的坏块。n a n d 器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用,在擦 除时也不能将这些坏块擦除。后面会讨论这个问题。 2 2 5 软件支持 当讨论软件支持的时候,应该区别基本的读写擦操作和高一级的用于磁盘仿真和闪存管理算法的软 件,包括性能优化。在n o r 器件上运行代码不需要任何的软件支持,在n a n d 器件上进行同样操作时,通 常需要驱动程序,也就是内存技术驱动程序( m t d ) ,n a n d 和n o r 器件在进行写入和擦除操作时都需要m t d 。 使用n o r 器件时所需要的m t d 要相对少一些,许多厂商都提供用于n o r 器件的更高级软件。在l i n u x 中 对n o r 的支持也相对比较多,而n a n d 由于硬件相关性以及位反转和坏块等原因需要的工作多些。相关的 内容会在后续的章节中作介绍。 5 东南大学硕士学位论文 3 1 硬件平台 第三章开发平台介绍 图3 1 硬件平台系统架构 本课题的研究工作平台是基于以众志8 0 5 p l u s 处理器为核心,集成了很多外围电路模块的掌上系统。利 用该系统可以实现个人掌上助理、个人媒体播放器、掌上定位系统、智能手机等掌上平台。本课题主要用 于实现个人媒体播放器,有6 4 m 的s d r a m 内存,另外1 6 m n o r f l a s h 用于存放基本的内核镜像文件和根 文件系统,1 6 m n a n d f l a s h 主要用于存放用户数据( 研发阶段暂时用小容量n a n d 代替) ,包括多媒体文件 等。数据的交换通过u s bo t g 实现,既可以作为d e v i c e 与p c 机实现数据交换,又可以作为h o s t 与普通 的u 盘、数码相机等交换数据。系统通过l c d 和t vo u t 实现将图像画面显示给用户,通过a c 9 7 实现 音频和触摸功能,用户的控制通过键盘和红外输入,调试端口主要是串口和j t a g 接口,另外通过1 2 c 接 6 苎三雯茎茎! 鱼坌丝 e l 提供了r t c 和电池电量的检测。系统还提供了外接存储器接口可以接入s d m m c 卡实现存储扩展。其 中的部分模块可以按照用户的要求进行定制。 3 28 0 5 p l u s 处理器介绍 其中的8 0 5 p l u s 是由东南大学国家专用集成电路系统工程技术研究中心和北京大学微处理器研究开发 中心共同设计的3 2 位移动终端应用处理器,面向低成本手持设备和其它通用嵌入式设备。8 0 5 p l u s 移动 终端应用处理器针对低成本个人移动终端的应用需求,为用户提供了面向移动终端应_ i j 的丰富外设、低功 耗管理和低成本的外存配置。为了适应手持信息终端的多媒体处理需求,处理器还集成了用于多媒体加速 的p m m a ( p r o g r a m m a b l em u l t i m e d i a a c c e l e r a t o r ) 唧,支持m p e g 4 m p 3 w m a 等多媒体应用1 8 1 。 3 2 1 内部硬件结构 8 0 5 p l u s 应用处理器内嵌由3 2 位高性能r i s c 处理器u n i c o r e 、m m u 和c a c h e ,芯片内核工作在2 0 0 m h z , 外设及总线工作在1 0 0 m h z 。集成了支持黑白,灰度,彩色的l c d 控制器,该l c d 控制器兼容r g b 图 像和部分图像,为m p e g 4 等视频解码提供了y u v - r g b 的处理能力;多媒体加速模块,用| i 二提供 多媒体处理,支持定点d c t 、子带综合等信号处理计算能力:支持低成本的n a n df l a s h 控制器并可从其 直接启动;支持多种外存类型:s r a m ,n o rf l a s h ,s d r a m ;支持实时钟( r t c ) ;支持四通道的定时器 和两通道的p w m ;支持用于连接触摸屏通讯的s p i 协议;支持两个u a r t 控制器,其中一个支持红外传 输:支持u s b2 0 控制器用于p c 与移动终端之间的高速信息传输;支持m m c 卡控制器,用户可以扩展 系统的存储能力和外设功能,如w i f i ;支持兼容a c 9 7 协议的控制器,用于音频文件的播放和录制。内 嵌6 通道d m a 控制器,为用户提供高速的数据传输通道。为了支持低成本的系统方案,8 0 5 p l u s 处理器支 持外部3 2 位1 6 位数据总线,考虑到n a n df l a s h 的成本优势,8 0 5 p l u s 处理器提供专用的n a n df l a s h 控制 器。8 0 5 p l u s 处理器采用b g a 2 5 6 封装形式。主要特性为: 图3 28 0 5 p l u s 处理器结构图 _ u n i c o r e m m u c a e h e ,2 0 0 m h z ,a m b a 总线接口; - 外部存储器接口控制器( e m i ) ,支持f l a s l l s r a h 吖s d r a m ; 功耗管理模块( p m c ) ,支持4 种功耗模式:i d l e 、s l o w 、n o r m a l 、s l e e p ; 7 东南大学硕士学位论文 _ 中断控制器( 烈t c ) ,支持3 2 个中断源,其中1 6 个外部中断; 4 通道通用定时器( t i m e r ) ,2 通道脉宽调制器( p w m ) ; - 1 通道实时时钟模块( r t c ) ,支持日历功能和w a t c h d o g 功能; 一 2 个通用异步通讯模块( u a r t ) ,均支持红外通讯; - 液晶显示控制器( l c d c ) ,支持单色4 级灰度1 6 级灰度4 k 彩色朋k 彩色,支持部分y 1 7 v 图像格式; 一 a c 9 7 控制器( a c 9 7 c ) ,支持2 通道放音和1 通道录音; - 1 通道串行外设接口( s p i ) ,用于触摸屏数据采样; 一 多媒体加速模块( p m m a ) ,支持m p 3 解码、m p e g 4q c w 和w m a ,j p e g 等多媒体应用的解 码; m m c 卡控制器和u s b2 0o n - t h e - g o : _ 6 通道d m a 控制器( d m a c ) ,支持片外d m a c 请求; 2 通道片上p l l ,1 个用于系统时钟,1 个用于u s b 控制器 3 2 2 核心架构 8 0 5 p l u s 处理器采用了u n i e o r e 3 2 体系架构,u n i e o r e 3 2 是3 2 位h a r v a r d 结构的r i s c 处理器,采用五 级流水线,并采用硬件机制解决数据相关问题【9 】。相对简单的结构使它具有高性能、高代码密度等特点, 并能实现实时中断相应“。 u n i c o r e 3 2 采用l o a d s t o r e 指令系统体系结构,实现两套指令系统: 3 2 位的u n i e o r e 3 2 指令系统 1 6 位的u n i c o r e l 6 指令系统 系统有两种运行状态,u n i e o r e 3 2 状态运行3 2 位字对准的u n i c o r e 3 2 指令,u n i c o r e l 6 状态运行1 6 位半 字对准的u n i c o r e l 6 指令。通过相关命令切换两种状态。在理想状态,u n i c o r e l 6 的1 6 位指令长度使它能 够达到u n i c o r e 3 2 指令系统的两倍代码密度。同时由于u n i c o r e l 6 指令系统能够访问u n i e o r e 3 2 处理器的 1 6 个3 2 位通用寄存器,并能访问u n i c o r e 3 2 的3 2 位地址空间,它也保留了u n i c o r e 3 2 指令系统的性能优 势。u n i c o r e 3 2 支持字、半字、字节的数据类型,其中字按4 字节对准,半字按2 字节对准。 u n i c o r e 3 2 处理器支持7 种操作模式: u s e r ( u s r ) :一般的u n i e o r e 3 2 程序执行模式: - f i q ( f i q ) :快速中断,支持一个数据传输或数据通道操作; 1 r q ( i r c 0 用作一般的中断处理; 一 s u p e r v i s o r ( s v c ) :支持操作系统的保护模式; a b o r t ( a b t ) :当数据访问或指令操作异常时进入; 一 s y s t e m ( s y s ) :支持操作系统的特权用户模式; e x t l n s t ( e x 0 :当执行一条用户自定义指令时进入。 u n i c o r e 3 2 处理器有4 6 个通用寄存器、一个程序寄存器( p c ) 和6 个状态寄存器。但他们并非同时可见, u n i c o r e 3 2 处理器的运转状态和操作模式决定了哪些寄存器可见。 3 3 软件平台 嵌入式l i n u x 是从l i n u x 衍变而来的嵌入式操作系统。将l i n u x 作为一个嵌入式操作系统具有许多 的优点” : 自由软件可以有效降低开发成本 模块化可裁减特性非常适合嵌入式系统的要求,系统完全启动只需要小到5 0 0 k 字节不到的目标 代码。 8 第三章开发平台介绍 -系统稳定,功能强大,支持多种硬件平台。它可以非常稳定地运行在许多种体系结构的处理器上。 最新的l i n u x 内核支持i n t e lx 8 6 、m o t o r o l a i b mp o w e r p c 、a r m 、c o m p a q ( d e c ) a l p h a 、i a 6 4 、 s 3 9 0 、s u p e r h 等微处理器体系结构。 _文档完善,支持渠道众多。 一 强大的网络功能,完全适用移动互连的嵌入式设备发展趋势。 下图是嵌入式l i n u x 内核的系统框架图: 图3 3 嵌入式l i n u x 内核的框架图 课题使用的是运行在u n i c o r e 体系上的嵌入式u n i c o r el i n u x 2 4 1 9 ,该内核已经被成功移植到兼容 u n i c o r e 体系的8 0 5 p l u s 处理器上。 虽然l i n u x 中已有部分f l a s h 设备实现的代码,但是这些都不是基于u n i c o r e 体系结构的,更加没有 基于8 0 5 p l u s 处理器的实现,所以这些已有的代码只能作为参考之用,所有关于f l a s h 设备在8 0 5 p l u s 处理 器上的实现必须依据相关的e m i 控制器和相关内部的n a n d 和d m a 和中断等控制器的功能进行重新设计。 3 4 开发环境 通常的嵌入式系统软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机( 即一台p c 机) 上,开发时使用宿主机上的交叉编译工具链( 包括编译、汇编及连接工具) 来生成目标板上运行的二进制 的代码,然后把可执行文件下载到目标机上运行。本课题也采用了这种开发方式,以装有r e d h a t 7 3 操作系 统的主机作为宿主机,该宿主机上安装了交叉编译工具链u n i c o r e l i n u x - g c e 。当内核编译成功后,通过 串1 :3 或u s b 将其下载到开发板上运行【1 3 】。 9 东南大学硕士学位论文 图3 4 调试环境 本课题中的调试主要通过b o o t l o a d e r 进行1 1 4 1 。采用的b o o t l o a d e r 是u b o o t ,目前比较常用的一款多功能 b o o t l o a d e r ,其中提供了多种系统调试1 = 具,还支持串口传输和f l a s h 读写操作。特别是f l a s h 的读写支持 省去了f l a s h 烧写器的操作,大大方便了系统的调试。 调试时,启动b o o t l o a d e r 的命令平台,再通过串口把编译好的内核加载到内存中运行,进行调试。在 本课题之前,还在b o o t l o a d e r 中添加了u s b 传输的支持,使得传输速度大人的提高,更方便了系统的调试。 但是如果需要修改b o o t l o a d e r 时则需要将编译好的b o o t l o a d e 传入内存,并写入f l a s h 来进行调试。 本课题将在此开发环境上实现f l a s h 在8 0 5 p l u s 处理器平台上的设备驱动,并且对相关的文件系统中 的数据管理机制进行分析和优化。 1 0 第四章硬件及接口 第四章硬件及接口 如前所述,课题研究的系统是基于8 0 5 p l u s 处理器平台的采用l i n u x 操作系统的个人媒体播放器,f l a s h 存储方案采用的是n o r 和n a n df l a s h 相结合的方案。n o rf l a s h 主要存放系统相关的部分数据,主要包括 b o o t l o a d e r 和l i n u xk e r n e l 以及r o o f f s 。这部分内容都是重要的操作系统和应用程序内容,负责系统的启动 和运行但是容量不是很大,所以采用1 6 m 的n o rf l a s h 存放,这部分内容用户不可见。另外一部分内容是 多媒体数据,比如是电影和歌曲等等,大容量而且用户经常需要更改的,所以采用大容量的n a n df l a s h 实 现,对_ h 户可见。由于8 0 5 p l a s 处理器内部的集成使得外部硬件连线相对比较简单,但是实现相关的功能 特别是n a n df l a s h 涉及到相关的控制器及辅助功能模块,如e m i ,以及n a n d ,d m a ,中断等控制器。本 章就这方面内容作阐述,为后续的硬件驱动程序的设计做准备。 4 1 硬件电路 4 1 1n o rf l a s h 硬件连接 如图4 1 ,n o r f l a s

温馨提示

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

最新文档

评论

0/150

提交评论