基于Linux的移动电话开发技术及前景

http://tech.ddvip.com   2007年03月12日    社区交流

本文详细介绍基于Linux的移动电话开发技术及前景

  无线电接口

  今天的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 一样在实时响应方面发展。在移动电话的设计中,为了减少电池消耗,系统时钟可能从200 Mhz降低到40 Mhz (甚至0 Mhz)后再回升回去以响应系统的策略和外设输入的要求,这些动作产生的切换要求Linux必须有足够的响应能力和时限保证。

作者:何小庆    责编:豆豆技术应用

正在加载评论...