文以山丽,山以文传 © 2012 山丽网安 密级:不公开使用- - 1 手机软件开发之 Android程序开发 1 手机软件的运行环境 1.1 概述 手机可以被看作袖珍的计算机。它有 CPU、存储器(flash、RAM)、输入输出设备(键盘、显示屏、USB和串口)。它还有一个更重要的 I/O设备, 那就是空中接口。手机通过空中接口协议(例如 GSM、CDMA、PHS等)和基站通信,既可以传输语音、也可以传输数据。 手机的 CPU一般不是独立的芯片,而是基带处理芯片的一个单元,也称作 CPU核。基带处理芯片是手机的核心,它不仅包含 CPU核、DSP核这些比较通用的单元,还包含通信协议处理单元。通信协议处理单元和手机协议软件一起完成空中接口要求的通信功能。 随着芯片技术的不断发展,越来越多的外围电路可以被集成到基带处理芯片中,例如BAP,即基带模拟处理器。这样手机才可能越做越小、越做越便宜。 1.2 单 CPU和双 CPU 很多手机只有一个 CPU,也就是基带处理芯片中的 CPU核。在这个 CPU上既要跑通信协议,又要实现用户界面(称作 UI或 MMI)。当然 DSP会分担一些计算量繁重的工作,例如语音编解码、安全层的各种算法等。 在市场推动下,手机功能在不断发展。摄像头、MP3、蓝牙这些功能可以依靠硬件,对CPU的压力还不是很大,但 java虚拟机、嵌入式浏览器等应用软件就会对 CPU资源有较高的要求。 单 CPU的首要任务是完成通信协议。通信协议软件有着很精确的定时要求,如果这个CPU还要兼顾很多应用软件的话,就难免吃力。于是双 CPU手机应运而生。 顾名思义,双 CPU手机就是有两个 CPU的手机,一个 CPU专心把通信协议做好,另一个 CPU负责 UI、java虚拟机、嵌入式浏览器等应用功能。两个 CPU可以做在一个芯片里面,也可以分开。 市场上的实际情况是,很多手机设计公司(Design House)没有基带处理芯片的开发能力,他们购买国外公司的手机模块,自己在外面再加一块 CPU。模块跑通信协议,自己加的 CPU跑 UI和应用软件,两者通过串行口通信。很多 Design House也会购买国外方案商的开发板级方案,自己做 PCB、软件上改改 UI和外设驱动。 市场上的智能手机基本上全是双 CPU方案,什么 Windows CE、SmartPhone、WindowsMobile、Symbian、嵌入式 Linux全是运行在第二块 CPU上的。这些商业操作系统无法和无线通 信协议软件集成到一块 CPU上。双 CPU的手机功能比较多,但它们一般体积大,耗电多,成本高。现在市场上...