一、概述
目前,Android支持处理器情况:
ARM+Android 最早支持,支持的最完善,主要用在手机市场,目前积极进军上网本、智能家居等市场;
X86+Android 目前已经支持的比较完善。推出了atom+Android的上网本,买点在于支持Atom+Android 和 Atom+Window7双系统;
MIPS+Android 目前在移植、完善过程中。主要目标在智能家电、上网本领域。龙芯也在积极支持Android;
Powpc+Android 目前在移植、完善过程中。
还在其它众多处理器厂商在移植Android到其现有的处理器,或根据Android的特性研发新的处理器。
为何ARM和Android能够走的如此紧密?本文想阐述一下个人的看法,主要从:市场结合点、技术结合点、及可能存在的问题这3个方面分析。
二、市场结合点
1、Google选择ARM
众所周知,Google一直以来都有开发操作系统的想法。与此同时竞争对手微软也在积极进军网络搜索引擎市场,目前搜索器Bing正在积极蚕食Google的市场份额。但究竟如何选择切入点,是个非常关键的问题。
在这几年中,智能手机市场的发展异常迅猛,移动互联网向智能手机市场渗透的应用越来越广泛和成熟,并从中造就了苹果iPhONe的商业奇迹。更为重要的是,随着移动应用的发展,移动搜索将成为Google和微软竞争的下一个主战场。对此,Google意识到移动搜索将是其下一个新的增长点。
Google最终选择了手机市场作为其切入点。那么选择什么样的硬件平台呢?当前90%左右的手机都包含ARM处理器,可以说ARM处理器在手机市场上处于绝对霸主地位,且发展势头迅猛。Google选择基于ARM开发Android,从市场角度上讲,是顺理成章的事了。
2、ARM支持Google
随着ARM处理性能的提升及3G网络的日趋成熟,ARM和它的竞争对手们都瞄准了3G智能手机及上网本市场。
现在处理器厂商之间的竞争不紧是处理器性能的比较,更是整个生态环境的较量。在嵌入式乃至PC市场都遵循这样的规律。ARM公司的特殊的经营模式,更是决定了它更要为它的芯片客户提供这种生态环境。在智能手机或上网本产品上,除了处理器,最重要的就是操作系统和用户应用程序了。在智能手机领域最成功的操作系统和用户应用莫过于苹果的iPhone了。虽然iPhone手机也是采用的ARM处理器,但每款iPhone只能使用到某一种ARM处理器,且iPhone没有开放给其它硬件厂商。这显然不能满足广大ARM芯片合作厂商的要求。诺基亚的Symbian平台存在同样的问题。
在上网本市场上,ARM的竞争对手Intel,利用其支持Windows 7的优势,已经抢先占领的部分市场。而最打击ARM的莫过于微软宣布Windows 7不支持ARM。
而以上种种市场环境,使ARM迫切需要一种具有Linux系统的开放、免费、性能卓越,又具有iPhone那样开发方便、应用丰富,最好还能有微软那样有影响力的公司来维护的操作系统。而Google的Android系统正好迎合了ARM的这种需求。
ARM 于2009年11月17日宣布启用 Android解决方案中心,提供采用 Android 进行ARM 相关产品开发设计运用。ARM表示,除了来自主要OEM厂、芯片合作伙伴及解决方案供货商的支持外,目前另有超过35个ARM Connected Community成员加入这个计划。中心提供一应俱全的建议和指引,可协助开发人员取得所需的工具及信息,进而设计创新装置满足消费者需求。还可针对ARM平台上的Android提供优化的专属开发工具、解决方案及服务。
三、技术结合点
1、ARM处理器的技术的发展
先看看ARM应用处理器的发展情况,ARM处理器从ARM7、ARM9、ARM10、ARM11到目前的CORTEX-A8 CORTEX-A9。处理器的性能不断的提升。看看最新的几款适用于消费电子的ARM应用处理器的性能:
● TI (德州仪器)
Omap3430 Cortex-A8核600MHz (诺基亚N96采用此芯片)
Omap3530 Cortex-A8核600MHz ARM+DSP双核
● Samsung(三星)
S5PC100 Cortex-A8核 600MHz (iPhone 3GS采用此芯片)
S5PC110/S5PV210 Cortex-A8核 1GHZ (号称目前世界上最快的ARM处理器)
● Freescale(飞思卡尔)
i.MX512/ i.MX513/ i.MX515 Cortex-A8核600MHz~1GHz
(在多款上网本中得到应用)
● Marvell(马维尔):
PXA930 800MHz Cortex-A8核
ARMADA 500/600/1000系列 Sheeva PJ4核心 1GHz~1.2GHz(支持ARMv7指令集,架构异同)
● Qualcomm(高通):
QSD8650A/ QSD8672(Snapdragon系列) 1.3G~1.5G scorpion核心(支持ARMv7指令,架构异同)
● Nvidia(英伟达):
Tegra ARM11核 700MHz
Tegra2 (下一代产品) Cortex A8(或A9)核
当然频率只是衡量处理器性能的一个方面。不过从中也能看出ARM处理器的性能已经取得了很大的突破,进而可以应用至更多领域。linux一直以来是支持ARM处理器最全面的操作系统。Linux支持几乎所有的ARM应用处理器。这一点为Android提供非常好的技术支撑。
另外传统的ARM Linux图像开发方法主要有:QT、MINIGUI、GTK、Microwindows等。但基本上都存在开发环境搭建困难、调试困难、程序可移植性差、应用程序不丰富等问题。所以开发门槛高,开发周期长,影响产品进度及用户体验。iPhone的出现,更让ARM Linux系统相形见绌。而Android的出现,给ARM Linux系统重新注入了活力。
2、Android的技术特点
● 开放、免费
Android是一个开放的平台(2009年10月份开放了所有的源代码),所以其它公司可以按自己的想法使用这个平台,“任何人都可以使用Android平台,可以任意添加代码,可以不受限制地下载到移动设备上使用”。特别是所有用户都可以设计出自己风格的ui界面,而不会向windows mobile那样。如:HTC的Sense UI、摩托罗拉的MotoBlur、华为Canvas、SonyEricsson 3D UI等。
图1 华为Canvas
● 丰富的应用
Google 的Android Market在应用程序的提供方式上,走的是和苹果的App Store一样的 模式,目前也取得了不错的成绩。下面是最近的一项调查的结果
● 一种基于Linux的操作系统
Android采用了Linux内核,但它没用任何Linux的GUI方案。它的应用框架和GUI库都用Java语言实现。 Android内部有一个叫作Dalvik的Java虚拟机,Java程序由这个虚拟机解释运行。 Android平台的应用程序目前还是必须用Java语言开发。
Android选择ARM作为其主要支持的硬件平台,除了市场原因外,在技术层面上可能是更多的考虑到ARM处理器的高性能,及其使用的广泛性。可以吸引以前在ARM平台上开发的工程师,加入到Android的开发行列中。
四、可能存在的问题及风险
1、硬件平台差异大
硬件平台的差异给一些智能程序的编写带来不便,可能相同功能的程序必须针对不同的平台编写。而这个问题在iPhone是不存在的。现在最吸引眼球的软件就是那些和传感器、通讯等外设关联紧密的程序,所以这也会一定程度上影响到Android应用程序的发展。
2、软件盗版问题
可能所有的手机软件都会面临这个问题,如目前网龙公司运营的91手机助手平台上传播着大量盗版iPhone、Gphone手机软件。如果处理不好,可能会影响到手机应用程序开发者的积极性。
3、Google推出自己的手机平台
传言Google可能会推出自己的手机品牌,就像苹果的iPhone一样。但如果Google真的这么做的话,就好比ARM公司宣布开发自己的处理器效果差不多。会严重打击各个终端厂商的利益。个人感觉除非其它厂商的Android手机都表现不好,否则Google没有必要推出自己的手机品牌。
4、Google推出新的操作系统Chrome
Google将要开发Chrome OS操作系统的消息的确令很多致力于开发Android项目的工作人员感到沮丧。如果Google处理不好两个操作系统的关系,也会影响Android的发展。
5、Android整体性能还需完善
目前还没有一款Android手机和iPhone媲美的手机。