




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)基于嵌入式linux的人脸识别系统的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 人脸作为一种人体生物特征,具有难以伪造、不会遗失、随身携带、方便易用等特 点。人脸识别在安全验证系统、档案管理、人机交互等方面有着巨大应用前景。传统的 自动识别系统大多基于p c 平台联机应用,然而在实际应用中往往对自动识别系统要求 有更高的便携性和易用性,嵌入式技术的快速发展使得实现这样的系统成为了可能。鉴 于嵌入式系统以及人脸识别技术的广阔应用前景,本课题对嵌入式系统平台以及在人脸 检测与识别系统中的应用进行研究。 本文的硬件平台采用基于a r m 9 架构的j x a r m 9 2 4 1 0 嵌入式开发板。本文首先完 成了嵌入式l i n u x 平台的搭建,从交叉开发环境搭建、b o o t l o a d e r 移植、l i n u x 内核移植、 根文件系统的制作和移植,一直到设备驱动程序的移植全过程。在此基础上建立起一个 可靠的、稳定的嵌入式软件开发平台,为后续的应用开发提供了良好的基础。其次着重 分析了基于l i n u x 的v 4 l 工作原理,实现了图像采集模块,为人脸检测与识别提供图像 来源;研究了基于y c b c r 颜色空间的人脸检测算法实现了人脸检测模块,为人脸识别 奠定了基础;分析了基于特征脸的人脸识别原理,实现了人脸识别模块;最后应用 m i n j g u i 设计了人脸识别系统的人机界面,最终设计完成了基于嵌入式l i n u x 的人脸识 别系统。并且在实现过程中,结合嵌入式的特点对算法进行了优化,使其更适合于嵌入 式系统。实测结果表明,本系统不仅成功地运行于a r m 平台,而且性能良好,对人脸 检测与识别技术在嵌入式平台的应用有很大参考价值。 关键词:嵌入式应用,人脸识别,a r m ,、l i n u x a b s t r a c t a sab i o l o g i c a lc h a r a c t e r i s t i co ft h eh u m a nb o d y ,h u m a nf a c ei sd i f f i c u l tt of o r g e ,n e v e r t ol o s e ,e a s yt oc a r r ya n de a s yt ou s e f a c er e c o g n i t i o nh a sb e e np o t e n t i a l l yu s e di ns e c u r i t y a u t h e n t i c a t i o ns y s t e m ,r e c o r d sm a n a g e m e n ta n dh u m a n c o m p u t e ri n t e r a c t i o n m o s to f t r a d i t i o n a lf a c er e c o g n i t i o ns y s t e m sa r eb a s e do np cp l a t f o r m ,h o w e v e r ,t h e s em u s tb e p o r t a b i l i t ya n de a s y t o - o p e r a t ei ns o m ep r a c t i c a la p p l i c a t i o n s t h ed e v e l o p m e n to fe m b e d d e d s y s t e mm a k e si tp o s s i b l e i nt h i sp a p e r ,f a c ed e t e c t i o na n dr e c o g n i t i o ni sr e s e a r c h e dw i m e m b e d d e dp l a t f o r mb e c a u s eo ft h ew i d ea p p l i c a t i o np r o s p e c to ff a c er e c o g n i t i o na n d e m b e d d e ds y s t e m t h eh a r d w a r ew a sb u i l tw i t hj x a r m 9 - 2 410b r e a d b o a r do fa r m 9 f i r s t l y ,e m b e d d e d l i n u xp l a t f o r mw a sc o n s t r u c t e df r o mb u i l d i n gc r o s sd e v e l o p m e n te n v i r o n m e n t , p o r t i n g b o o t l o a d e r ,p o r t i n gl i n t l xk e r n e l ,c r e a t i n gr o o tf i l es y s t e mt op o r t i n gd e v i c ed r 如e r t h e n r e l i a b l ea n ds t e a d ye m b e d d e ds o f t w a r ed e v e l o p m e n te n v i r o n m e n tw a se s t a b l i s h e df o rt h e s u b s e q u e n ta p p l i c a t i o nd e v e l o p m e n t s e c o n d l y ,l i n u xv 4 l w a sa n a l i z e dt oa c c o m p l i s hi m a g e c a p t u r em o d u l e ;f a c ed e t e c t i o na l g o r i t h mw h i c hw a sb a s e do ny c b c rc o l o rs p a c ea c h i e v e d f a c ed e t e c t i o np r o g r a mf o rt h ef o u n d a t i o no ff a c er e c o g n i t i o n ;f a c er e c o g n i t i o nt h e o r yb a s e d o ne i g e n f a c ew a sa p p l i e dt of a c er e c o g n i t i o nm o d u l e f i n a l l y ,m i n i g u lw a su s e dt of i n i s ht h e h u m a n c o m p u t e ri n t e r f a c ea n df u n c t i o no ft h i ss y s t e m i no u rp r a c t i c e ,s o m ea l g o r i t h m s w h i c hh a v eb e e no p t i m i z e da c c o r d i n gt oe m b e d d e df e a t u r e si sm o r ea d a p t a b l et oe m b e d d e d s y s t e m e x p e r i m e n t a lr e s u l t ss h o wt h a tt h es y s t e mn o to n l ys u c c e s s f u l l yr u no na r m p l a t f o r mb u ta l s oh a sg o o dp e r f o r m a n c e i tc a nb eu s e f u l la sg u i d a n c ef o rt h ea p p l i c a t i o na n d d e v e l o p m e n to ff a c ed e t e c t i o na n dr e c o g n i t i o ni ne m b e d d e dp l a t f o r m k e yw o r d s :e m b e d d e da p p l i c a t i o n ,f a c er e c o g n i t i o n ,a r m ,l i n u x 论文独创性声明 本人声明:本人所呈交的学位论文是在导师的指导下,独立进行 研究工作所取得的成果。除论文中已经注明引用的内容外,对论文的 研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本论 文中不包含任何未加明确注明的其他个人或集体已经公开发表的成 果。 本声明的法律责任由本人承担。 论文作者签名:氟i | i 鲜 论文知识产权权属声明 弋每疑i b 本人在导师指导下所完成的论文及相关的职务作品,知识产权归 属学校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请 专利等权利。本人离校后发表或使用学位论文或与该论文直接相关的 学术论文或成果时,署名单位仍然为长安大学。 ( 保密的论文在解密后应遵守此规定) 论文作者签名: 鹕 导师签名:啊兰丧 长安大学硕士学位论文 1 1 研究背景 第一章绪论 近年来,随着人们对自身信息安全重视程度的逐渐加深,传统的身份认证方式已不 能满足人们的需求。传统密码的遗忘、盗取和破解一直以来被视为传统密码技术的一大 缺陷,自上世纪末到本世纪初屡次出现黑客非法侵入世界各政府系统的事件表明传统密 码技术的缺陷愈来愈容易被非法分子利用,此类缺陷越来越成为人们在身份认证中亟待 解决的问题。在应对此类问题时通常的做法是改变口令或密码,但这样做往往或给用户 带来不便。在涉及个人账户的安全认证中,假冒当事人的案件越来越多,甚至出现了小 孩冒充家长上网采购的案例【l 】。此外,各种数据库、网络和关键文件的安全控制,涉密 系统的登录认证,银行服务终端、移动通讯设备、个人掌上电脑的认证也面临相似问题 2 1 。除了网络及其应用系统以外,一些传统的身份验证场合同存在着此类问题t 3 1 。 生物识别技术( b i o m e t r i ci d e n t i f i c a t i o nt e c h n o l o g y ) 是将人体生物特征作为身份验 证手段的一种技术。生物特征具有唯一的可测性、生物特征和行为的可验证性,一般分 为生理和行为特征。生物识别系统是通过对生物特征取样,得到独_ 的特征,在将特征 组成特征模板,在进行识别时用这些模板来判断特征是否匹配,从而决定接受或拒绝该 人【4 。 生物识别技术是依靠人体的身体特征来进行身份验证的一种解决方案。由于人体特 征具有人体所固有的不可复制的唯一性,因此,这一生物密钥无法复制、失窃或被遗忘。 随着计算机技术的迅速发展,人们开发了指纹识别、声音识别、人脸识别等多种生物识 别技术,目前许多技术都己经成熟并得以应用。在人与人的信息交互中,人脸所包含的 视觉信息占据了最主要的地位,因此,生物识别技术中的新秀人脸识别技术具有更加 广泛而深远的社会意义。 通常大多数具备高性能的人脸能识别系统都是应用在p c 平台上的,但是这些系统 并不能满足人们对便携性和易用性的要求,近年来嵌入式技术的飞速发展使得构建一个 这样的系统成为可能。嵌入式人脸识别系统就是将嵌入式技术和人脸识别技术结合起来 构成的系统。 1 2 嵌入式系统概况 嵌入式系统( e m b e d d e ds y s t e m ) 是针对通用计算机而言的,国际电气与电子工程 第一章绪论 师协会( i e e e ) 对嵌入式系统的定义为:“嵌入式系统是用来控制或监视机器、装置或 工厂等大规模系统的设备”【5 】【6 】。 嵌入式系统的概念提出已经有相当长的时间了。最初,嵌入式系统主要用于军事、 工业及国家安全的相关领域。上世纪末,随着芯片技术的进步,更小、更强大芯片的出 现,嵌入式系统的广泛应用才成为现实。目前,嵌入式系统的应用有延伸到通信、身份 验证等领域。 嵌入式系统的处理器通常采用精简指令集结构,随着科技的发展衍生出了多种处理 器处理器,如a r m 、s t r o n g a r m 、p o w e r p c 等。其中a r m 体系结构凭借着其强劲的性 能和独特的授权模式,已经占有了近8 0 市场份额【7 】。 针对不同的应用需求,a r m 处理器目前已形成a r m 7 、a r m 9 、a r m l 0 、c o r t e x 8 】 等多个系列。系统开发人员可以根据具体的需求,从c p u 的技术指标以及软件支持工 具等方面进行适当的选择。本系统选择了三星公司的基于删9 2 0 t 内核和o 1 8 u r n 制 造工艺的$ 3 c 2 4 1 0 处理器。 i 3 人脸识别技术 自从9 1 1 灾难发生以后,各国在反恐、国土安全和社会安全方面的需要,对安防领 域加大了投入。作为安防的一个重要方面,身份识别也越来越得到各国政府的重视,而 生物特征识别又是身份识别技术的重中之重。据美国i n t e r n a t i o n a lb i o m e t r i cg r o u p 出版 的( ( b i o m e t r i c sm a r k e ta n di n d u s t r yr e p o r t2 0 0 7 2 0 1 2 ) ) 显示,生物识别市场2 0 0 7 年全球 收入超过了2 0 0 多亿人民币,并每年增长4 0 多亿人民币,到2 0 1 2 年生物识别市场收入 将达到4 0 0 多亿人民币【9 】。 上世纪末,人脸识别技术取得了长足的发展。研究方向已从注重人脸部件的识别转 变成为注重人脸整体特征的识别。基于人脸整体特征的识别是建立在图像或模式的基础 上的,这种方法将人脸作为一维或二维的数据进行分类。这类方法以人脸特征来描述人 脸,可以保留大量的人脸分类信息。 近年来,不管是在静态图像还是动态视频方面,人脸识别技术都有显著的进步。在 国内从事人脸识别技术研究的有上海交大和清华大学,其中上海大学侧重于研究基于视 觉场的人脸识别技术,而清华大学则侧重于基于k l 变换的人脸识别技术的研究【1 0 1 。在 国外的m i t 和m a r y l a n d 大学的科研工作者也在人脸识别领域做出了卓越的贡献。相对 于其它的生物识别方法,人脸识别技术具有以下优势: 2 长安大学硕士学位论文 1 非侵犯的识别过程。系统可以不接触用户的身体就达到身份识别的效果,只要在 摄像头前停留片刻,用户的身份就会被确认。 2 设备简单、价格便宜、使用方便。人脸识别采用一般的摄像头即可,不需要采购 昂贵的专门设备。这样可以在满足用户身份验证需求的基础上,节省企业的资金。图像 相关的采集过程可以在短时间内完成。 3 符合人的认知规律。人脸识别使用人脸图像进行识别,接近人们身份识别的习惯, 方便人工确认与审计。 4 人脸识别的过程具有主动性。 5 难仿冒。采用人脸识别技术的系统一般需要对象亲临现场,对象的身份难以仿冒。 人脸识别技术的特性使得系统不会被非活性的照片、木偶、蜡像欺骗。 虽然经过长时间的发展,人脸识别的相关技术取得了相当大的进步,但其本身还存 在多方面的限制,离系统的实际应用还有相当大的差距。随着相关技术研究的进一步深 入,人脸的检测与识别技术必将越来越完善,在不久的将来定会成功的应用于各个领域i 1 4 论文结构 本文研究的重点是基于嵌入式l i n u x 系统下人脸检测与识别系统的实现,并且针对 实现过程中的关键问题给出了具体的解决方案。论文的组织结构为: 第一章,分析了本论文的研究背景和意义,并对嵌入式系统和人脸识别技术发展进 行概括性的介绍,明确了本论文的主要工作。 第二章,嵌入式系统的系统平台搭建与实现。建立了完整的嵌入式交叉开发环境, 包括交叉编译互环境、n f s 、t f t p ;构建了嵌入式l i n u x 软件平台,包括b o o t l o a d e r 、 l i n u x 内核、相关驱动程序和根文件系统,为后续的开发做好准备。 第三章,详细阐述了人脸检测与识别的原理以及常用算法。 第四章,介绍嵌入式人脸识别系统的应用程序的各大模块的功能及设计实现,、并给 出最终的测试结果。 最后,对本课题工作进行总结,并提出其不足和需进一步研究的方向。 第二章嵌入式系统的系统平台的搭建与实现 第二章嵌入式系统的系统平台搭建与实现 2 1 嵌入式系统概述 2 1 1 嵌入式系统的特点 嵌入式系统是指将一个计算机嵌入到一个对象体系的系统,嵌入式系统具有以下几 个重要特征【l l 】: 1 体积小,集成效率高。由于嵌入式系统的设计需要,系统中的软、硬件都需要较 高的集成效率,即要求在尽量小的体积上实现系统的功能需求。 2 具有可定制的特点。嵌入式系统一般为特定用户的应用需求而设计,它与一般的 通用计算机系统的区别在于嵌入式系统要把通用c p u 中由板卡完成的任务集成在芯片 中,使系统体积更小、集成度更高、移动能力更强、与网络的耦合越来越紧密。 3 功耗低,电磁兼容性好,嵌入式系统可以在各种极端环境下工作,出现死机后可 快速重启。 4 开发标准化。用户为了减少开发时间、保证软件质量,用户可以通过嵌入式操作 系统对系统资源的合理调度来实现程序执行的可靠性。 5 不具备自主开发能力。嵌入式系统的开发必须在建立好的开发环境下进行,一般 情况下开发环境建立在普通的p c 上。 2 1 2 嵌入式硬件系统 本文采用的硬件平台是武汉创维特公司的基于a r m 9 2 0 t 内核的$ 3 c 2 4 1 0 a 微处理 器的j x a r m 9 2 4 1 0 开发板,该开发板的原型是三星公司开发的s m d k 2 4 1 0 开发板,主 要参数与s m d k 2 4 1 0 基本相同【1 2 】。 武汉创维特j x a r m 9 2 4 1 0 主要硬件设备参数: c p u :s 3 c 2 4 1 0 a( 2 0 3 m h z ) s d r a m :h y 5 7 v 5 6 1 6 2 0 ( 6 4 m b ) n o r f l a s h :i n t e lt e 2 8 f 1 2 8j 3 c 1 5 0 ( 1 6 m b 2 ) n a n df l a s h :k 9 f 1 2 0 8 u o b ( 1 6 m b ) 以太网芯片:r t l 8 0 1 9 a s ( 1 0 m ) l c d 屏:8 1 时6 4 0x4 8 01 6 b i t ( 带四线电阻触摸屏) 在此基础上,根据实际需要外接了u s b 摄像头。该摄像头采用了v i m i c r oz c 3 0 1 p l h 4 长安大学硕士学位论文 主控芯片和m i c r o nm 1 3 6 0c o m s 感光器件。 2 1 3 嵌入式操作系统 嵌入式操作系统( e m b e d d e do p e r a t i n gs y s t e m ,简称e o s ) 是一种支持嵌入式系统 应用的操作系统软件,它是嵌入式系统重要的组成部分,通常包括与硬件相关的底层驱 动软件、系统内核、设备驱动接口、通信协议等。e o s 负责嵌入式的全部软、硬件资源 的分配、调度工作,控制、协调并发活动。嵌入式操作系统除了具备了普通操作系统最 基本的功能,如任务调度、同步机制、中断处理等外,还有如下特点【1 3 】:小巧、强稳定 性与高可靠性、良好的移植性、开放性、可固化代码、提供强大的网络功能。 目前国际上流行的嵌入式操作系统有4 0 多种,主要有l i n u x 、w i n c e 、v x w o r k s 、 s y m b i a n 、e c o s 、q n x 等。总的来说,采用嵌入式l i n u x 系统有如下优势【1 4 】:1 广泛 的硬件支持。2 源码开放,软件资源丰富。3 内核性能高效,工作稳定。4 完善的网 络通讯,文件管理机制。5 大量外围硬件设备支持。6 良好开发工具包。7 软件开发 ! 一 者的广泛支持。 综上所述,本文选择l i n u x 作为本系统的操作系统,采用的内核版本为2 6 1 4 。 2 1 4 嵌入式l i n u x 软件系统的组成 、 从软件的角度来看嵌入式l i n u x 软件系统有以下5 个部分构成1 5 】:b o o t l o a d e r 、l i n u x 内核、根文件系统、硬件设备驱动程序以及应用程序。 1 引导程序b o o t l o a d e r b o o t l o a d e r 引导加载程序是系统加电后运行的第一段软件代码。b o o t l o a d e r 负责初 i 始化硬件设备、建立内存空间的映射图,把系统的软硬件环境调整到合适的状态,为调 用操作系统准备好环境。 2 l i n u x 内核 l i n u x 内核是l i n u x 操作系统的核心程序,指的是一个提供硬件抽象层、磁盘及文 、 件系统控制、多任务等功能的系统软件。l i n u x 内核向外部提供对系统设备的管理及调 用并负责对系统资源分配及共享等,最终目的是为用户程序服务。 3 文件系统 编译l i n u x 内核之后,要想使系统启动起来,还需要有一个根文件系统【1 6 】。根文件 系统的作用是存放了各种工具、应用程序、i n i t 程序、必需的库文件等。 4 设备驱动程序 第二章嵌入式系统的系统平台的搭建与实现 嵌入式系统通常有许多设备用于与用户交互,像触摸屏、摄像头、l c d 等等。内核 通过这些设备驱动程序来操作控制这些设备,比如在本系统中采用u s b 摄像头来获取 图像,这就需要驱动程序的支持。 5 应用程序 应用程序用来实现嵌入式系统预计实现的应用功能。 2 2 交叉开发编译环境的建立 嵌入式系统软件开发需要交叉开发编译环境的支持,因为嵌入式系统自身一般不具 备软件开发的环境,嵌入式系统上运行的应用程序的开发要在宿主机上完成,然后下载 到目标开发板上测试或者运行。 2 2 1l i n u x 宿主机系统 本文选择r e dh a te n t e r p r i s el i n u x5 ( r h e l 5 ) 作为宿主机的操作系统,安装过程 中选择全部安装系统组件。l i n u x 宿主机与目标板的连接有: 1 串口方式,目标板的c o m 0 连接到l i n u x 主机的c o m 0 ,主要通过串口传送一 些命令到开发板来完成指定功能。 2 网络方式,t f t p 和n f s 服务主要是通过网络实现的。 l i n u x 主机的i p 为:1 9 2 1 6 8 1 1 8 0 。 目标板的i p 为:1 9 2 1 6 8 1 4 5 。 2 2 2 配置简单文件传输协议服务 l 简单文件传输协议 1 7 1 ( t r i v i a lf i l et r a n s f e rp r o t o c o l ,简称t f t p ) 是一个用来在客 户机与服务器之间进行简单文件传输的协议。与其他文件传送方法相比,t f t p 有以下 几个优点。首先,t f t p 能够用于那些有u d p 而无t c p 的环境。其次,相比串口等其 他的下载方法,t f t p 的速度快而且较为可靠。在嵌入式开发的过程中采用t f t p 服务 来从主机下载文件,特别是在内核移植调试过程中会经常用到t f t p 服务。下面是t f t p 服务在r h e l 5 的中配置过程。 1 安装t f t p 服务程序 r p m - i v ht f t p 一0 4 2 3 1 i 38 6 r p m r p m - i v ht f t p s e r v e r - 0 4 2 - 3 1 i 38 6 r p m m k d i r t f t p b o o t 6 长安大学硕士学位论文 2 修改t f t p 配置文件e t c x i n e t d d t f t p 修改该文件里的s e r v e r a r g s 配置项为t f t p 根目录,修改d i s a b l e 配置为n o o d i s a b l e = n o s e n r e r _ a r g s = 一s t f t p b o o t 3 启动t f t p 服务 # s e r v i c ex i n e t dr e s t a r t 4 在b o o t l o a d e r 中设置相应参数后,就可以使用t f t p 服务。 2 2 3 配置网络文件系统服务 网络文件系统( n e t w o r kf i l es y s t e m ,简称n f s ) 是在u n i x 系统间实现磁盘文件共 享的一种方法,它支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文 件系统协议。最早之前是在1 9 8 4 年由s u n 公司开发出来的。功能是通过网络让不同的 机器、不同的操作系统能够彼此分享个别的资料。n f s 的基本原则是“容许不同的客户 j 端及伺服端通过一组r p c s 分享相同的文件系统”,它是独立于操作系统,容许不同硬 件及操作系统的系统共同进行文件的分享。通过n f s 的支持,用户可以在本地主机上 像操作本地分区一样对远程主机的共享分区( 目录) 进行操作。 通过n f s 可以把l i n u x 主机中的指定分区共享到嵌入式目标系统上,这样就可以直 接在嵌入式系统上运行程序,同时可以在线对程序进行调试和修改,方便了软件的开发, 所以n f s 在嵌入式l i n u x 开发中应用十分广泛。n f s 在调试根文件系统方面具有不可 替代的优势。而在应用程序开发环节,n f s 方式也比t f t p 方式的执行效率要高。 配置嵌入式l i n u xn f s 环境包括两个方面:一是l i n u x 宿主机的n f ss e r v e r 支持; 二是目标l i n u x 内核的支持。 1 配置n f s 服务。 修改n f s 配置文件e t c e x p o r t s ,在该文件中添加: h o m e w b z h w o r k s p a c e s r o o t f s 19 2 16 8 1 4 5 ( r w ,s y n c ,n o _ r o o t _ s q u a s h ) 添加的内容表示允许i p 范围在1 9 2 1 6 8 1 4 5 的计算机以读写的权限来访问共享目录 h o m e w b z h w o r k s p a c e s r o o t _ f s 。 参数说明如下: 州一读写权限。如果设定只读权限,则设为r o 。但是一般情况下,为了方便交互, 要设置为州。 第二章嵌入式系统的系统平台的搭建与实现 s y n c 一数据同步写入内存和硬盘。 n or o o ts q u a s h - - 此参数用来要求服务器允许远程系统以它自己的r o o t 特权存取该 目录。 2 。启动n f s 服务。 首先要启动p o r t m a p p e r ( 端口映射) 服务,这是n f s 本身需要的。 # e t c i n i t d p o r t m a ps t a r t 然后启动n f ss e r v e r 。此时n f s 会激活守护进程,然后开始监听客户端的请求。 # e t c i n i t d n f ss t a r t n f ss e r v e r 启动前,还要检查一下l i n u x 宿主机的i p t a b l e s 等防火墙,确定没有屏 蔽n f s 使用的端口和允许通信的主机。可以先在l i n u x 宿主机上面进行n f s 的回环测 设。在l i n u x 宿主机上执行命令: # m o u n t - tn f s1 2 7 0 0 1 :h o m e w b z h w o r k s p a c e s r o o t f s m n t n f s 如果n f ss e r v e r 正常工作,应该在m n t n f s 下面看到共享目录的内容。 3 目标板端的配置。 l i n u x 内核需要支持n f s 客户端。内核配置时,加选n f ss y s t e ms u p p o r t 和p r o v i d e n f s v s 3c l i e n ts u p p o r t 选项。若n f s 作为根文件系统,则需要加选r o o tf i l es y s t e mo nn f s 。 4 在目标板的l i n u x 命令行下,执行下列命令来进行n f s 共享目录的挂载。 # m o u n t - 0n o l o c k tn f s19 2 16 8 1 18 0 :h o m e w b z h w o r k s p a c e s r o o t _ f s m n t n f s 挂载成功后,目标板m n t n f s 目录中的内容与l i n u x 主机端共享文件夹中的内容是 完全相同的。 如果调试根文件系统,则将l i n u x 内核启动参数改为:c o n s o l e = t t y s a c 0 ,11 5 2 0 0 r o o t = d e v n f sn f s r o o t = 1 9 2 1 6 8 1 1 8 0 :h o m e w b z l w o r k s p ac e s r o o t f si p = 1 9 2 1 6 8 1 4 5r 、v 。 2 2 4 配置m i n i c o m m i n i c o m 是l i n u x 操作系统下的串行通讯接口,功能跟w i n d o w s 中的超级终端类似, 在嵌入式系统开发中常用它做控制台。在使用m i n i c o m 串口终端前,需要先配置参数。 m i n i c o m 的配置界面是菜单方式。在终端下执行“m i n i c o m s ”命令。在这个配置界面 中把以下项目更改为合适的参数: s e r i a ld e v i c e :d e v t t y s 0 b p s p a r b i t s :115 2 0 08 n1 长盛 学硕i 半位论文 最后把这些参数保存为默认参数,图21 为配置完成后的显示。 2 = r l 一h :f _ 】1 : 】l 、一。一 j 1 、:r u tt 1 州j 口uo d _ 圈2 1m i n i c o r e 配置完成 2 25 交叉编译环境的建立 首先介绍下交叉编译i ”1 的概念。简单地讲,交叉编译就是指一个在某个系统平台 下可以产生另个系统平台可执行文件。交叉编译之前需要建立交叉编译器,交叉编译 器的建立有两种方式,一是从头开始,从针对目标系统的编译器g c c 、二进制工具b i n u t i l s 、 标准库g l i b c 、l i n u x 内核头文件的源代码开始一步步地手工编译建立;另一种足直接下 载现成的交叉编译器。在本文中选择现成的交叉编译器。由于a r m - l i n u x - g c c 的2 9 5 3 、 3 41 版本的在编译个别程序时出现错误。所以本文选择3 4 4 版本的交叉编译器,从 h a p :i t i ps n a p g e a ro r g p u b s n a p g e a r t o o l s a r m - l i n u x g c c 3 44t a r b z 下载后,解压到 u s r i o c a l a r m 目录下。为以后方便使用,可将a r m - l i n u x g c c 所在目录加入l i $ p a t h 环 境变量中。 2 3b o o t l o a d e r 的裁剪 b o o t l o a d e r 是引导加载程序i ”i ,是系统加电后运行的第一段代码。在基于a r m 9 2 0 t 处理器的嵌入式系统中,b o o t l o a d e r 一般存放在地址o x 0 0 0 0 0 0 0 0 处。 231b o o t l o a d e r 的选择 b o o t l o a d e r 有硬件相关性高的特点,选用不同体系结构处理器的系统,需选择不同的 b o o t l o a d e r 。有多种不同b o o t l o a d e r ,表2 1 列出了几种比较流行并且支持l i n u x 操作系 9 第二章嵌入式系统的系统平台的搭建与实现 统的b o o t l o a d e r 2 1 1 。 表2 1 几种支持l i n u x 操作系统的b o o t l o a d e r u b o o t ,全称u n i v e r s a lb o o tl o a d e r ,它是一个由在德国d e n x 软件工程中心工作 的w o l f g a n gd e n k 所维护,由s o u r c e f o r g e 所主导的开放源代码开机加载程序,可以支 持多种不同的计算机系统结构,包括p p c 、a r m 、a v r 3 2 、m i p s 、x 8 6 、6 8 k 、n i o s 与 m i c r o b l a z e 。u b o o t 不仅支持引导l i n u x ,还支持引导w i n c e 、v x w o r k s 、q n x 等嵌入 式操作系统。选择u b o o t 的理由【2 2 1 有: 1 开放源码。 2 支持多种嵌入式操作系统,有l i n u x 、w i n c e 等。 3 支持多种体系结构的处理器,如a r m 、p o w e r p c 、m i p s 、x s c a l e 。 4 高度灵活的功能设置。 5 丰富的开发文档他强大的网络技术支持。 2 3 2u b o o t 主要目录结构 从前面的内容可以得知,u b o o t 具有高度灵活的功能设置,因此,在移植的之前有 必要了解u b o o t 的代码结构,从而更好的完成移植任务。下面为u b o o t 的主要代码目 录: 1 b o a r d 目标板相关文件。 、 2 c p u 与处理器相关的文件。 3 d r i v e r 通用设备驱动。 4 i n c l u d e u b o o t 头文件目录。 5 1 i b x x x 与处理器体系相关的目录,如l i b a r m 、l i b _ p p c 目录分别包含与a r m 、 p o w e r p c 体系结构相关的文件。 1 0 长安大学硕士学位论文 6 p o s t 上电自检文件的目录。 2 3 3u 。b o o t 的移植 本文采用的是u b o o t2 0 0 8 1 0 - r c 3 ,虽然u b o o t 已经有了对s m d k 2 4 1 0 的支持,但 与本系统使用的j x a r m 9 开发板仍有不同,因此还要对u b o o t 进行移植。 1 n o r f l a s h 移植 i n t e l 于19 8 8 年首先开发出n o rf l a s h 技术,彻底改变了原先由e p r o m 和e e p r o m 一统天下的局面。n o rf l a s h 需要很长的时间进行擦除,但是它提供完整的寻址与数据 总线,并允许随机存取存储器上的任何区域,这使的它非常适合取代老式的r o m 芯片。 n o rf l a s h 可以承受一万到一百万次擦除循环,它同时也是早期的可移除式快闪储存媒 体的基础。n o r 的特点是芯片内执行( x i p ,e x e c u t ei np l a c e ) ,这样应用程序可以直接在 f l a s h 闪存内运行,不必再把代码读到系统r a m 中。n o rf l a s h 的传输效率很高,在1 4 m b 的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性 能。由于目标开发板采用的n o rf l a s h 是:i n t e lt e 2 8 f 1 2 8 ,其容量为8 m 1 6 b i t ,与 s m d k 2 4 1 0 采用的n o r f l a s h 不同( 采用的是a m d 的l v 4 0 0 ) ,所以我们需要根据i n t e l t e 2 8 f 1 2 8 的芯片手册【2 3 1 来实现它的驱动程序,并将它覆盖b o a r d s m d k 2 4 i o f l a s h c 文件, 该文件是目标板的n o rf l a s h 驱动。n o rf l a s h 主要用来存放u b o o t 及其环境变量。 n o rf l a s h 驱动程序需要实现以下几个函数: u n s i g n e dl o n gf l a s h _ i n i t ( v o i d ) f l a s h 初始化函数 s t m i cv o i df l a s h - g e t _ o f f s e t s ( u l o n gb a s e ,f l a s h _ i n f o _ t * i n f o ) 计算f l a s h 每个s e e t o r 的偏 移地址 v o i df l a s h _ p r i n t _ i n f o ( f l a s h _ i n f o _ t 枣i n f o ) 显示f l a s h 的相关信息 s t a t i eu l o n gf l a s h _ g e t _ s i z e ( v u _ s h o r t * a d d r ,f l a s h , i n f o _ t 木i n f o ) 得到f l a s h 以字节为单位 的大小 i n tf l a s h _ e r a s e ( f l a s h _ i n f o _ t 木i n f o ,i n tsf i r s t ,i n ts _ l a s t ) # 擦除f l a s h 指定的s e c t o r 、 i n tw r i t e b u f f ( f l a s h _ i n f o _ t 水i n f o ,u c h a r 半s r c ,u l o n ga d d r ,u l o n gc n t ) 从内存到f l a s h 的数据拷贝 i mf l a s h r e a l _ p r o t e c t ( f l a s h _ i n f o _ t 水i n f o ,l o n gs e c t o r ,i n tp r o t ) 保护一个f l a s hs e c t o r 实现上述n o rf l a s h 驱动的关键是了解清楚芯片的连接方式和相应的命令字,前者 要查看电路图,后者需要查看芯片的d a t a s h e e t 。本目标板的n o rf l a s h 是由两块8 m 第二章嵌入式系统的系统平台的搭建与实现 1 6 b i t 的t e 2 8 f 1 2 8 扩充构成的8 m x3 2 b i t 存储器。实现上述函数时,应当注意传送命令 字的格式,以及寻址的特殊一些情况等。 驱动程序实现之后,我们需要改变u b o o t 中关于f l a s h 的配置代码,把i n c l u d e c o n f i g s s m d k 2 4 1 0 h 中的关于a m df l a s h 的内容全部删除,再添加以下代码: s u p p o r tf o ri n t e ln o r f l a s h 2 8 f 1 2 8 j 3 ax 2 c h i p s # d e f i n e c o n f i g i t l 一2 8 f 12 8 j 3 a1 # i f d e f c o n f i g i t l 2 8 f 1 2 8 j 3 a # d e f i n ec f g m o n i t o r b a s e p h y s f l a s h 1 # d e f i n ep h y s f l a s h s i z e 0 x 0 2 0 0 0 0 0 0 水2 5 6 k 宰12 8 = 3 2 m 木 # d e f i n ec f g m a x f l a s h s e c t02 8 ) 枣2 5 6 k 宰12 8 = 3 2 m 奉, # d e f i n ec o n f i g f l a s h e r a s e t o u t ( 2 木c o n f i g _ h z ) # d e f i n ec o n f i g f l a s h w r i t e t o u t ( 2 宰c o n f i q h z ) # d e f i n ec o n f i q e n vi s 义jl a s h 1 # d e f i n ec o n f i g e n v a d d r ( p h y s _ f l a s h _ i + 0 x 4 0 0 0 0 ) 木环境变量存放地址牛 # d e f i n ec o n f i ge n vs i z eo x 4 0 0 0 0 户变量存放空间的大小,应和块大小一致奉 # e n d i f 2 n a n df l a s h 移植 东芝在1 9 8 9 年的国际固态电路学会( i s s c c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门诊报销面试题及答案
- 简谱旋律考试题及答案
- 黑热病考试题及答案
- java面试题及答案约瑟夫环
- 智能驾驶技术趋势-1
- 孩子公益意识提升技巧
- 提升孩子专注力技巧
- 家电公司质量追溯管理规定
- 2.5直线与圆的位置关系(第1课时位置关系、切线的判定与性质)(教学课件)数学苏科版九年级上册
- 保安队列训练培训课件
- 2025年上海市高考化学试卷(含答案)
- 《人工智能概论-面向通识课程》全套教学课件
- 三区人才面试题及答案大全
- 物业服务礼仪培训大纲
- 2025年舞台灯光设备项目市场调查研究报告
- 防火钢质门、卷帘门项目可行性研究报告-商业计划书
- 2024年云南师范大学辅导员考试真题
- 普查保密协议书
- 《初学者指南:美术基础课件》
- 冶金矿山采矿设计规范
- 配送车辆违章管理制度
评论
0/150
提交评论