基于CortexA8处理器Android驱动程序设计-开题报告_第1页
基于CortexA8处理器Android驱动程序设计-开题报告_第2页
基于CortexA8处理器Android驱动程序设计-开题报告_第3页
基于CortexA8处理器Android驱动程序设计-开题报告_第4页
基于CortexA8处理器Android驱动程序设计-开题报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

淮 阴 工 学 院毕业设计(论文)开题报告学 生 姓 名:陈帆帆学 号:1111312221专 业:通信工程(多媒体通信)设计(论文)题目:基于CortexA8处理器的Android驱动程序设计指 导 教 师:刘虎2015年3月9日 毕 业 设 计(论 文)开 题 报 告1结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写2000字左右的文献综述文 献 综 述1 引言随着智能家居技术的发展,嵌入式设备如今已经在家用设备中占据了一席之地1。目前,Android系统在手机领域应用十分广泛,相应的技术也已经很成熟,而在家庭网关、家用电器等控制方面,目前还没有得到大规模的运用2。将家用智能设备通过网关互相通信,能够极大地提高人们的生活质量,为人们提供便捷、人性化、安全可靠的生活服务。目前,基于Android的应用系统开发层出不穷,Android驱动研究也由来已久,但是对于Android整个系统的构架,从上层应用层通过框架层调用硬件抽象层,进而调用驱动层的研究基本上没有3。因此,对于开发者而言,开发Android应用程序只能通过硬件厂家提供的API进行编程,如果要自己对系统硬件进行调整,还需要在Android系统中进行一些工作来实现。2 Cortex-A8处理器和Android系统简介2.1 Cortex-A8处理器简介Cortex-A8处理器是ARM公司推出的一款高性能、低功耗的应用处理器,处理器的速度可以在600MHz到1GHz之间调节,能够满足300mW以下功耗的产品需求。它是一款基于ARMv7架构的超标量处理器,适合多媒体、信号处理等多种用途,并支持预编译和即时编译Java及其他字节码语言,支持运行时编译等。安赛卓尔电子科技推出的Cortex-A8工业开发板经国内多家厂商的使用,已在工业控制、医疗电子、节能环保、智能交通、能源节能、电力系统、通讯系统、纺织行业、数控行业、汽车电子、工业触摸屏控制系统、机器人视觉、媒体处理无线应用、数字家电、车载设备、通信设备、网络终端等环境恶劣场合广泛应用4。本设计使用的硬件平台是友善之臂公司生产的Tiny210开发板,开发板主要构成:主芯片采用ARM Cortex A8 内核的三星S5PV210,主频高达1GH;内存可扩展至512MB;采用Android2.3.1操作系统;内置GPS卫星信毕 业 设 计(论 文)开 题 报 告信号模块,智能导航;内置WiFi模块,随着3 G无缝的切换;蓝牙模块,可传输文件、蓝牙免提。2.2 Android操作系统简介Android系统是目前市场占有率最高的智能手机系统5,最初由Andy Rubin开发,后来被Google公司收购并进行了改进,开放式的开发使得Android吸引了众多开发人员和用户的眼球,招揽了众多的资源。目前,它不仅在手机领域占据相当大的份额,在平板电脑领域也有着很强的市场效应。Android系统经历了近10年的发展,目前已经有了众多版本,截止至2014年,它的最新版本是Android4.4.3。而版本虽然更新很多,它的架构基本上是一致的,主要分为应用层、应用程序框架层、系统运行库层和Linux内核层6。Android系统使用Linux2.6内核,提供安全、内存管理、进程管理、网络组、驱动模型等核心服务7。同所有Linux内核一样,Android内核是介于硬件层和软件组之间的一个抽象层次8。Android系统运行时实质是Java重新设计的虚拟机Dalvik,通过组件间接的向应用程序提供C/C+的接口。Android 的HAL(硬件抽像层)以封闭源代码的形式提供驱动程序,这样做的好处是可以将Android框架和Linux分开,但是却加大了底层开发人员的难度9 。3 开发工具简介3.1 Source InsightSource Insight是一款功能强大的代码查看、编辑软件,它支持C/C+、Java、C#、HTML等多种语言的编辑10。它不仅能显示各种格式的代码,还提供显示reference trees,classinheritance diagrams和calltrees等便捷的功能,在查看内核代码时,它是不二之选。除此之外,Source Insight还支持用户自定义符号数据库,我们可以高效率地利用它来开发多种程序。3.2 VMWareVMWare Workstation是一款常用的虚拟机软件,在做Linux驱动开发时,如果使用的是Windows操作系统,由于操作系统的不同,难免会遇到很多复杂的问题,这时我们需要一个Linux虚拟机,VMWare Workstation是最好的选择11。VMWare Workstation毕 业 设 计(论 文)开 题 报 告不仅支持多种操作系统,还包含一些常用的工具,比如跨系统的文件传输工具等。3.3 EclipseEclipse是一款著名的跨平台自由集成开发环境,就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境12。它的主要开发语言是Java,但是它不局限于实用Java语言:它推出了C/C+等多种语言的插件,支持多种语言开发。在开发Android项目时,它能够提供一套完整的开发环境,通过下载Android相关插件,它能够支持Android应用程序开发,还有许多实用的快捷方式,可以提高程序设计的效率。3.4 其他工具除了以上提到的几款软件之外,我们还需要计算机与开发板通信的一些工具,如串口驱动、TFTP服务器,跨平台编译工具等一系列辅助设计和调试的工具。4 研究该课题的目的和意义本课题主要研究基于Cortex-A8处理器上Android系统的驱动程序,为设计用户程序提供调用硬件的接口。本课题带有很强的研究性质,能够很好的提高我们的科研能力,锻炼我们的团队合作、自主研究项目的能力,培养我们的创新精神。通过对本课题的研究,一方面可以巩固所学的关于嵌入式Linux的知识,增加对ARM体系架构的认识,对Linux内核驱动的学习有助于我们巩固C语言基础、进一步提高我们的编程能力,Android应用程序的编写则可以巩固所学的Java语音,对Android系统架构的学习可以锻炼和检验我们的自学能力;另一方面,除了锻炼动手解决问题的能力之外,对于目前Android驱动开发资源稀缺的现状,本课题的研究能够为以后的开发者提供思路。5 对本课题的启发5.1 设计思路 (1) 完成系统总体的方案设计;(2) 编辑驱动程序,编译完成后加载进Linux内核;(3) 设计Android中间层,为Java应用程序使用本地C/C+程序提供方法;(4) 设计Android应用程序,调用设计好的驱动;(5) 进行系统调试及功能测试,实现程序的运行。毕 业 设 计(论 文)开 题 报 告5.2 设计的主要方法通过查找Cortex-A8处理器芯片的资料,找到相应的设备硬件接口和寄存器,熟悉硬件操作的方法,用C语言编写Linux内核模块,配置相关寄存器;然后通过对Android系统架构的了解,寻找Android中间层程序设计的方法,设计程序接口API;然后通过该API来设计Android应用程序,实现系统功能。其中最重要的步骤是寻找Android中间层设计的方法,它关系到Linux内核和Android应用程序之间的通信问题,只有这个问题得到解决,才能够完成设计目标。毕 业 设 计(论 文)开 题 报 告参 考 文 献1 熊琼. 基于ARM Cortex-A8与Android平台的智能家居系统设计D.太原理工大学,2014.2 闫俊. 基于Cortex-A8智能家居控制系统的设计D.湖北大学,2014.3 张武,韩俊乾. 基于Cortex-A8的Android 4.0.3系统架构之ADC的研究J. 安徽农业科学,2013,20:8777-8778.4 TI Cortex-A8 AM335X开发板工业控制板. 安赛卓尔电子科技. 2011-11-21.5 梁超. Android内核与标准Linux内核对比分析J. 工业设计,2012,02:74.6 李凯. Android操作系统分析与移植D.华南理工大学,2011.7 舒俊. 基于Android平台的移动终端设计与实现D.江苏科技大学,2013.8 李晔. 基于Cortex-A8架构嵌入式开发板的设计与实现D.华北电力大学,2014.9 王超. 基于Cortex-A8的Android系统分析与移植D.河北工业大学,2014.10 邵艳洁. Android操作系统移植及应用研究D.湖南大学,2011.11 朱亚. 专业的程序编辑器Source InsightJ. 软件,2001,02:51-53.12 舒云星,郑卫东. 基于Vmware的虚拟计算机实验系统J. 实验室研究与探索,2006,09:1086-1088.13 刘洪星,谢玉山. Eclipse开发平台及其应用J. 武汉理工大学学报(信息与管理工程版),2005,02:89-92.14 陈建明,张亚军,沈媛雪. 基于Cortex-A8处理器与Android平台的温度检测系统设计J. 华北水利水电大学学报(自然科学版),2014,05:69-71.15 Seung-Ho Lim,Seongwoo Lee,Woo Hyun Ahn. Applications IO profiling and analysis for smart devicesJ. Journal of Systems Architecture,2013,599:.毕 业 设 计(论 文)开 题 报 告2本课题要研究或解决的问题和拟采用的研究手段(途径)1 课题需解决的问题我本次课题计划实现的项目: LED驱动 按键驱动 ADC驱动 串口驱动 Android测试程序下面以LED驱动为例阐述实验步骤:(1) 首先在Source Insight软件设计一个Linux字符设备驱动驱动,通过查找Cortex-A8处理器的说明书,设置相关寄存器及管脚功能;(2) 然后通过交叉编译工具生成动态库LED.so,加载进Linux内核;(3) 设计JNI层,提供Java程序访问LED.so的本地方法;(4) 设计Android测试程序,调试LED应用,观察是否成功实现LED控制。2 本课题的研究手段(1)安装VMWare、Source Insight、Eclipse软件,ARM-LINUX-TOOLS工具链本设计需要开发Linux驱动程序,而限于计算机操作系统的使用习惯,Windows操作系统下使用VMWare虚拟机来进行开发是一种比较合理的选择;Source Insight适合查看文件数量较大的代码,也适合做驱动编写;在x86平台上编写的驱动程序需要使用ARM-LINUX-TOOLS工具链,才能将Linux驱动程序移植到ARM平台使用;Eclipse软件用于开发Android应用程序。(2)编写驱动程序、JNI程序及Android应用程序本设计选择了几个字符设备进行驱动程序的开发和系统设计,通过编写字符设备驱动,JNI接口和Android应用程序,实现整个系统的测试。(3)编译生成动态库、安装测试程序并进行调试本设计中需要编译得到Java程序可以调用的*.so库,用于在Android应用中使用,成功调用硬件即代表探索成功。毕 业 设 计(论 文)开 题 报 告3 设计的主要框架图1Android驱动的使用架构4 进度安排2015-03-01 2015-03-08 完成开题报告、外文翻译,准备开题

温馨提示

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

评论

0/150

提交评论