基于Android的智能手机的设计与实现图文.docx
《基于Android的智能手机的设计与实现图文.docx》由会员分享,可在线阅读,更多相关《基于Android的智能手机的设计与实现图文.docx(45页珍藏版)》请在冰豆网上搜索。
基于Android的智能手机的设计与实现图文
武汉理工大学
硕士学位论文
基于Android的智能手机的设计与实现
姓名:
熊刚
申请学位级别:
硕士
专业:
计算机应用技术
指导教师:
李宁
20100501
中文摘要
随着社会的发展,目前全球的手机用户数量已经超过了PC机的数量,而且手机的数量正在快速增长,其中智能手机所占的比例越来越大,特别是随着3G技术发展时代的到来,移动互联网将是一个巨大的市场,许多国际大公司以及国内的大公司都在抢占智能手机领域的市场份额。
这期间,出现的智能手机可谓五花八门,种类繁多,但是真正好用,受用户喜爱的智能手机并不多。
Android的出现带给了智能手机领域更多的机遇和挑战,由于Android基于Linux内核且具有开源、免费的特性,它迅速得到广大爱好者以及许多厂商的支持。
本文所对应的研究项目是一个基于Android智能手机的设计和实现,该智能手机在硬件上采用Marvell公司的PXA310处理器,其处理速度可达624MHz,除了一般手机必备的外设之外,还带有摄像头、蓝牙、WiFi、GPS等较高端的外围设备;在软件上,采用了Google推出的Android系统。
本文首先对课题背景做了阐述,包括智能手机操作系统目前的状况、Android的优势以及相关产品的介绍、课题研究目的及意义、系统设计目标、论文主要工作;然后针对Android的特性给出本系统开发环境的搭建方法以及下载源码和编译源码的方法,为降低成本对本系统采用的调试方法进行了分析和选择:
进而对系统的硬件和软件进行设计,硬件设计包括硬件总体设计、处理器设计、存储器设计、音频模块设计、基带模块设计、蓝牙模块设计、USB模块设计等,软件设计包括本系统启动代码的移植、内核的移植、文件系统的制作,接着对一些有代表性的驱动进行了比较详细的分析。
对于内核移植,Android内核移植和标准Linux内核移植有些差别;对于Android文件系统制作,需要编译Android源码得到内容,和普通Linux文件系统制作有所区别;对于驱动,Android下驱动和Linux驱动不完全相同,比如Android音频系统中对路由的选择可以通过配置文件实现,再比如Android下LCD驱动需要双缓冲等。
在这之后对Android应用程序的蓝牙模块进行了深入的分析;最后进行了总结并指出本智能手机需要改进的地方。
关键词:
Android,智能手机,Linux,PXA310
Abstract
Withthedevelopmentofthesociety,thenumberofmobilephoneshasexceededthenumberofPCmachines,andthenumberofmobilephonesisgrowingrapidly,whichsmartphonemarketshareisgrowing.Especiallywiththeapproachof3Gtechnologyera,mobileInternetwillhaveahugemarket,manyinternationalcompaniesanddomesticlargecompaniestrytoexpanditsmarketshare,today,thereareallkindsofsmartphones,butnotallofthemarelovedbytheusers.TheemergenceofAndroidbringsmoreopportunitiesandchallengesinthisfield.AndroidisbasedontheLinuxkernelandhasopenandfreefeature,itquicklyhadtheoverwhelmingsupportoffans,andmanyvendors.
。
Theproject
ofthisresearchpaperisadesignandimplementationofsmartmobilephonebasedonAndroid.Atthehardware,itusesMarvell’SPXA310processor,theprocessingspeedupto
624MHz,inadditionwiththegeneralmobilephone’Speripheralsitalsohascamera,bluetooth,WiFi,GPS
andotherhi【ghendperipherals;Atthesoftware,itusesGoogle’SAndroidsystems.
Thisarticlefirstdescribedbackground,includingthecurrentsituationofsmartphoneoperatingsystem,Android’Sadvantages,andtheintroductionofrelatedproduct,thepurposeandsignificanceoftheresearch,systemdesigngoalsandthemainworkinthispaperdo;Thengivesthemethodofhowtosetuptheenvironmentofsystemdevelopment,howtodownloadtheAndroidsource
codeandbuildit,howtoselectdebuggingtoolsforreducecosts;Andthendecrbiesthesystem’Shardware
andsoftwaredesign,thehardwaredesignincludingprocessordesign,memory
design,audio
systemdesign,basebandmoduledesign,bluetoothmoduledesign,USBmoduledesign;Thesoftwaredesign,includingthebootloaderporting,kernelporting,howtomakefilesystem,detailedanalysisofsomesampledrivers.Fo}thekernelporting,AndroidkernelportinghassomedifferenceswithstandardLinuxkernelporting.Fortheandroidfilesystem,itrequirestobuildAndroid
sourcecode,ithassomedifferenceswithgeneralproductionofLinuxfilesystems.Forthedriver,theAndroiddriverandLinuxdriveriSnotexactlythesame,suchasAndroidaudio
systemontherouteofchoicecanbeachievedthroughtheconfigurationfile,andtheAndroidLCDdriverneedsdoublebuffering,etc.Afterthis,thispaperanalyzestheAndroidapplicationsofbluetoothmodule.Finally,madeaconclusionandpointedoutthattheimprovementofthissmartphone.
Keywords:
Android,SmartPhone,tinux,PXA310
独创性声明
本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其他教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
签名:
鲫
学位论文使用授权书
本人完全了解武汉理工大学有关保留、使用学位论文的规定,即学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权武汉理工大学可以将本学位论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位论文。
同时授权经武汉理工大学认可的国家有关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息服务。
(保密的论文在解密后应遵守此规定)
研究生(签名):
稚融1导师(签名)涛与日期知加.s.穆
1.1课题研究背景
第1章绪论
1.1.1智能手机操作系统现状
智能手机是指像电脑一样可以通过下载安装软件来拓展手机出厂的基本功能的手机,一般具有智能手机操作系统。
相对于非智能手机,无论在功能还是处理速度上都有很大的提高。
目前全球市场份额排名前四的智能手机操作系统依次是iPhoneOS、Symbian、BlackBerryOS和Android,其中Android最年轻,市场份额正迅速增加。
下面简单介绍除Android之外的几款常用的智能手机系统。
1、iPhoneOS
iPhoneOS是苹果公司专门为iPhone开发的智能手机系统。
主要用在iPhone和iPodtouch上。
iPhoneOS最突出的优点是可以使用多点触控操作,这样使得操作iPhone非常方便。
目前iPhoneOS在智能手机操作系统的市场份额占据第一位111。
2、Symbian
Symbian最开始由诺基亚、索爱、MOTO、西门子等公司出资组建,专门研发手机操作系统,现如今被诺基亚收购,成为诺基亚全资公司。
Symbian操作系统在智能移动终端上拥有非常强大的应用程序和通信能力。
目前Symbian在智能手机操作系统的市场份额占据第二位【到。
3、BlackBerryOS
BlackBerryOS是RIM专用的智能手机操作系统。
BlackBerry在美国市场占有率相对最高,BlackBerry的比较具有个性的设计就是宽大的屏幕和便于输入的QWERTY全键盘,所以BlackBerry在移动电子电邮方面非常方便,由于我国用手机发短信多于发电子邮件,所以BlackBerry系统的邮件优势在中国不存在,目前BlackBerryOS在智能手机操作系统的市场份额占据第三位,BlackBerry手机市场主要在美副31。
4、WindowsMobile
微软用于PocketPC和Smartphone的软件平台。
WindowsMobile系统将大家熟悉的Windows桌面延伸到了移动设备中。
WindowsMobile是Microsoft为手持设备推出的“Windows移动版”,目前最新的版本是WindowsMobile6.1。
受Android的冲击,目前WindowsMobile在智能手机操作系统的市场份额下降到4%左右141。
5、LinuxOS
Linux凭借其开放源代码、免费的优势,经过来自全球程序员的努力,再加上Google、IBM等计算机巨头的支持,Linux在手机操作系统市场中成为一股新生的力量,尤其是在许多知名厂商如摩托罗拉宣布支持Linux手机操作系统之后,Linux的市场份额有增加的趋势。
目前基于Linux的智能手机占有7.3%的市场份额l5。
。
6、PalmOS
PalmOS由Palm公司研发,是一种32位的嵌入式操作系统,它的操作界面采用触控式,几乎所有的控制选项都排列在屏幕上,使用触控笔进行所有操作。
目前基于PalmOS的智能手机占有2.3%的市场份副引。
1.1.2Android商业运作模式及优势
目前手机数量以大大超过传统PC机数量,随着3G时代的到来,手机上网将变得越来越方便和普及,谷歌作为一个互联网巨头,当然不会放过这个巨大的市场,谷歌希望将自身在网络广告领域的垄断优势扩展至手机互联网。
Android作为一个通用的手机操作系统,任何一家厂商均可使用,这点和
WindowsMobile类似,但是不同的是Android整套系统完全开源和免费,而
Mobile是需要收取一定授权费用。
这也就是为什么Android市场占有率在短时间内大大超过WindowsMobile的主要原因。
Android和iPhoneOS、Symbian、BlackBerryOS等系统在商业运作上有很大的不同:
iPhoneOS只为苹果的iPhone所用,并由苹果严格控制;诺基亚、索爱各自运维着与自家硬件紧密结合的Symbian版本;而BlackBerryOS是RIM专用的操作系统;Android则采用了联盟的方式,几乎世界上所有的大厂商都加入了谷歌手机开放联盟,如国外的知名企业:
包括Google、HTC(宏达电)、T-Mobile、高通、摩托罗拉、三星、LG等,国内的知名企:
中国移动、联通、
武汉理工人学硕十学位论文
电信和华为、联想等都加入到这个大家族中。
显然,这些大公司的加入有助于自己推出Android相关的产品,同时也增强了Android的生命力:
如今移动设备的处理器九成以上采用ARM核,造成这种局面最重要的一个原因是ARM公司和全世界各半导体厂商的合作所带来的强大生命力,在这点上,Android与ARM的商业运作有些许类似r丌。
在软件上,Android与其它硬件厂商的结合度越高,第三方厂商就越可能考虑采用它,第三方硬件厂商可以扩展Android本身不支持的功1H‘E(比如和Android界面完全不同的独有界面),可以增加针对某些设备特有的功能。
由于不同网络服务提供商、不同手机制造商的用户需要不同的设置,对于这种情况,Android系统本身并没有集成任何一种形式的应用管理程序,因此Android智能手机的软件安装、系统升级、多媒体同步、应用软件管理以及云同步在不同的手机上可以以不同的形式出现pJ。
对于手机用户而言,Android拥有应用程序Market,类似于iPhoneAppStore,Market上有大量的应用程序,Android手机可以通过网络在线安装,且绝大部分应用程序免费并开源,这是Market优于AppStore的地方。
在当今的软件大环境方面,软件的环境正在逐渐改变,微软这种软件巨头在压力下,也不得不将WindowsMobile开源,软件免费开源已成为一种趋势。
软件的含义正在改变,传统软件业以微软为代表,纯粹是卖软件,卖一份软件,获得一份收入。
而以谷歌为代表的一些企业,已经不将卖软件作为公司的主要收入来源,甚至它的所有软件都免费,给用户提供免费的服务。
卖服务而不是卖软件已成为一种趋势I引。
云计算的出现,将会是传统软件的一种颠覆,目前许多公司,如mM,亚马逊、微软、Google等都以投入到云计算中,其中Google走在前列,并有很多此类产品,比如GoogleDocs就可以完成在线的办公文档的编辑、保存、打印等。
Android是Google推出的产品,其对网络的支持是任何其他智能手机系统无法比拟的,可以说Android就是应网络而生,随着3G时代的到来,Android对3G的良好支持,Android在网络方面的优势更为突出。
Google将在2010年正式发布ChromeOS,ChromeOS主要运行在类PC机器上,而Android则主要运行于移动设备上,有了这两者的组合,几乎适用于个人终端的所有领域,再加上Google的各种服务,相信在不久的将来,微软的霸主地位将被Google取代,Android的产品将随处可见。
武汉理1=大学硕士学位论文
1.1.3Android产品现状
由于Android采用Linux内核,基本上可以跑Linux的平台,就可以跑Android,Linux作为一个高速发展的开源平台,目前兼容的平台种类和数量是其它智能手机无法比拟的。
虽然Android是专门针对手机设计的系统,但是目前Android的应用绝不局限于手机,已经有大量的手持设备如PDA、MP4、GPS等采用了Android系统,甚至有厂商将Android应用在上网本、机顶盒上。
下面介绍比较典型的基于Android的手机GoogleOn和NexusOne。
GoogleOn是Android发展历史上第一款基于Android的产品,此手机由中国台湾宏达(H1陀)制造,简称G1,代号为Dream,最开始于2008年10月22日由美国T.Mobile在美国运营。
G1中包含了丰富的软件:
包含基于Webkit核的浏览器、即时通软件(腾讯QQ、雅虎通、MSN等)、音乐播放器、视频播放、GoogleMaps、客户端电子邮件收发器、Gmail电子邮件、Youtube在线视频播放客户端软件【11J。
NexusOne是谷歌推出的自主品牌手机,也是Google的第一款自主品牌手机,Google曾经在主页上对其进行推广。
该手机采用了最新的Android2.1系统,机身超薄,仅仅为11.5毫米,但是丝毫没有降低作为一款高档Android手机所具有的功能。
该智能机采用了3.7英寸触控屏,可以提供高达WVGA的分辨率,为获得更好的处理速度,该智能机采用了高通Snapdragon处理器,其频率高达1GHz。
该智能机还配置了500万像素摄像头,具有自动聚焦功能,支持GPS/A.GPS导航以及电子罗盘,支持的网络服务有WCDMA/HSDPA,带有无线局域网功能(具备Wi.Fi),提供丰富的娱乐功能,采用3.5毫米耳机接口。
另外还具备其他诸如轨迹球多彩LED提示、光线光和距离感应器、加速计、USB2.0连接、电子邮件收发、HTML网络浏览以及完整的Google服务11引。
1.2课题研究目的及意义
本课题围绕设计一个Android智能手机为中心,从软件和硬件上分析Android智能手机的开发流程和基本的方法、技巧。
本文从软件的最底层到最上层进行了分析:
从启动代码到内核再到驱动、文件系统,最后到Android应用层,在应用层以蓝牙为例进行了深入的分析。
本文对底层软件以及上层软件开发过
武汉理1二大学硕士学位论文
程中的环境进行了介绍,针对每层的特点对调试方法进行了分析和选择;在硬件上,给出了系统的总体设计框图,以及各个主要模块的电路图。
为设计和开发一个Android智能手机提供了一个参考。
1.3系统设计目标
本系统设计目标就是设计一个可以量产的Android手机,包括硬件设计和软件设计。
在功能上和具有和G1相似的功能,除了普通手机具有的功能(电话短信功能)之外具有以下功能:
WiFi、蓝牙、收音机、GPS、Web浏览、GoogleMaps、多媒体、Email客户端、照相、摄像、日历日程、联系人和其他应用等。
1.4论文主要工作
本论文的主要工作是在设计Android智能手机的同时,系统地分析设计Android智能手机的基本流程、方法和技巧。
在硬件上,进行了微控器的设计、摄像头模块的设计、AGPS模块的设计、WIFI模块的设计、蓝牙模块的设计、存储器(包括NandFlash和SD洲)的设计、USB接口设计、音频模块设计
(包括麦克风、喇叭、受话器)、LCD设计、震动电机设计、LED设计、按钮设计、SD卡槽设计、基带模块设计。
在软件上,进行了BootLoader的移植、Linux内核的移植、Android的移植、LCD驱动开发、无线模块的驱动开发(包括WIFI、AGPS、基带)、键盘驱动开发、音频驱动开发、NandFlash驱动开发、摄像头驱动开发以及其它外围设备驱动的开发,以及上层的应用开发,如蓝牙相关的功能(传文件、听音乐等),基带相关的功能(拨打电话等)。
在开发过程中,不断完善功能,消除BUG,最终做成一个可以量产的Android智能手机。
武汉理『.大学硬十学位论文
第2章Android系统及其开发环境搭建方法
2.1Android软件架构
图2-1Andmid架构
上图为Android的软件架构,下面对图2-1从下到上依次介绍。
1、Android内核
Android内核采用的Linux2.6,内核为上层提供安全、内存管理、进程管理等服务,以及硬件驱动等。
内核还是一个介于硬件层和系统上层软件之间的一个抽象层次。
2、Android运行时
这是Android的核心类库,为应用程序提供虚拟机和必要的运行环境,该虚拟机专门为嵌入式设备优化过,相对其他虚拟机具有更高的效率。
3、Android库Android包含一整套C/c++库,提供给Android系统的各个应用层框架调用
武汉理工大学硕士学位论文
并通过应用层框架暴露给开发者。
下面列举一些核心库:
・系统C库:
由BSD的标准C系统库衍生而来,使得可以更好地使用于
嵌入式设备;
◆媒体库:
该媒体库支持很多流行音频和视频格式、静态图形文件(包括
MPEG4、H.264、MP3、AAC、AMR、JPG、PNG)的播放和录制;
・界面管理:
提供对子系统显示功能的访问,跨应用的无缝组合,比如
2D图形层;
・LibWebCore:
Android浏览器采用的浏览器核,目前使用比较多,也很
流行的浏览器核,如Google研发的浏览器Chrome也是基于该核;
・SGL:
Android底层的平面图形引擎;
・3D库:
在硬件支持的情况下,比如本系统采用的处理器内部具有硬件
加速器,该库对这种情况有较好的支持,并且专门对嵌入式系统进行了优化;
・SQLite:
为写应用程序提供了数据库接口,它是一个比较小的数据库,
Android所有应用均可采用该数据库【131。
4、Android应用框架
上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。
上面提到的一些应用程序都是基于应用框架的API开发的,程序员可以直接使用应用框架提供的API,一来可以简化程序设计,提高工作效率,二来可以简化简化组件复用机制:
所有应用程序都可以发布自己的功能,而且这些功能可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。
一个完整的Android应用程序一般包含以下元素:
●内容提供器,可以让一个应用程序访问另外一个应用程序的数据,如拨
号程序访问联系人;
●一套丰富而且可以由用户自定义、方便扩展的视图器件,含有常用的一
些视图界面元素,如下拉列框、按钮等;
・通知管理器,Android应用程序把自身的通知信息显示在状态栏上,如
蓝牙连接状态、显示手机信号强度等级等;
・Android资源管理器,顾名思义,可以对本地的资源进行管理,并为应
用程序提供访问接口,如读写本地文件等;
●行为管理器,负责管理应用程序的生命周期,Android本身没有关闭应
用程序的功能,由系统根据资源分配自动关闭一些应用程序。
5、Android应用
Android将自带一些比较核心的应用程序,如电子邮件、短信相关的服务、日历、浏览器、联系人管理、地图等。
所有应用程序采用Java语言编写,并运行于Google自己研发的虚拟机上。
2.2Android源码的获取和编译
本系统选择Ubuntu8.04平台作为开发机(以下如果未作特别说明,均为Ubuntu8.04平台),在下载Android源码之前,有必要介绍一下沓t,酉t是LinusTorvalds为了方便Linux内核开发人员提交和获取内核源码而研发的一个版本控制软件,它是一个分布式系统【14】。
因为Android是由kernel、dalvik、bionic、prebuilt、build等多个Git项目组成,为了更方便地上传和下载这些项目的源码,Google专门为该项目编写一个脚本,名为repo,它把西t进行了封装,无需记忆哪些复杂的Git命令就可以方便的管理这些源码了。
1、下载Android源码
・①在开发机上安装git以及curl
在Ubuntu8.04上安装软件,一般只要设定了正确的更新源,然后使用apt.get实现在线安装软件,