(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf_第1页
(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf_第2页
(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf_第3页
(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf_第4页
(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(电路与系统专业论文)基于arm9的android终端系统的研究与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着信息技术的不断发展和移动互联网时代的到来,越来越多的移动终端 设备开始走进人们的日常生活,新的终端产品层出不穷,展示了其巨大的市场 前景。伴随着移动终端设备的智能化、多功能化,嵌入式操作系统在移动终端 设备中起着举足轻重的作用,寻找一款稳定、开放的嵌入式终端系统,成为各 大终端设备开发商的当务之急。a n d r o i d 操作系统以g o o g l e 公司为后盾,博众 取长,以其友好的人机交互界面和开源等优点成为各大厂商的首选。a n d r o i d 是g o o g l e 公司专门为移动终端设备定制的o s 平台,以其可定制性、稳定性适 应不同的硬件平台,在短短几年内占领绝大部分终端市场。a n d r o i d 要继续扩 大市场,必将向低功耗、高性能、低成本的方向发展。 本文针对a n d r o i d 的发展趋势,提出了将a n d r o i d 终端系统移植到a r m 9 平台的课题,预计建立一个稳定的平台并提供一个可用的移植方案,应用到 a n d r o i d 终端设备的低端市场。本文所做主要工作包括:采用u b o o t 作为 a n d r o i d 终端系统的引导加载程序,分析了u b o o t 的启动流程,对u b o o t 进行了 移植,并在原有功能的基础上添加u s b 、n a n df l a s h 、y a f f s 2 和双启动相关的模块 代码增加优良的功能以极大程度地满足开发和系统的需求。本文改进后的 u b o o t 在文件系统镜像加载速度、镜像烧写速度以及用户界面友好性等方面比开 源的u b o o t 有很大的改善。分析目标板硬件与a n d r o i d 运行所需基本硬件、 a n d r o i d 内核与l i n u x 内核的不同,根据既有移植方案的缺陷,采用向a n d r o i d 内核中移植2 4 4 0 目标板的板级支持包的方案,根据既有硬件资源对a n d r o i d 内 核源码进行修整使其适应目标机。这种方案比既有方案代码改动量少,出错率 低。采用2 6 版本内核提供的系统模型来设计目标板的外围设备驱动程序,充 分利用系统模型的优越性。驱动程序的设计过程中,内核比较完善的驱动参考 已有的代码进行移植,系统未实现的驱动以及版本比较老的驱动根据系统模型 进行重新设计。该方案比传统的驱动程序设计方法节省工作量的同时也提高了 与系统紧密结合度。分析目标机和a n d r o i d 2 1 所支持的指令架构,采用对原生 的a n d r o i d 文件系统进行指令降级的方式来兼容目标板的体系结构,并针对目 标板平台对文件系统进行修改,在将a n d r o i d 文件系统移植到目标板平台的过 程上达到了技术上的创新。经过一系列的整合测试以及系统优化,本文所实现 的终端系统软硬件性能良好、运行稳定,从而验证了系统可以应用到终端设备 低端市场的可行性。 关键词:a n d r o i d ,终端系统,a r m 9 ,系统移植,l i n u x l i a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dt h ea r r i v a lo f m o b i l ei n t e r n e te r a ,t h e r ea r em o r ea n dm o r em o b i l et e r m i n a le q u i p m e n t sa p p e a r i n g i np e o p l e sd a i l yl i f e ,t h en e wt e r m i n a lp r o d u c t se m e r g ei na ne n d l e s ss t r e a m ,s h o wi t s t r e m e n d o u sm a r k e tp r o s p e c t a l o n gw i t hi n t e l l i g e n c ea n dm u l t i f u n c t i o n o ft h e m o b i l et e r m i n a le q u i p m e n t ,e m b e d d e do p e r a t i n gs y s t e mp l a yad e c i s i v er o l e i n m o b i l et e r m i n a le q u i p m e n t ,l o o k i n gf o ras t a b l ea n do p e ne m b e d d e dt e r m i n a ls y s t e m , h a sb e c o m eap r e s s i n gm a t t e ro ft h em a j o rt e r m i n a le q u i p m e n td e v e l o p e r s a n d r o i d o p e r a t i n gs y s t e mt a k eg o o g l ec o r p o r a t i o na st h eb a c k i n g , w i t h i t sf r i e n d l ym a l l - m a c h i n ei n t e r f a c ea n do p e ns o u r c eh a sb e c o m et h em a j o rm a n u f a c t u r e r sp r e f e r r e d a n d r o i di s g o o g l ec o m p a n ys p e c i f i c a l l y f o r t h em o b i l et e r m i n a l e q u i p m e n t c u s t o m i z a t i o no sp l a t f o r m ,w h i c hc a l lb ec u s t o m i z e d ,s t a b i l i t ya n da d a p tt od i f f e r e n t h a r d w a r ep l a t f o r m ,i naf e ws h o r ty e a r s ,o c c u p y i n gm o s to ft h et e r m i n a lm a r k e t i tw i l l b el o w p o w e r ,h i g hp e r f o r m a n c ea n dl o w c o s tr o u t ef o ra n d r o i dt oe x p a n dt h em a r k e t a c c o r d i n gt ot h ed e v e l o p m e n tt r e n do fa n d r o i d ,t h i sa u t h o rp r o p o s et h ep r o j e c t o fa n d r o i dt e r m i n a ls y s t e mt r a n s p l a n t e dt ot h ea r m 9p l a t f o r m ,e x p e c tt ob u i l da s t a b l ep l a t f o r ma n dp r o v i d e sa na v a i l a b l et r a n s p l a n ts c h e m e ,a p p l yi tt ot h el o w - e n d m a r k e to fa n d r o i dt e r m i n a l o u rw o r ki nt h i sp a p e ri ss h o w e da sf o l l o w :t h ea r t i c l e a d o p t su b o o ta st h eb o o t l o a d e ro ft h ea n d r o i dt e r m i n a ls y s t e m ,a n a l y z e st h es t a r t u p p r o c e s so fu b o o t ,t r a n s p l a n t su b o o tt ot a r g e tb o a r dp l a t f o r ma n di m p r o v e st h ef i n e f u n c t i o nt om e e tt h en e e d so ft h ed e v e l o p m e n ta n ds y s t e mb a s e do nt h eo r i g i n a l f u n c t i o n c o m p a r i n go ft h eo p e ns o u r c eu b o o t ,t h ei m p r o v e d u b o o to ft h i sp a p e rh a sa b i gi m p r o v e m e n ti nt h el o a d i n gs p e e do ff i l es y s t e mm i r r o ra n df r i e n d l yi n t e r f a c eo f u s e r t h ea r t i c l ea n a l y z e st h ed i f f e r e n c eo ft a r g e th a r d w a r ea n da n d r o i do p e r a t i o n s b o a r db a s i ch a r d w a r e ,a n d r o i dk e r n e lw i t hl i n u xk e r n e l a c c o r d i n gt ot h ed e f e c t so f t r a n s p l a n ts c h e m e ,t h es o l u t i o nt h a tt r a n s p l a n t i n gt h eb o a r ds u p p o r tp a c k a g eo f2 4 4 0 t a r g e tb o a r dt oa n d r o i dk e r n e li sa d o p t e d ,t h ea n d r o i dk e r n e ls o u r c ei sr e n o v a t e dt o f j tt h et a r g e tm a c h i n e t h i ss c h e m ec h a n g e sl e s sc o d ea n dh a sl o w e re r r o rr a t et h a n t h eo l ds c h e m e s y s t e mm o d e lw h i c hi sp r o v i d e db yt h ek e r n e lo f2 6v e r s i o ni s a d o p t e dt od e s i g np e r i p h e r a ld e v i c ed r i v e ro ft a r g e tb o a r d ,i tm a k ef u l l u s eo ft h e i i i s y s t e mm o d e l sa d v a n t a g e s c o m p a r i n gt h et r a d i t i o n a ld r i v e rd e s i g nm e t h o d ,t h i s s c h e m es a v et h ew o r k l o a da n di m p r o v e st h es y s t e ms c i e n t e c hc l o s e l y t h ea r t i c l e a n a l y z e st h ec o m m a n ds t r u c t u r eo ft h et a r g e tm a c h i n ea n da n d r o i d 2 1 ,t h em e t h o d t h a tr e l e g a t e si n s t r u c t i o n so fa n d r o i df i l es y s t e mi sa d o p t e dt of i tt h es y s t e ms t r u c t u r e o ft a r g e tb o a r d ,m o d i f yt h ef i l es y s t e mi nt h el i g h to ft h et a r g e tb o a r dp l a t f o r m ,t h e p r o c e s st h a tt r a n s p l a n t sa n d r o i df i l es y s t e mt ot a r g e tb o a r dp l a t f o r ma c h i e v e st h e t e c h n o l o g yi n n o v a t i o n a f t e ras e r i e so fi n t e g r a t i o nt e s t i n ga n ds y s t e mo p t i m i z a t i o n , t h es y s t e mh a r d w a r ea n ds o f t w a r eo ft e r m i n a ls y s t e mw h i c hi sr e a l i z a t e di nt h i s a r t i c l eh a sag o o dp e r f o r m a n c e ,i tp r o v e st h es t a b i l i t yo fs y s t e ma n dt h a ti tc a nb e u s e dt ov e r i f yt h ef e a s i b i l i t yo ft h et e r m i n a le q u i p m e n t k e yw o r d s :a n d r o i d ,t e r m i n a ls y s t e m ,a r m 9 ,s y s t e mt r a n s p l a n t a t i o n ,l i n u x i v 武汉理一r :大学硕士学位论文 第1 章绪论 1 1 课题的研究背景和意义 近几年来,随着移动互联网时代的到来,a n d r o i d 已经从最初的智能电话 领域逐渐进入教育、医疗、军事、汽车、家居等重要领域。它一路披荆斩棘, 攻城拔寨,发展势头有目共睹,已经成为移动平台领域当之无愧的王者。2 0 1 1 年1 月至3 月,a n d r o i d 占领了全球大部分的手机市场,市场份额首次超过了塞 班系统上升到全球第一【1 l :2 0 1 2 年第一季度数据显示,a n d r o i d 占领了中国 6 8 4 的智能手机操作系统市场,在全球市场占有率为5 2 5 f 2 j 。 现在a n d r o i d 系统已经应用到很多终端设备比如智能相机,m p 3 ,平板电 脑,智能电视,m p 4 ,上网本,智能手机等。相信在不久的将来,还将会有更 多采用a n d r o i d 系统的高科技终端产品进入人们的生活1 3 j 。作为一个开源平 台,a n d r o i d 毫无疑问是最成功的,它跨界的生态圈逐渐成熟,很容易让用户 对一种产品产生习惯性的依赖而购买a n d r o i d 平台的其它产品。a n d r o i d 具有开 源,免费,足够多的开发者等这些重要资质,无疑最有机会能够统治未来的掌 上终端【4 l 。 图1 1a n d r o i d 终端的应用 武汉理工大学硕士学位论文 a n d r o i d 终端已经逐渐地应用到人们的日常生活,如图1 - 1 所利引。在日常 生活的使用中,这些应用产品中经常会有一些不可预料的b u g 和缺陷,由此可 见,目前的a n d r o i d 终端系统依然不够稳定,开发出一个稳定的a n d r o i d 终端 系统变得非常重要,加上a n d r o i d 终端系统要继续扩展市场,必将向低功耗、 低成本的方向发展。本文针对市场需求,准备把市场上普遍运行在a r m l l 处理 器上的a n d r o i d 系统移植到更低的处理器平台,提出了基于a r m 9 的a n d r o i d 终 端系统的研究与实现的课题,有一定的实际意义。 1 2 国内外研究发展现状 在西方发达国家,a n d r o i d 从2 0 0 5 年被收购注资之后,组建了开放手机联 盟对a n d r o i d 系统进行开发改良,截止到2 0 1 2 年,g o o g l e 已经发布了1 0 个版 本的a n d o r i d 系统。a n d r o i d 在几年时间内,在全球的手机市场份额跃居全球第 一,并由智能手机逐渐扩展到平板电脑及其他终端领域 6 - 7 。 从a n d r o i d 终端的整体研究来看,西方发达国家a n d r o i d 技术起步较早, a n d r o i d 终端系统的底层主要由国外的g o o g l e 公司维护,因此其产品成熟,功 能较为完善,交互性也较好【8 。9 l 。但国外的a n d r o i d 终端移植致力于高性能的市 场方向,对a n d r o i d 终端低端市场没有做太大的研究,这种局面不利于a n d r o i d 终端占领终端设备的低端市场【9 - 1 0 1 和应用到由于价格因素而制约其普及的终端 市场。 而在我国,a n d r o i d 技术起步较晚i l ,但已有不少公司从事该类产品的开 发,如深圳的华为、中兴、步步高等均在从事a n d r o i d 终端的开发【1 2 】。目前国 内的a n d r o i d 开发还是主要以应用开发为主f 5 , 1 3 l ,对a n d r o i d 底层的开发相对较 少,加之绝大部分a n d r o i d 终端系统的硬件平台还掌握在外国公司的手中,国 产的a n d r o i d 终端系统在兼容性、市场运作模式、技术含量等方面有很多不 足,有很多地方需要改进【1 4 l 。国内的a n d r o i d 终端要在终端领域开拓市场,在 a n d r o i d 底层开发有待加强。 本课题相关的文献对a n d r o i d 移植到a r m 9 平台进行了一个简单的分析, 对移植过程中一些效果图进行了展示,未提供具体的移植方法。已有的参考资 料在本课题的研究中均是使用s u p e r v i v i 黑盒镜像对a n d r o i d 终端系统进行引 导,对终端系统的实现过程没有提供具体的移植方案,并只停留在将a n d r o i d 系统移植到目标板平台。本文针对已有研究的不足,采用歼源的u b o o t 取代 2 武汉理。1 = 人学硕士学位论文 s u p e r v i v i 黑盒镜像作为a n d r o i d 终端系统引导加载程序,并对其进行改进;运 用新方案移植a n d r o i d 内核到目标板;在将a n d r o i d 终端系统移植到目标板的 基础上对整个系统进行了优化,提供一整套开源的移植方案给开发商,提供一 个纯净的移植平台给应用程序开发者。 1 3 论文的主要研究内容和组织结构 1 3 1 论文的主要研究内容 针对目前a n d r o i d 终端系统的研究现状和目标机的硬件配置,本论文的主 要研究内容如下: 1 ) 研究u b o o t 源码,对u b o o t 源码进行改进增加相应的功能以极大程度地 满足开发和系统的需求。 2 ) 研究a n d r o i d 内核源码并将其与l i n u x 内核源码进行对比,比较两者的 不同,修整a n d r o i d 内核源码适应目标机。 3 ) 研究部分外围设备驱动程序的设计与移植,充分利用系统提供的模型, 使本文设计的驱动程序充分利用系统优越性的同时与系统紧密结合。 钔研究a n d r o i d 文件系统,对其进行修整,将原本运行在a r m y 5 指令架构 上的a n d r o i d 文件系统移植到仅支持a r m y 4 指令架构的目标机上。 1 3 2 论文的组织结构 本论文组织结构如下: 第一章分析课题提出的背景以及研究的意义,国内外发展现状,并对论文 的主要研究内容和组织结构进行归纳总结。为后续的开发拟定一个提纲和思 路。 第二章a n d r o i d 终端系统的整体规划,将对整个课题进行分析,规划整个 系统的流程设计,提出总体思路,分析a n d r o i d 与l i n u x 系统的不同并搭建开 发环境,为后续的开发做好前期的准备工作。 第三章u b o o t 的移植和功能改进,从目前主流的b o o t l o a d e r 中选择兼容性最 强的u b o o t 作为研究,并针对u b o o t 的移植和改进展开讨论,给后期的移植开发 工作做铺垫。 3 武汉理t 大学硕七学位论文 第四章a n d r o i d 2 1 内核配置和定制,将可以在目标板上运行的l i n u x 系统 的板级支持包移植到a n d r o i d 内核,再对其进行裁剪移植,设计相关的驱动程 序并编译进内核,保证外围设备能够正常运行。 第五章a n d r o i d 文件系统的改造和移植,本章节将对a n d r o i d 文件系统进 行指令降级并修改相应的文件适应目标板,并挂载文件系统进行测试。 第六章a n d r o i d 终端系统的整合测试,将对前面开发的u b o o t ,k e r n e l ,文 件系统移植到开发板,并对整个系统进行整合性测试,并将系统调到最优,保 证终端系统能够稳定、流畅地运行。 1 4 本章小结 本章首先分析了本课题的研究背景,针对a n d r o i d 终端在市场上的需求越 来越大,提出了a n d r o i d 终端研究的必要性。接着对国内外a n d r o i d 终端的发 展现状进行分析,剖析了a n d r o i d 终端的发展趋势,针对国内外对a n d r o i d 终 端现有研究的不足,在该环境下提出了本课题的研究必要性。 4 武汉理工大学硕十学位论文 第2 章a n d r o i d 终端系统的整体规划与前期准备 2 1a n d r o i d 终端系统的整体规划 2 1 1a n d r o i d 终端系统移植流程设计 在已有开发板硬件资源的情况下,本文要将一个a n d r o i d 终端系统移植到 开发板上,在移植之前首先要对后续需要做的工作做一个总体规划,使整个移 植开发工作按照这个规划流程有条不紊地进行下去。本文对整个a n d r o i d 终端 系统的移植开发流程进行了设计,设计流程如图2 - 1 所示。 安装1i n u n 操 作系统 配置相关服务 ( e g :n f s t f t p ) 建立交义编译工具链 ( e g :a r l i 一1 i n n x g c c ) f 载k e r n e i 源码弗裁剪、编 译、移植 n f s 启动系统测试根文件系统 以及内核的可用性 用制作文件系统的工具在脓 有的n f s 文件系统的基础上根 据目标平台选择并制作 a n d r o i d 文件系统 将可以烧写的义件系统镜像 和内核镜像下载垒f l a s h 中 进行整合测试调优( 合格即 底层搭建完毕) 图2 1a n d r o i d 终端系统开发流程图 1 ) 安装l i n u x 操作系纠1 5 1 ,由于本文目标机的性能无法满足开发环境的要 求,整个开发过程无法在目标机上完成,需要借助宿主机平台来协助完成开发 任务,在宿主机平台上安装一个l i n u x 操作系统给后续提供一个平台是整个开 发过程的首要前提,l i n u x 操作系统有很多发行版可以选择,本文选择r e dh a t 5 武汉理工大学硕士学位论文 l i n u x 并进行了全部安装。 劲配置相关服务,在第一步安装了l i n u x 操作系统,但系统中很多服务还 不能使用,在开发过程中会用到一些服务,需要进行相关的配置。本文在调试 与下载镜像文件到开发板时会用到t 聊限服务;在调试镜像文件是否可用时, 会选择用n f s 启动来避免重复多次制作镜像文件和烧写镜像文件,需要用到 n f s 服务。这些服务在后期开发会用到的,在安装的l i n u x 系统中配置这些相 关服务是必不可少的。 3 ) 建立交叉编译工具链【1 6 】,要在x 8 6 上的l i n u x 系统中编译出可以在目标 机硬件平台a r m 上可以运行的镜像文件,需要通过交叉编译工具链编译,鉴 于这种需求,本文必须在已安装的l i n u x 系统上建立适合目标板平台的交叉编 译工具链,本文采用的a r m 平台,需要建立的交叉编译工具链为 a r n l l i n u x g c c 。 钔下载u b o o t 源码并编译移植,u b o o t 和p c 机中的b i o s 类似,是a n d r o i d 终端系统启动运行时首先执行的一段程序【n 1 8 l ,本文要让整个系统顺利运行在 目标机上,首先应该移植能够正常运行在目标平台上的u b o o t 烧写到开发板 上,使后续的开发工作得以进行。鉴于u b o o t 的重要性,本文在移植时需要反 复测试并添加本文所需要的功能直到达到既定的需求为止。 5 ) 下载k e r n e l 源码i ”j 并裁减、编译、移植,内核是整个系统的核心,而整 个l i n u x 内核又是相当之庞大的,如果不对内核做任何修改而直接编译,编译 出来的镜像文件也会相当大,无法在嵌入式硬件中运行。l i n u x 内核具有可裁 减的功能,可以根据特定的平台的硬件配置进行相应的定制,以适应特定平 台,避免编译无用的部分缩减内核大小,优化整个系统的性能。 6 ) 制作n f s 文件系统测试第五步定制的内核,只有内核没有文件系统的系 统无法正常运行,内核启动时需要调用相关的脚本读取配置文件,如果获取不 到这些信息在启动的时候就会产生k e r n e lp a n i c 错误【删,最终导致系统无法正常 加载。为了使系统正常运行,需要制作一个文件系统去提供内核启动过程中所 需要的配置文件,测试内核的可用性,也同时为后续制作a n d r o i d 文件系统打 基础。本文整个开发工作是在宿主机上的l i n u x 系统上进行的,n f s 启动是开发 板通过网络去访问建立在宿主机l i n u x 系统上的文件系统,通过n f s 启动,可 以节省在调试过程中频繁制作镜像文件和烧写镜像文件的时间,方便宿主机与 文件系统传输数据等,鉴于诸多优点,本文选用n f s 文件系统启动来测试内核 的可用性,以及调试文件系统的可用性。由于a n d r o i d 根文件系统的制作是以 6 武汉理工大学硕士学位论文 此处的n f s 文件系统作为模板,通过制作文件系统的工具制作相应的文件系 统,在n f s 启动时需要测试文件系统的可用性和稳定性。 7 ) 制作a n d r o i d 文件系统,用制作文件系统的工具以第六步制作的n f s 文 件系统为基础定制目标机所需的文件系统f 2 l 】,本文所需a n d r o i d 文件系统,属 于y a f f s 2 文件系统的一种,应该建立y a f f s 2 文件系统。 8 ) 进行整合测试调优,把前面几个步骤中所做的所有镜像文件包括引导程 序、内核、f s 烧写到目标板,为了保证系统的可用性和稳定性,需要对整个终 端系统进行测试并进行优化,测试并优化系统使所有功能达到预期的效果即 可。 9 1 发布产品。 整个移植流程可以概括为将u b o o t 、a n d r o i d 内核、a n d r o i d 文件系统针对 目标板进行相应地修改,并将这些嵌入式软件做成镜像烧写到目标板上的存储 设备n a n df l a s h 中,最后整个a n d r o i d 终端系统在目标板n a n df l a s h 上的软件布 局如图2 2 所示。 图2 - 2a n d r o i d 终端系统软件布局 2 1 2a n d r o i d 终端系统移植思路介绍 : 包 g _ _ - 包 框 架 应用程序层 应用程序框架层 当 系统函数库 服务支持 引导加载 u b o o t ! l 堡里塑奎鋈塑旦l l 1 文件系统源 ! n 磊再睡网l 徊修改与移 :商嚣耐! j 植 o = = _ = = := - = = = 一j 一 f ! ! l ! 竺! = l ! 竺= = = i 、 ! i 驱动移植 i ! 【内核驱动修 :i 甄扣再网:f 改与移植 图2 - 3a n d r o i d 终端系统总体移植思路 7 武汉理工大学硕士学位论文 前面一节已经将a n d r o i d 终端系统的移植流程进行了设计与分析,本节对 该流程中所用移植思路做介绍,为后期的开发工作拟定一个提纲,使后续的工 作能够更有针对性地进行。a n d r o i d 终端系统总体移植思路如图2 3 所示。下面 将对该移植框图中几个关键部分的移植思路进行介绍,各个模块的移植思路如 下: 1 1u b o o t 移植思路:原生的u b o o t 源码不支持本文采用的$ 3 c 2 4 4 0 平台,由 于从头开始移植,工作量大、过程复杂、开发周期长,本文采取参考相关平台 代码进行移植减少开发周期以及工作量。本文所用开发板c p u 为a r m 9 2 0 t ,在 u b o o t 源码不支持微处理器为$ 3 c 2 4 4 0 的前提下【2 2 1 ,退而求其次,选择u b o o t 中 支持并且c p u 为a r m 9 2 0 t 的开发板相应的平台代码作为移植模板参考,根据本 文开发板与参考开发板的不同做针对性的修改,从而大大减少工作量。将 u b o o t 移植思路概括为图2 4 所示。 目标板u b o o t 定制 u b o o t 基本配置 u b o o t 自带的与硬件 相关的功能 新增功能 在参考板基础上 进行移植 原有源码上进 行移植 参考相关资料 进行设计 目标板与参考板 的不同 目标板硬件配置 - - - _ - _ _ - _ _ - _ _ _ - _ _ _ _ _ _ _ 一 l 目标板p c b 版图 l _ _ _ _ _ _ - _ - _ _ _ _ - _ - _ - _ _ _ _ _ _ _ _ 一 相关芯片手册 分析u b o o t 源码 目标板硬件资源 图2 4u b o o t 移植思路 2 ) a n d r o i d 内核移植思路:参考学术界已有的资料,a n d r o i d 内核【2 3 岱】移植 有两种方案可以选择,第一种方案为先将l i n u x 内核移植到开发板上,再在这 个基础上打a n d r o i d 补丁增加a n d r o i d 功能;第二种方案为先实现可以使用的 a n d r o i d 内核,然后再在这个基础之上打支持所需移植开发板平台的补丁即往 a n d r o i d 内核中移植已经可运行的l i n u x 内核的板级支持包。因为第一种方案不 但补丁量大,出错的机会也高,经过考虑,本文决定采用第二种方案,将事先 已经移植好的l i n u x 内核上的板级支持包移植到a n d r o i d 官方内核上,这种方 案避免了打大量补丁而产生的大量错误,节省了开发时间。因为该方案中采用 的l i n u x 内核可以正常运行在2 4 4 0 目标板上,说明其硬件相关部分已经完全支 8 武汉理工大学硕十学位论文 持目标板。在移植过程中需要遵循的原则是与硬件相关部分需要修改源代码 时,如果该部分是l j n u x 内核和a n d r o i d 都共有的部分,尽量参考l i n u x 内核版 本来修改源代码:与硬件无关部分的源代码的修改以及a n d r o i d 特有的部分完 全沿用a n d r o i d 版本。将a n d r o i d 内核移植思路概括为图2 - 5 所示。 目标板a n d r o i df l ;l 核定制 a n d r o i d 内核中与硬件相 关的部分 a n d r o i d 内核中与硬件无 关的部分以及其特有的 部分 多巧u j 位日怀恹 上运行的li n u x 内 核进行修改 沿用官方可用的 a n d r o id 版本 图2 5a n d r o i d 内核移植思路 3 ) 外围驱动程序移植与设计思路: 取移植的方式来避免不必要的工作量, 在内核中已经比较完善的驱动,本文采 这种类型的驱动只需要参看芯片手册以 及相关资料,根据不同的硬件对代码进行相应的修改。原生内核中不支持或者 已经支持但版本比较老没有充分利用系统的优越性的驱动,本文采取重新手动 设计的方式来将这些驱动完全移植到开发板上。本文使用的是2 6 版本的内 核,该版本内核引入了很多驱动模型,本文移植和设计的驱动程序,将充分利 用系统已有的模型,输入型设备全部遵循2 6 内核的i n p u t 子系统模型【捌,除此 之外所有的驱动都遵循2 6 内核的总线设备驱动模型,使驱动程序完全与内核 模型融合,便于内核管理各类驱动的同时也节省了开发工作量。将外围驱动的 移植思路概括为图2 - 6 所示。 r 一 ;垦型 原有驱动的基 础上移植 根据栩关资料 重新设计 根据日标扳硬件填充 硬件相关的结构体 图2 - 6 外围设备驱动程序移植思路 9 系统驱动模型 武汉理工大学硕七学位论文 4 ) a n d r o i d 文件系统移植思路:原生的a n d r o i d 文件系统是a r m v 5 架构 的,并不支持a r m v 4 架构的2 4 4 0 开发板【2 - 2 8 1 ,本文要把a n d r o i d 文件系统移植 到2 4 4 0 目标板中,必须要将指令集降级到a r m v 4 架构,除此之外,由于 a n d r o i d 文件系统并非专为2 4 4 0 开发板设计,很多地方还不兼容,本文还需要 修改相关文件使a n d r o i d 文件系统适应本文所用开发板。将a n d r o i d 文件系统移 植思路概括为图2 7 所示。 目标板a n d r o i d 文件系统定制 体系结构部分 跟目标平台相关部分 打a r m v 4 幸b 丁对 文件系统进行 指令降级 根据目标板平 台进行修改 图2 7a n d r o i d 文件系统移植思路 2 2 系统移植前期准备工作 2 2 1 分析a n d r o i d 与l i n u x 的不同 表2 - 1l i n u x 系统与a n d r o i d 系统对比 l i n u x 系统a n d r o i d 系统 有本地窗口系统没有本地窗口系统 有g l i b c 的支持没有g l i b c 的支持 包括一整套标准的l i n u x 使用程序不包括一整套标准的l i n u x 使用程序 不包含a n d r o i d 特有的驱动增强了l i n u x 以支持特有的驱动 在宏观上对比a n d r o i d 系统和l i n u x 系统,将两者的差异用表格列出,如 表2 - 1 所示。a n d r o i d 源于l i n u x 系统但又高于l i n u x 系统,它吸收了l i n u x 的 精华部分,并增强了l i n u x 不足的部分。a n d r o i d 摒弃了l i n u x 的本地窗口系 统,重新设计了友好的g u i 界面;a n d r o i d 最初用于便携的移动设备上,出于 效率的考虑,并没有沿用g l i b c 作为c 库,而是自己开发了一套b i o n i cl i b c 库 来代替g l i b c ;l i n u x 最初是应用在服务器上,而a n d r o i d 的设计初衷是运用于 智能手机上,l i n u x 现有的设备驱动无法满足a n d r o i d 系统的全部需求, a n d r o i d 在已有设备驱动的基础上进行了增强;由于l i n u x 内核存在一些b u g , a n d r o i d 并没有完全照搬l i n u x 的内核,a n d r o i d 内核在修正了l i n u x 的部分b u g 】0 武汉理工大学硕十学位论文 并增加了对g o l d f i s h 平台以及y a f f s 文件系统的支持等f 2 9 - 3 3 1 。 表2 2a n d r o i d 内核源码在l i n u x 源码基础上增加的部分 a n d r o i d 增加的部分 增加的文件在源码目录树中的路径 基于a r m 架构增加 k e r n e l a r c h a r m m a c h - g o l d f i s h g o l d f i s h 平台 k c m e l i n c l u d e a s m a r m a r c h g o l d f i s h 增加了y a f f s 2k c m e l f s y a f f s 2 ,实际上,a n d r o i d 包经过编译后生成的 f l a s h 文件系统 s y s t e m i m g 和r a m d i s k i m g 文件就是y a f f s 2 格式的包。 增加了a n d r o i d 的 k e m e l d r i v e r s a n d r o i d ,主要分为:i p c 系统,日志系统,电 相关d d v e r源管理,闹钟管理,内存控制台,时钟控制的g p i o 增加了s w i t c h 处理k e m e l d r i v e r s s w i t c h 增加了g o l d f i s h 平 图象显示设备,字符输出设备,键盘输入设备,r t c 设 备,u s bd e v i c e 设备,s d 卡设备,f l a s h 设备,l e d 台相关的驱动文件 设备,电源设备,音频设各,电源管理,时钟管理 下载l i n u x 内核2 6 2 9 源码和a n d r o i d 2 1 内核源码,分析a n d r o i d 内核和 主线l i n u x 内核源码【3 4 1 ,比较两者不同的地方,并对两者之间的不同进行分析 并整理成表格如表2 2 所示,后面的移植将根据这些差别进行有针对性的修改 以及移植工作。 2 2 2 移植目标和a n d r o i d 硬件需求对比 本文采用友善之臂开发板m i n i 2 4 4 0 作为本课题的评估板,将其硬件资源与 a n d r o i d 平台运行的基本硬件需求对比生成表格,如表2 3 所示。 表2 3 硬件资源对比表 硬件资源a n d r o i d 运行基本硬件需求目标板规格 c p ua r m 9 2 6a r m 9 2 0 t r a m1 2 8 m6 4 m f l a s h2 5 6 m2 5 6 m 屏幕触摸屏3 2 0 x 2 4 0 触摸屏 对比目标板和a n d r o i d 运行的基本硬件需求,目标板的硬件配置和a n d r o i d 基本硬件需求有一定的差距,但经过后续的改进,能够兼容这种差距,后期的 开发工作会针对本节的硬件差异对a n d r o i d 进行相关的改造工作。 2 2 3 软件开发环境的搭建 在软件开发环境搭建【3 5 】之前,需要安装l i n u x 操作系统,本文主要研究终 端系统的开发过程,在此不对操作系统安装的具体过程进行介绍;本文安装的 武汉理工大学硕士学位论文 l i n u x 系统是r e dh a t ,本文以下所有的开发工作都在安装r e d h a t5 的p c 机上进 行。 1 ) 邢服务器的搭建。唧是简单文件传输协议的简称 3 6 - 3 8 1 ,通过该协 议可以在目标机与宿主机之间通过网络传输的方式进行文件传输。本论文在开 发过程中需要用到邢服务器进行文件传输,必须对其进行搭建。 ( 1 ) 从r p m 包安装t r i p s e r v e r 。从l i n u x 操作系统的安装光盘上找到t r i p - s e r v e r 的安装包t r i p s e r v e r - o 3 2 _ 4 i 3 8 6 r p m ,把r p m 包拷贝到工作目录下,执行 安装命令r p m i v ht f q p s e r v e r - 0 3 2 4 i 3 8 6 r p m 。并执行命令m k d i r t f l p b o o t 建立 t r i p 的主工作目录。 ( 2 ) 修改t i p 服务器配置文件并启动服务。修改文件唧服务配置文件 e t c x i n e t d d t f t p 对访问的用户以及工作目录等进行设定。然后执行命令 c h k e o n

温馨提示

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

评论

0/150

提交评论