以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- Linux应用开发 (http://sun4.cn/bbs/list.asp?boardid=32) ---- 基于Linux的移动电话开发技术及前景 (http://sun4.cn/bbs/dispbbs.asp?boardid=32&id=1687) |
-- 作者:wangxinxin -- 发布时间:2010-11-23 13:50:57 -- 基于Linux的移动电话开发技术及前景 正当移动电话制造商(oem)拥抱linux作为下一代智能电话的平台的时候,开发和布置这样的设备还在面临着技术上的挑战。 特别的是oem们必须保证电话具有电源管理,快速引导,集成的无线接口,先进的多媒体功能,吸引人的小尺寸gui以及各种的pim应用-而且所有的这些全部集成和运行在一个适度的手机储存空间里面。这也是嵌入linux 开发者所面临的挑战,不同于pc,电话设计并不是建立在一个标准的系统上面。文章详细阐述了基于linux的移动电话开发的各种技术问题,涉及到关键的linux技术和支持电话开发开源项目的可用性和成熟性。另外,文章还讨论了移动运营商提出的技术和经济层面的问题。 全球移动电话的市场正在爆炸性的增长,分析机构 idc 2005年q2的报告中指出,手机市场增长了近34%,全球语音和数据网络中,近7亿部手机正在oem工厂设计和生产很快将进入百姓的手中,分析公司gartner 预测到2009年,全球移动电话的安装数量将达到26亿部。对于以linux为中心的it工业而言,这些数字相对于linux的发货和服务器的安装,即使是全球的桌面市场的数量也是巨大的.这样的移动 电话市场即代表了一个爆炸性增长的机会也表示了它在终端市场的占有率,而且它也是对于linux 已经占领的基于电信,企业和嵌入式linux 的设备市场的一个很好的补充。 为什么是linux和无处不在的linux? 在过去3年linux 作为移动电话的os平台已经取得了相当大的收获。oem 如lg、 摩托罗拉、 nec、 松下 和三星已经销售了20余款 linux 电话,另外还有中国品牌的大唐、e28(上海毅仁信息科技)、 海尔和 中兴, 诺基亚 和其他的oem也已经开始销售基于linux 的无线voip 终端。无论是大型还是小型的oem都正在选择linux 作为智能手机的策略平台,这里面即有技术原因也存在经济的因素。在技术层面,oem们选择linux 是因为它的性能,可靠性,标准的tcp/ip网络和灵活性,在经济方面, linux 可以给oem 们更低的开发和布置成本,更多的供应商或者自己开发的方案, linux还可以给oem 们一个广泛开发的商业技术生态环境和一个可能的机会 ——统一的产品线和工程投入以支持多层次的产品(包括智能手机,功能手机和入门级手机),多种网络制式(gsm, cdma, wcmda 和wi-fi)以及运营商日益变化的需要。 因为这些技术和经济上的利益, linux 电话的数量已经达到市场总量的1-2% ,在智能手机这个快速增长的领域里linux 正在占据着一个强有力的位置,智能手机的市场份额正以每年85%增长,而linux 有25%的市场份额(gartner2005年的数据),远远领先windows mobile ,只比symbian os 落后一个百分点。 电话的分类 划分电话的类型不是一个精确的科学过程,甚至也不是一个准确的市场活动。某些功能电话的显著特点(如email,图像处理)已经是今天各种价格的电话的基本功能了。即使今天智能手机所具有的特性也许是6个月后所有手机都有的功能,今天你以为物有所值的功能手机,在假期结束以后已经沦为可以作为礼品的入门手机了,而且它们可能只有从春天到夏天的一个季节生命周期。 智能手机的陷阱 比较起把开源的os放在一个低端手机上,发布一款智能手机是相对容易多了。因为智能手机的售价和利润都高,它可以有允许更多的bom(材料成本)和软硬件空间实现多媒体、显示和射频基带(rf)等电话关键功能。一般情况下智能手机的应用os(linux, windowsmobile, 等)是运行在一个专门的应用处理器上,同时另外的一个cpu 和dsp处理语音,多媒体和rf功能。智能手机的购买者是典型的成熟用户,他们热衷于新技术,并且对于由于新的技术和功能代来的电池消耗等问题更有相当的宽容度。 然而到目前为止智能手机只占有整个手机市场的6%,如果linux开发者真正希望进入广阔的手机市场,linux 手机平台必须支持中端手机或者“功能手机”的技术和经济层面的要求。这些手机在技术方面无法和智能手机赛跑,硬件方面也无法和智能手机相比,一个低成本的bom 意味着运行在应用处理器上的linux 不得不面对所有的语音,数据,rf和图形任务。一个运行在0-200mhz的单芯片cpu 的linux电话需要电源管理和合适的储存空间以匹配linux 的运行和成本的控制要求。 社会团体和各国政府正在帮助缩小全球数字化的鸿沟,我们可以大胆的想象这是一款针对发展中国家的低收入人群开发的电话(可以认为是个瘦ubuntu:一种时下流行开源的linux),就好像是目前难以让人琢磨的$100 电脑一样,下一个也许是“免费的” linux 电话了。 随着时间的流失,中端甚至低端电话的硬件都可以满足linux 的要求,但是同时这些手机的利润也变得越来越薄。过去10余年电池技术不能以一个适度的速度提升,这就意味着应用不能和时钟的提速相匹配。所以如果linux电话要跳出智能手机的桎梏,它必须采用新的功能并改进和合并许多现有的功能以应对面临的挑战。 技术挑战 开放软件开发试验室(osdl.org)最近发起了新的行动计划-mli(mobile linux initiative),目的是培养和支持linux 在移动电话手机的应用。mli目前的首要任务是使linux 成为更适合手机的os 平台。下面列举的一些问题来自mli的参与者和有兴趣的合作伙伴,特别是手机制造商和芯片供应商? 电源管理 今天,如果便携式设备制造商想要提供一个基于linux和有电源管理的设备,他们将面对各种方案而不知所措。 oem可以参考以笔记本为代表的桌面系统的电源管理,如acpi和apm,在内核的邮件列表中关于桌面电源管理的讨论确实也是最多的,非x86/ia-32 结构的笔记本硬件,oem可以使用针对苹果powerpc 的pmu。 嵌入式的oem如果是使用arm授权的芯片可以借助arm公司的lem框架,或者使用10余家arm授权芯片公司也有自己的电源管理方案(如freescale, intel, nec, samsung, ti等)。 mips和mips授权芯片公司,freexscale,ibm power 框架 , renesas 和 hitachi产品线也有自己的更加独特的能源管理协议和方法。oem当然可以选择像montavista 的 dpm和其他嵌入式linux供应商的方案。选择当然是一件好的事情,但是太多的选择会导致方案支离破碎的状况和应用缺少可再用性。应对电源管理的问题,osdl mli的成员和工业界已经表达了一种愿望,即一个统一的,跨处理器平台的电源管理途径,或者一个主流的,更高层次的,可以覆盖嵌入式,桌面和刀片服务器能源管理的体系结构。 无线电接口 今天的linux智能手机中,gprs接口是被集成在一个调制解调器里面,它包含一个cpu核,dsp和支持无线通讯的 rf硬件。很像一个调制解调器——许多智能手机和这些嵌入式处理器是通过一个串口上的at命令进行通讯的。这种靠卸载无线电功能来简化智能手机设计的方法是可行的,但是这将会进一步增加整个手机的成本。今天,一些富有经验的设计已经去掉了调制解调器,把基带接口开放给了应用处理器(像目前中低端的手机使用nucleus这种情况),但是这样会给即使是最新linux的实时性技术(抢占和开源的实时补丁-下面还会提到)带来相当的压力。gsm或者cmda无线协议信令帧大约是800-900微秒的时间,如果你们是x86/ia-32 或者是powerpc处理器一般都是500 mhz 到1.5 ghz cpu 时钟, 一个毫秒以内的最坏情况的响应是很容易到达的,但是如果是处理器时钟在0-200 mhz,的arm cpu,基于linux的硬实时的中端响应和抢占延迟仍然是具有挑战的。另外的一个挑战的领域是把已经非常成熟的电话协议栈移植到linux上.,这种软件是基于传统的rtos开发和优化的,像nucleus 和 rex。这些多层协议是用每一层特有的线程切换技术实现的,如果移植到linux可能会在层和层之间增加20-30微秒切换延迟,这样只是穿越一个单包的协议栈就消耗了计算时间的很大的部分,留给其他任务的cpu时间就很少了。所以,如果linux要想进入中低端手机的设计领域,它必须要解决低延迟的任务切换和cdma/gsm协议栈的移植这两个重要的问题。 实时性 在过去的5年中,linux已经在向自身实时性改善的方向发展并取得了长足的进步。今天linux已经具备了本身的实时性选择,包括抢占内核,0(1) 调度,futexes 和最近的开源的实时linux项目-现在已经合并到由ingo molnar维护的抢占补丁里面了。同时还有双内核和虚拟计算的技术,像rtlinux, rtai,adeos和未公开的jaluna osware。实现把一个嵌入式的rtos虚拟到linux里面,另外还有一些目前还属于研究阶段的实时项目和技术,如l4 micokernel 和l4 linux 等。osdl mli 的成员和社区更愿意接受和喜欢linux本身的实时性改善的实时方案,为了支持linux直接面对rf处理器,多媒体和语音处理,多数人认为linux应该继续在本身像rtos 一样在实时响应方面发展。在移动电话的设计中,为了减少电池消耗,系统时钟可能从200mhz降低到40 mhz (甚至0 mhz)后再回升回去以响应系统的策略和外设输入的要求,这些动作产生的切换要求linux必须有足够的响应能力和时限保证。 小尺寸 今天智能手机出厂的时候已经有了128mb的flash 和64mb的ram,然而作为一个电话的os需要为在有限的存储器里寻找节省每个字节而努力。os和中间件占掉的每个字节都不能为oem增值而服务。在原理上嵌入式 linux 可以以大约1mb的容量布置,但是实际电话的配置中却大的多。嵌入式系统开发人员,平台提供商和linux 内核的维护者都提供了一系列配置工具以压缩linux平台的尺寸。 运营商的新需求 电话制造商虽然希望按照自己的想象进行创新,但是已经意识到他们不能完全按照自己想法去设计和生产一个电话,取而待之的是他们必须遵循他们的用户-移动运营商(像cingular, 沃达丰,中国移动等)的要求和规范去做事,这些无线网络运营企业公司,他们多数是本国政府严格控制的或者大型的跨国企业,他们要代表政府和行业去管理和规范市场,移动电话是这个系统中的一个重要组成部分和单元。 每个国家的政府,尤 其是美国政府对无线电频谱都进行严格的管理和控制,美国的联邦通讯委员会(fcc)拍卖和发放无线频谱和管理带宽,信号强度,安全和内容。虽然个别国家和地区协会趋向于开放和免费使用无线频率。 负责政策和规则制定的移动运营商完全可以体会到开放的设备结构带来的问题,运营商并不是完全反对开放, 只是会更多的考虑到如何安全的布置增值服务和管理问题。协调在技术层面建立一个完善开放环境和一个有限制的api 接口,当然还有着更多的政策和法规的讨论,设备制造商,电话的开发者和行业主管已经打开了原来是完全封闭的手机一点点口子,比如在过去5年里面用户和行业观察家看到java 和 brew电话, 更令人振奋的是最近几年的symbianos 和 windows mobile 5.0.上的本机应用软件层出不穷? 基于linux的电话展示了未来一个在用户空间可以编程的安全开放环境;而且它拥有一个具有优秀的开发人员的完善的社区团队。相信未来基于linux的电话将是一个完全的开放平台,但是目前的情况还不近人意,现在发行的linux电话是基于一个内核和许多os的组件(像某个版本的qt),它们不是一个开放的设备。黑客不能(或者说非常不容易)自己构造一个内核,os和应用部件替代原来的系统(像大家以前做过的linux pda一样),甚至即使是在电话应用上面增加一点功能。这些设备不能注册登陆和让用户自己刷新,现在开启这些linux 电话大门只是java。市场上有开放的linux手机资源,一个项目是harald welte的 open-ezx (www.open-ezx.org)。这个项目还处在一个早期阶段,项目努力在构造一个100%开放的电话软件支持像a780和e680的motorola电话。项目的wiki (wiki.openezx.org)里面充满如果使用open-ezx可能不能正确的引导和失去正常功能的各种警告信息,但是这个项目的确包含了如何构造和生成一个‘shell’,以及交叉编译这些有用的信息(因为a780和e680是基于intel xscale 框架的 pxa 处理器)。 motorola的首席电话框架师绝对是不支持这样的努力, 原因是什么?主要是责任问题。电话用户会担心他们的电话网络的完整性,安全性。当然motorola还担心要支持数百万部电话以及他们可能的各种open-ezx 软件的分支版本, 这样你就知道为什么叫“open-ezx”了,因为像motorola这样的设备制造商是希望鼓励社区的开发者在他们的平台上作些扩展,他们只是希望这种扩展的道路未来开放策略发展的轨迹。今天这个“open-ezx”最可能有意义的是为isv提供了一个sdk的开发环境。 希望不久的将来,通过教育和坚持不懈的努力,小心谨慎的网络运营商和行业规划者们将意识到移动电话是个计算平台,而不只是个单功能的无线电设备。 结束语 linux 的电话正在走进千家万户,2006年中 motorola中国公司继a760,a780,e680后一款叫‘明’的linux手机以她亮丽的外观,稳定的平台和软件,新颖的功能为智能手机销售历史赢的了新的记录和突破,更多本土和海外手机制造商和手机设计所 正在努力尝试着linux手机的设计,zte的e2,海尔的n60 ,e28的hawk3等就是他们当中的姣姣者。日本ntt docomo电话公司最近宣布发表了最新的基于arm11 n903i ,这是继成功的n900i, n901i,n902i后的又一款针对日本市场的3g手机。无疑,亚洲是linux 电话的重要舞台和市场。osdl mli 的第一次成员会议选择了中国召开,包括了motorola、montavista、windriver、intel数十家成员和观察员的osdl大家庭聚会在2005年金秋的北京,笔者也看到包括大唐,华为,zte,龙旗在内的中国手机制造和设计企业表现了极大的热情和关注。osdl mli 通过会议的讨论树立了通过技术和经济层面的努力加快linux 在电话领域发展的奋斗目标。虽然linux正在和将要面临移动电话设计中的更多的技术和商业方面的挑战,包括某些领先的手机设备制造商也怀疑linux的成熟性,但是坚信依托linux在电信服务器,通用的嵌入式系统的成功经验,丰富开源社区技术和商业人才,手机芯片公司,国际性的标准组织和电信运营商以及世界和亚洲政府鼎立支持和推动,linux必将在移动电话领域发挥一个主导的作用 |