转自:http://blog.chinaunix.net/u/23800/showart.php?id=2188187
1 手机的硬件实现方式
1.1 三种硬件方案
手机的硬件实现方式主要有3种:
-
只用基带芯片,通常称作feature phone。
-
基带芯片加协处理器(CP,通常是多媒体加速器)。这类产品以MTK方案为典型代表,MTK全系列的产品基本上都属于这样的方案,展讯等其他公司也在推类似的产品。这是增强了多媒体功能的feature phone。
-
基带芯片+应用处理器(AP),也就是通常说的智能手机(smart phone)。有的方案将应用处理器和基带处理器做到一颗芯片里面,例如高通的MSM7200A。它有一个ARM11核(应用处理器)和一个ARM9核(基带处理器),两者通过共享内存通信。当然,智能手机也可以使用增强影音处理能力的协处理器。
本文的研究对象是智能手机的应用处理器上的软件,所以仅讨论智能手机,即基带+AP的方案。
1.2 智能手机
在智能手机中,手机功能的实现以应用处理器(AP)为主,基带芯片提供通信功能。可以把AP看作计算机,把基带芯片看作AP的无线modem。这个无线modem通过AT接口(相当于计算机和调制解调器之间的接口,但各厂家都有扩展命令)提供通话、短消息、上网、 UIM卡等功能。本文主要讨论AP上的软件。
2 AP软件概述
2.1 什么是AP软件
本文提到的“AP软件”是指应用处理器(AP)上所运行软件的总和,本文也将其称作手机软件或智能手机软件。如果把手机看作一台电脑,手机软件就相当于电脑上的操作系统与所有常用软件的集合。所以手机软件的重要性是不言而喻的。
另一方面,手机软件是智能手机的主要成本因素。按照一位Design House老板的说法:“硬件电路应该没问题.只要软件可以搞定”。当然,AP软件不是那么容易搞定的。在讨论AP软件现状前,让我们先看看AP软件的构成。
2.2 AP软件的构成
从实现的角度看:AP软件=操作系统+中间件+应用软件。以google的android为例:
图1 Android的软件框图
当然这只是个粗略的说法,没有包括引导程序(bootloader)。从执行的角度看,AP软件总是从引导程序开始运行,装载操作系统内核后将控制权交给操作系统;操作系统装载文件系统,执行文件系统上的系统初始化程序,启动所有后台服务程序,运行一个窗口管理器,为用户提供图形用户界面。然后,就是根据用户的操作执行窗口管理器的某项功能或调用相应的程序了。
2.2.1 操作系统
图2 黑莓手机
在这些系统中,只有Linux内核是一个“全 裸”的操作系统。Winodws Mobile和Symbian的发布版本都集成了操作系统、中间件和大量应用软件。相对于黑莓、iPhone,我们通常把Winodws Mobile,Symbian,Linux称作“开放”系统,因为不同厂商都可以使用(使用成本各有不同)。
网上在提到智能手机操作系统时通常还会提到Palm OS。Palm OS原来是PDA的操作系统。2003年Palm公司收购了Handspring公司,获得了Handspring的Treo智能手机;同时将自己的软硬件部门分拆为PalmSource(软件)和PalmOne(硬件),其中PalmSource拥有Palm OS。2005年9月,一家叫爱可信的日本公司以3.24亿美元的现金收购了PalmSource。爱可信将Palm OS更名为Garnet OS。爱可信原来的主要业务是一个叫做NetFront的嵌入式浏览器,联通的彩E方案也是这家公司提供的。2006年12月,Palm以4400万美元买下了Palm OS Garnet源代码的非独占性永久授权,用于Palm Treo智能手机等产品。
上海科泰世纪公司一直在研制自己的“和欣”嵌入式操作系统,并宣布自己与TD-SCDMA产业联盟有很好的合作关系,但目前还没有大量上市的产品。“和欣”是一个专有系统,公开的资料很少。“和欣”的主要思想是将软件分解为可以自描述的构件,在使用时根据需要拼装,可以理解为嵌入式领域的SOA(面向服务架构)。SUN的jini在90年代末就提出过“发布和发现服务”的架构,可以将“和欣”看作jini的 C/C++实现。最近,Google的Android方案也包含了类似的组件模型,组件(Activity)向系统注册自己的功能,每个组件要使用其它组件的服务时提出自己的要求(intent),系统根据intent在已登记的组件中确定合适的组件。可以,光有好的想法是不够的,还要有将想法付诸现实的能力。
2.2.1.1 “没有”操作系统的AP软件
有些公司在研发智能手机软件解决方案时没有使用开放的操作系统,他们可能使用了一些简单的实时操作系统(RTOS)内核,也可能采用了单任务的方案。这些公司也会向客户提供自己的SDK(软件开发包)或者方案的源代码。使用这些系统可能有以下问题:
-
系统的稳定性没有经过充分的验证;
-
没有广泛的第三方软件支持。
-
如果要定制它们的功能,就要投入研发力量熟悉他们的专有方案。如果开发的产品因为稳定性方面的考虑不能上市,前期的研发投入就会有较大的浪费。
2.2.2 中间件
中间件在操作系统的基础上,为应用软件提供了开发平台。好的中间件可以提供一个完善的应用软件开发框架(Application Framework)。中间件要解决的最基本的问题就是:
-
GUI开发包。GUI就是图形用户界面。应用程序的开发者使用GUI开发包开发应用程序的图形界面。
-
组件通信机制。中间件要为应用程序提供通信方式。
中间件的功能是很繁杂的。所谓“中间件,看不见”,应用程序主要负责与用户的交互,大量与用户交互无关的、看不见的功能都是在中间件中实现的,并封装成接口给应用程序调用。
大多数提供操作系统的公司都提供包含中间件的智能手机软件平台。只有在Linux平台,我们才需要自己定制内核,自己构造中间件和应用软件。也有一些提供Linux中间件的公司,例如韩国的MIZI Research(www.mizi.com),国内的飞漫软件(www.minigui.com)等。爱可信也提供基于Linux平台的智能手机开发平台(ACCESS Linux Platform)。
2.2.3 应用软件
应用软件包括厂家定制的用户界面(UI)和第三方提供的应用软件。智能手机的一个强项就是能够自由安装和卸载第三方提供的应用软件。不过,功能手机也可以通过J2ME或BREW开放第三方软件开发平台,只是功能上略弱一些。
2.3 AP软件的现状
目前市场上的手机还是以功能手机为主,特别是加CP的功能手机。例如:很多小公司都在使用从各种渠道获得的MTK方案。也有大公司用MTK,例如PHILIPS的399就使用了MTK的MT6227。但智能手机的市场份额呈明显的上升趋势。
粗略估计:在出货的智能手机中,AP软件以Symbian和Winodws Mobile为主,有少量采用Linux的手机(摩托罗拉、三星等)。黑莓在国外有较大市场份额,但暂时没有引入国内。另外,还有一个使用专有系统的iPhone。
-
“正宗”版。行货的Windows Mobile简体中文版;
-
“水货”版。往往设备上标有欧洲运营的标志,这种设备兼具第一种的功能和相对较低的价格;
-
“平民”版。用Windows CE装上一些应用软件,充作Windows Mobile;
-
“李鬼”版。在其它操作系统上“临摹”的Windows Mobile,第一二层菜单相似,其它就不一样了;
-
“押寨”版,从其它设备中“扒”下来的,找个相似的设计硬装进去。
为什么这么乱,就是因为好卖。这也从一个侧面说明了品牌的力量。
3 再说智能手机
智能手机和Feature Phone究竟有什么区别?其实,Feature Phone可以实现智能手机的大多数功能。两者最本质的区别就是不同的出发点。Feature Phone是在不断扩充应用功能的无线通信终端(行业术语叫移动台),而智能手机是增加了无线通信功能的手持式电脑。
Feature Phone的软件是从通信行业的无线终端软件发展而来,是不断扩充应用功能的嵌入式软件;智能手机的软件是从计算机行业的通用操作系统按照手持设备的需求裁减、演变而来。两者的软件是不同行业、不同思维模式的程序员开发的,但是这两个行业、这两种思维模式正在不断地融合。手机其实就是所谓3C合一,即计算机(Computer)、通讯(Communication)和消费类电子产品(Consumer Electrics)融合的典型代表。
通信上有个5W,即任何人(Whoever)在任何地点(Wherever)、任何时间(Whenever)可与任何对象(人或计算机,Whomever)互通任何信息(语言、图像、文字和数据,Whatever)。这只是智能手机要实现的通信功能。
3C、5W都是十几年前的概念了,手机将扮演的更重要的角色是就是移动信息终端或者说移动信息平台。在移动状态下,人类通过手机这个终端接入信息社会这个巨大的网络;信息社会通过手机这个平台将内容发布给人类。这也就是为什么Google这样以信息服务为主的企业会重视手机平台的原因。或者说,手机除了融合计算机、通讯和消费类电子产品外,手机还在3C与信息服务业的融合中扮演着重要的角色。
Feature Phone的软件基本上都运行在CPU的特权模式,在PC程序员看来,Feature Phone的软件就是一个做了UI的宏内核。而智能手机的软件体系基本上照搬了PC的软件体系,将内核、驱动(可以编入内核,也可以独立)和应用分开,各种应用包括最基本的窗口管理器都以应用程序的形式存在,在用户空间运行。智能手机软件与PC系统软件的区别主要是在应用层面的,例如显示屏大小、输入方式;另外智能手机作为便携式设备,必须尽量减小功耗。
软件进化的核心思想之一就是复用,不要重复发明车轮。从软件上看,智能手机软件的体系架构更先进、更合理。体系架构才是智能手机软件的最大优势。体系架构使智能手机的可扩展性是近乎无穷的。
一个完善的操作系统需要长时间的积累,巨大的研发投入。我觉得在智能手机领域,相对于传统的实时操作系统(VRTX、VxWorks、ThreadX等),Windows Mobile、Linux这些从PC操作系统演变来的系统更容易获得成功。
4 本文内容
本文将基于Linux内核的智能手机应用处理器软件简称作Linux手机软件。
分享到:
相关推荐
本文主要分析了当前智能手机操作系统的现状,并探讨了一个新兴的、经济实惠的解决方案——SmartNX Mobile。 首先,市场上主流的智能手机操作系统包括Windows Mobile(分为PPC版和Smartphone版)、Symbian(如S60、...
摩托罗拉A1200E是一款经典的智能手机,以其独特的“明”系列设计和强大的Java应用支持而受到用户的喜爱。本篇文章将详细讲解适合这款手机的几款软件及其功能,帮助用户更好地发掘A1200E的潜力。 首先,我们来谈谈...
接着,我们谈谈“电梯调试软件”。在电梯安装或维修过程中,调试软件起着至关重要的作用。它允许技术人员通过电脑连接到电梯的控制系统,进行参数设定、故障排查、性能测试等工作。通力的电梯调试软件可能具备以下...
正当移动电话制造商拥抱Linux作为下一代智能电话的平台的时候,开发和布置这样的设备还在面临着技术上的挑战,特别的是OEM们必须保证电话具有电源管理,快速引导,集成的无线接口,吸引人的小尺寸GUI以及各种的PIM...
在IT行业中,手机解锁是一个常见的需求,特别是对于像联想A298T这样的智能手机。解锁通常指的是解除设备的网络锁定,允许用户使用任何运营商的SIM卡,或者在更广泛的意义上,是指解除设备的系统限制,以便进行自定义...
在当前的数字时代,智能手机已经成为了我们日常生活中不可或缺的一部分,特别是在拍照领域。"智能手机拍照矢量人物插画"是一个设计素材集合,专为那些需要在作品中体现拍照场景或者人物互动的设计者准备。这个资源...
它通过无缝集成各种应用和服务,为用户提供了前所未有的便利性和用户体验,从而改变了人们对智能手机的看法和使用习惯。 #### 三、iPhone的发展历程与未来展望 从第一代iPhone到iPhone 4S,每一代产品都在不断进化...
智能家居控制系统是基于网络技术,实现家居设备的自动化控制,通过智能手机、平板电脑或者语音设备等控制终端,用户可以远程控制家居设备。在本系统设计中,控制系统通过触摸屏实现用户界面的交互,用户可以根据自己...
"手机通讯集信息、文件、语音呼叫于一体(小鸟版)"这一主题,揭示了现代智能手机的强大功能,它整合了多种通信方式,使我们的生活和工作变得更加便捷高效。 首先,我们来谈谈信息通信。信息通信是手机最基本的功能之...
这类软件通常包括学习管理系统、在线课程平台、智能题库系统等,旨在提高教学效率,丰富学习方式,实现个性化学习。例如,它们可能包含互动式练习、视频讲解、模拟测试等功能,帮助学生巩固课堂知识,提升学习效果。...
随着智能手机的普及,许多人都习惯于在手机上阅读电子书。然而,有时在电脑上阅读电子书能提供更舒适的体验,比如更大的屏幕、更好的视觉效果以及更方便的笔记功能。本文将详细探讨“用电脑看手机电子书的阅读器”这...
总结起来,MobBob资源是一整套用于构建智能手机控制机器人的解决方案,它涵盖了软件、硬件和控制系统的各个方面。通过整合这些资源,用户不仅可以学习到机器人设计的基本原理,还能亲自动手制作一台属于自己的智能...
语信E60是一款可能不太常见,但在特定用户群中使用的智能手机。对于这款设备的使用者来说,找到合适的驱动程序和实现ROOT权限可能是他们面临的主要挑战。在这里,我们将深入探讨这两个关键概念及其对设备操作的重要...
"谈谈手机软件.docx" 可能涵盖了手机软件开发的相关话题,包括应用程序架构、用户界面设计、性能优化、系统服务集成等。对于MTK平台,理解其特定的API接口和优化策略至关重要,因为这直接影响到软件的运行效率和用户...
在IT领域,刷机是一种常见的操作,特别是在智能手机用户中,特别是对于那些喜欢探索设备潜力、追求个性化设置或者修复系统问题的爱好者。本篇文章将详细解释关于"oppo-真我realme全系列机型官方ofp格式专用刷机工具...
CECT S560是一款经典的智能手机,其用户手册和驱动程序对于设备的正常运行至关重要。本文将深入解析"官方驱动-CECT S560说明书使用手册 简体中文版-CECT手机驱动.rar"这个压缩包中的主要内容,帮助用户全面理解并...
在我们的日常生活中,智能手机扮演着不可或缺的角色,而保持手机的正常运行则离不开驱动程序的支持。TCL e767作为一款深受用户喜爱的设备,其官方驱动及使用手册的重要性不言而喻。本文将深入探讨TCL e767的驱动程序...
【努比亚手机Z9-ROOT和recovery】是针对这款智能手机进行高级系统操作的重要环节,主要涉及了两个关键概念:ROOT权限和恢复模式(Recovery)。ROOT权限是Android系统中的最高权限,允许用户访问和修改系统级别的文件...
小米5A是一款经济实惠的智能手机,对于用户来说,正确安装并使用手机驱动程序至关重要,特别是在进行数据传输或进行刷机等高级操作时。本压缩包包含的资源是为小米5A设计的驱动程序,适用于32位和64位操作系统,同时...