zoukankan      html  css  js  c++  java
  • 当代GSM手机的硬件系统分析[zz]

    很好的一篇翻译文章,可以大概了解GSM手机了!

     之前给大家上一个图:


     

    当代GSM手机的硬件系统分析

    Harald Welte <laforge@gnumonks.org>

    2010年4月14日

    Translated by 黑白兔(lennyhhf@gmail.com)

    摘要
    每天有数以十亿计的手机被几乎相同数量的用户使用。这些手机中的绝大多数是基于GSM协议并且与GSM网络载体交互。
    尽管早一成为一个公开发表的国际标准,GSM网络的结构和相关协议只是被一小部分与之相关的研究人员知道。关于真实手机的硬件结构相关的信息就更少了,关于手机实现关于GSM协议和访问GSM公共网络相关的部分的介绍则最少了。
    本论文尝试对当代GSM手机的硬件结构作一个简要的介绍。目的是拓宽移动手机在IT社区的技术背景。
    1.前言
    本文档是个人对手机硬件和系统级软件六年以上研究的结果。
    尽管我以前在Openmoko公司工作,我从来没有在任何关于手机的GSM硬件相关的方面有过研究。然而我有一个感觉,在宽广的信息技术工业,我属于那很小的一小部分人,他们了解手机的底层结构。
    我希望这些对任何对更多地了解手机硬件是如何工作的有兴趣的系统级的工程师有用。
    并不保证本文档任何部分是正确或者准确的,我很高兴能收到你的回馈和纠错。
    2.你的手机是智能的吗,或者它有什么特性吗?
    一开始在前几年,GSM手机其实只有很少其他的功能。他们提供了语音通话所需的一切东西,也有电话本编辑类似的特性,唯一的额外的功能就是简单的实现类似闹钟这样的功能。
    在 1990年代中期,一种新类型的设备很是流行:PDA(personal digital assistant,个人数字助理)。他们作为手持计算机的先锋引进了触摸屏用户界面以及很多其他的应用程序,从日历/日程安排程序、词典、汇率计算器、 科学计算器到账户/金融软件等等。
    在手机上实际的手机功能变得越来越商业化,一些PDA的特性和功能增加了进来,形成了智能手机的定义。这时需要将那些非智能手机区别开来,那些手机当时被称作(feature phones,功能手机?呃,不太好翻译)。
    关于这些从来没有一个在业界广泛被认可的定义,尤其在21世纪前十年的后期,功能手机开始继承了许多之前只有智能手机上才会有的功能。
     功能手机本文档将会根据硬件架构上一个很清晰的界限定义这些术语(只是为了本文的目的),会在一下章节描述。
    2.1 Feature Phone
        功能手机是在一个单独的芯片上实现了GSM 协议栈(软件实现的GSM协议)和用户界面及所有的应用程序。由于历史原因,这个处理器一般被称为基带处理器(baseband processor,BP)
        基带处理器通常通过一个串口(现在使用USB)使手机作为一个终端适配器,类似于老的无线调制解调器。这个工业标准协议的接口就是一个AT命令集——从老 的无线调制解调器扩展和修改而来。这个AT命令接口可以连接到电脑上,然后电脑就可以使用手机来建立通话和通过SMS收发短信,即远程控制手机。
    2.2 Smartphone
        智能手机为GSM协议栈提供了一个专用的处理器,而用户界面和应用程序则运行在另一个通用的处理器(可能是多核的)上。这个通用的处理器即是一般被认为的应用处理器(Application processor,AP)。
        智能手机的第一代硬件架构除了将功能手机和PDA放在一起其他什么也没有做,基带处理器的小键盘和显示功能被一处,功能手机只剩下GSM调制解调器的功能——通过AP发送的AT命令来控制。
        每一个处理器有其自己的存储空间(RAM和Flash)、外围设备、时钟等。因此这和那种对称意义上的多核(如个人电脑上的多核)不能混淆。
        后面的智能手机的AT命令接口有多种协议,串行线也被更高带宽的硬件连接如USB、SPI、共享内存所替代。
        由于市场上体积更小功能更多的智能手机的压力,已经有了集成度更高的产品,将基带芯片和应用芯片放在一个物理封装里。更进一步的减少成本和PCB封装的压 力已经导致AP和BP芯片不需要独立的RAM和Flash芯片,而是将一个单个的RAM和Flash芯片被分开分配RAM和FLASH的一部分给这每一个 处理器。(这里不太懂)
        然而,AP和BP之间基本的分割,每一个有他们自己的内存地址空间和软件,一直到保持到了现在。
    3. GSM调制解调器架构
        每一个GSM手机,同理功能手机和智能手机,有一个与GSM网络通信的GSM调制解调器。这个调制解调器包含多个部分:
    RF前端,负责以GSM频率收发数据;
    模拟基带(Analog Baseband,ABB),负责调制和解调;
    数字基带,负责数字信号处理和GSM协议栈。
    3.1 RF前端
        RF前端的工作是与GSM空中系统(GSM air interface,Um interface)的物理收发的接口。
        至少,收包路径上要有一个天线开关(antenna switch)、GSM 波段过滤器(GSM band filters)、低噪放大器(low-noise amplifier,LNA),发包路径上要有功率放大器,还要有本机振荡器(local oscillator,LO)和一个混合器(mixer)。

    TI Calypso/Iota/Rita GSM modem的方框图
        通过将LO的频率和收到的RF信号混合,产生了一个模拟基带信号并传送到调制解调器的模拟基带(Analog Baseband,ABB)部分。通过将ABB的输出和LO的频率混合,产生一个RF信号将数据以GSM频率频段发送出去。
        由于收发框架有一个3个TDMA帧的偏移,因此不需要频率双工器(frequency duplexer),而是使用了一个天线开关。这个开关一般使用MEMS或者二极管实现。对于一个四频段手机,一般使用一个single-pole 6-throw(SP6T,非本专业,不太会译)开关:四个用来控制四个接受波段,两个用来发送(850+900和1800+1900共享一个PA输 出)。
    3.1.1 RF Frontend receive path(RF前端接收流程)
        天线负责接收从GSM单元(基站,Base Transceiver Station,BTS)发送的GSM无线电信号。天线信号首先经过天线开关,天线开关以GSM波段的接收频率连接天线和接收流程。信号在经过低噪放大器 增加信号振幅之前要先经过带通滤波(filtered by a bandpass)阻断波段外的信号(out-of-band signals)。
        在经过低噪放大器(LNA,low-noise amplifier)后,射频信号与LO(本机振荡器)产生的一个频率混合。根据LO信号的不同,产生出一个中间频率(intermediate frequency,IF)或者直接的基带信号。在现代GSM调制解调器中,没有IF的立即向下转换位模拟基带信号的设计(zero-IF designs with immediate down-conversion to analog baseband signals)非常常见。
        之后基带信号被滤波以移除不需要的图像(images)并以模拟I/Q信号(可以代表振幅和相位)发送给ABB。
    3.1.2 RF Frontend transmit path
    ABB产生模拟I/Q信号之 后,信号首先经过滤波传送到混合器(mixer),在混合器与LO(本机振荡器)的频率混合而向上转换为GSM RF波段,之后会被发送给传输放大器(transmit amplifier,RF PA)放大。放大之后经过天线开关并从天线发送出去。
    3.1.3 Local Oscillator
        GSM调制解调器的LO(本机振荡器)必须与BTS(激战)保持非常近的同步,要达到需求的精确度,使用了一个一个电压控制的并有温度不长的晶振(a Voltage-Controlled,Temperature-Compensated Crystal Oscillator,VCTCXO)。
        VCTCXO的频率通常是26MHz或13MHz,因为GSM位时钟(GSM bit clock,270833Hz)刚好是这些频率的整除(/96或/48),VCTCXO调制的范围是几KHz,可以补偿温度产生的漂移。
    3.2 The Analog Baseband (ABB)
        GSM调制解调器的ABB部分指GSM调制解调器的数字域与模拟域的接口。
    3.2.1 ABB Receive path
        ABB模拟基带I/Q信号潜在的又一次滤波之后经一个模数转换器(ADC)转换为数字信号。使用的采样频率一般是GSM位时钟(GSM bit-clock)的整数倍。采样频率可以由RF前端的VCTCXO分频派生。数字I/Q采样会被传送到数字基带(Digital Baseband,DBB)的DSP处理器。
        采样一般会通过某种同步串行链路(synchronous serial link)传送以减少PCB上传输的痕迹(呃。。。原文是:To reduce the number of traces to be routed on the PCB
    3.2.2 ABB Transmit path
        ABB的发送流程有多个体系结构。
        显而易见的结构是接收流程的逆过程:从DSP传送数字I/Q采样到ABB并将他们转换成模拟信号,然后发送给RF前端的混合器。
        然而,使用GMSK调制(一种GSM调制方式)发送一个GSM信号远比接受简单。因此为了降低计DSP的计算复杂度(也就降低了成本和电量消耗),数据信号的调制经常集成在ABB硬件里。
        这样的设计里,未调制的GSM脉冲位(burst bit,可能这样译吧)从DBB发送到ABB里的一个脉冲位缓冲区。在这里,基于ROM表和一个数模转换器(DAC),模拟的GMSK调制信号就产生了。
    3.3 The Digital Baseband (DBB)
        数字基带实现了真正的GSM协议——从Layer1到Layer3及如特性手机(Feature phone)的用户接口的更高层协议。在一部智能手机里,DBB只实现了一个AP要使用的机器接口。
        一个典型的DBB设计包括一个Layer1下半层使用的DSP处理器,和一个通用的处理器(MCU)——用于layer1上半层及其他上面的协议。
    3.3.1 Digital Signal Processor
        DSP架构的选择很大程度上依赖于DBB芯片的供应商。通常他们已经有了一系列的DSP核并且当然是希望在DBB芯片设计中复用这些设计。每一个主要的DSP架构都可找到(TI,Analog Devices,。。。)。
        DSP执行的主要任务例如:维特比均衡(Viterbi equalization),解调(demodulation),解码(decoding),前向错误改正(forward error correction),错误检测(error detection),burst交错(burst(de) interleaving)。
        当然,如果真正的语音数据通过GSM网络进行通信,DSP也有计算有损语音编解码来压缩语音数据的辅助任务。
        在DSP和MCU间通信一般是通过共享内存接口,共享内存包含真实的要处理的数据,也包含控制信息和描述要做什么的参数。
        对于发送端,MCU会向DSP提供要发送的数据和辅助信息,然后这些信息就会经过精心的编码并发送相应的burst bits到ABB(remember,绝大多数ABB执行调制任务来减轻DSP的负载)。
        DSP共享内存接口的详细的编程信息(API)是有基带芯片生产商小心保护的秘密。。。,并且通常都不会透露给他们的客户(真是的手机生产商)。
        通过这样做,基带芯片生产商使得真实的基带芯片与实现(驱动)这些API接口的GSM Layer1软件(运行于MSU之上)之间产生一种非常紧密的依赖。不管谁买了他们的芯片也必须购买他们的GSM协议栈软件授权。
        由此对于一个独立的软件厂商几乎不可能访问DSP的API文档,这些文档的作者非常的反竞争(anti-competitive)。
    3.3.2 DSP Peripherals
         GSM的空中加密规范A5/1和A5/2只对GSM基带芯片制造商们可用,他们声称这些规范是保密的。由软件实现这个算法显然违反了其保密性。因此这个加密算法只有硬件来实现——尽管已经于1996年早起就被密码学家通过逆向工程破解并公开。
        因此DBB里的DSP通常有一个集成的外设实现了A5加密算法。
        其他的DSP集成的外设可能包含一个维特硬件加速器(a viterbi hardware accelerator),一个与ABB及其他硬件连接的支持DMA传输的串行接口。
    3.4 Baseband Processor (MCU)    
        几乎所有的现代GSM DBB的MCU都是一个基于一个32位ARM7TDMI核心的SOC。
        唯一显著的例外是低功耗的英飞凌芯片,例如PM7870,这款芯片仍然在使用他们的16位C166核心的一个版本。
        支持3G网络的基带芯片经常使用一个更加强大的ARM926或者ARM975核心作为MCU。
    3.5 MCU peripherals
        MCU核心有任何基于ARM7的微控制器所具有的典型的外设,例如RTC,RS232 UARTs及、IRDA,SPI,I2C,DS/MMC card controller,keypad scan controller,USB device,。。。
        但是有一些其他的外设是非常GSM相关的:
    一个GPRS加密单元用于计算私有的GEA家族的密码;
    电源管理设备扩展,包括一个可以基于同步的VCTCXO校准RTC时钟的定时器,以便在发生预先编程定义的事件时唤醒MCU;
    GSM TDMA定时器,可以与空中的时间帧同步并产生MCU和DSP的中断;
    软件可编程的硬件状态机,用于ABB和RF前端的序列的GSM burst收发;
    一个ISO7816兼容的智能卡阅读器接口用于SIM卡;
        对这些外设的编程是高度设备相关的并且没有工业标准。每一个DBB体系结构,每一个生产商都有自己定制的寄存器和编程接口。
        关于这些私有外设的寄存器级的文档(就像DBB芯片的文档一样)通过NDA协议严格保密,有效地阻止了自由软件/开源驱动的的开发,除非这些文档被第三方泄露。
        但是,与DSP的API文档相反,这些MCU的寄存器级的文档一种会提供给手机生产商。
    4 Digital Baseband Software Architecture
    本节简单介绍现代GSM数字基带设计中使用的典型的软件架构。
    4.1 GSM Layer 1
        Layer1的代码是高度设备相关的——因为其与使用DSP 的共享内存API的DSP,以及集成的控制ABB和RF前端的私有外设交互非常紧密
        但是,我们可以看到L1很多共同的特性:
    4.1.1 L1 Synchronous part
        同步部分与GSM TDMA帧时钟同步执行。每一个TDMA的帧到来时CPU和DSP都会被某些GSM硬件定时器中断。
        L1的同步部分通常在MCU的IRQ或FIQ的上下文运行,负责照料(take care of。。。)检索到的数据并提交给DSP API。
    4.1.2 L1 Asynchronous part
        异步部分作为一个普通的任务来调度,潜在的有更高的甚至是实时的优先级。其收集L1同步部分提供信息然后调度其下一个任务。
        L1异步部分一共通过消息队列与L2及上层通信。L1控制的通用原语在GSM规范中描述(非规范性的部分)。
    4.2 GSM Layer 2
        与L1相反,GSM的L2已经完全的硬件无关。其实现了GSM TS 04.04描述的LAPDm协议。LAPDm是ISDN Layer2的一个派生,称作LAPD,按顺序是HDLC协议族的后代。
        LAPDm负责提供与Layer3通信的频道(channel)。这些频道通过使用序列号和重传机制来避免帧丢失。与L3的接口通常实现为各种的消息队列。
        用于Layer2/Layer3接口的原语(不是详细的协议)在GSM规范中有描述。
    4.3 GSM Layer 3
        GSM L3包含Radio Resource(RR),Mobility Management(MM)和Call Control(CC)三个子层(sublayer)。
        很多文档对GSM L3和其子层已经有了详细的描述,这里没有必要再做无用的重复。
    5 Synchronization and Clocking
        本文档的作者已经被别人引用说:GSM是一个同步TDMA的噩梦。这绝不是对这个技术或其发明者的侮辱。只是作为了解同步TDMA有多难的证据,尤其是对那些已经在分组交换网上花费了很多时间的工程师。
        GSM以多种方式在基站(BTS)和手机(MS)间同步:
    载波时钟的同步使得一正确的频率收发数据;
    位时钟的同步使得以最优化的间隔采样;
    帧时钟(Frame clocke)及时间槽(timeslot)的同步使得我们可以知道什么时候一个TDMA帧和其8个时间槽开始;
    TDMA多工的同步使得可以正确的(解)复用这些在每个时间槽发送的逻辑频道。
        由于这些时钟各自相互关联,他们可以(也应该)从手机里的相同的主时钟——VCTCXO派生。
    5.1 How to synchronize the VCTCXO
        每一个基站发送频率矫正的帧作为频率矫正频道(Frequency Correction CHannel,FCCH)的一部分,这个频道也是BCCH的一部分,经常依次由基站发送。
        要获取GSM网络初始的同步,LO调制到固定的GSM RF频道(ARFCN)。但是,这时LO的频率是VCTCXO频率的倍数,而VCTCXO仍然处在一个未决定的错误状态。这个初始时钟错误的误差跟一个正常的晶体振荡器差不多,潜在的已经进行了温度补偿。
        结果是基带信号可能与我们的基带频谱会有一个相当大的移位。现在一个特殊的DSP code使用相关的和其他的技术来识别频率矫正的burst。然后DSP可以通过比较收到的FCCH burst与指定的FCCH burst比较来计算出LO真正的频率错误。
        计算好的频率错误可以补偿给一个(软件)频率控制循环过滤器。循环过滤器的输出应用到辅助的DAC,这个DAC负责产生VCTCXO的控制电压。
        一系列的FCCH burst和矫正频率控制循环之后VCTCXO产生的时钟的误差就很小了。不管何时收到FCCH burst,手机都会进行频率的矫正以维持同步。
    5.2 How to synchronize the frame clock
        当DSP执行上面描述的FCCH burst校正时,它标识了FCCH burst到来时频率准确的位置。从规范可知,FCCH burst是BCCH的一部分,而BCCH是在0时间槽发送的,之后Layer1的软件就可以同步手机到TDMA帧的开始了。
        一般来说,硬件定时器单元是以VCTCXO(分频)作为时钟的,因此计算出GSM位时钟的倍数,然后在TDMA的1250位内复位/翻转。(实在是不会翻,原文是:Commonly, a hardware timer unit is clocked by a (divided) VCTCXO clock and thus counts in multiples of the GSM bit clock, wrapping/resetting at the TDMA duration of 1250 bits.
        通过与GSM位时钟定时器同步地调度时间,L1现在就可以触发事件(如请求DSP解调收到的数据)或者控制LO调制到与每一个TDMA帧同步。根据这个定时器DBB一般也会产生DSP和MSU的中断。
    5.3 How to synchronize the GSM TDMA multiplex
        作为BCCH的一部分,基站不仅发送FCCH,也会发送同步CHannel(SCH)。这个同步频道预测了当前的GSM时间/帧号(跳过第三位?)。通过 使用收到的GSM时间并在每次GSM位时钟翻转(在收到新蛋呃TDMA帧的开始)时递增,GSM的时间就同步了。
        Understanding the multiple layers of time multiplex such as the 26/51 multiframe, superframe and hyperframe, the L1 can multiplex and demultiplex all the logical channels of GSM.
    6 Miscellaneous Topics
    6.1 GPRS

        GPRS是GSM第一个分组报文扩展。事实上,它是整个的移动网络,独立于GSM。唯一共享的部分是GSM的调制方案(GMSK)和分时复用技术,以保证他们的和平共存。
        协议的L1和L2与GSM非常的不同(复杂的多)。
        因此,对于一个带有GPRS功能的手机,手机的基带硬件不需要任何的修改,但软件需要扩展很多东西。
    6.2 EDGE
        EDGE在GPRS的基础上只做了很少的增加。它复用了所有的分时部分和协议栈部分,但是引入了一个新的调制:Offset 8-PSK代替GMSK来增加传输的带宽。Offset 8-PSK(与simple 8-PSK相反)用于避免调制输出的零交叉(zero-crossings)。
        因此尽管从GPRS到EDGE软件上的修改很小,8PSK调制方案对于DSP,ABB甚至RF PA的设计都有很大的影响。
    6.3 UMTS
        UMTS(也称作WCDMA)是完全独立的蜂窝网络技术。其物理层,调制方案,编码,频率基带(frequency bands),频道空间(channel spacing)完全的不同,Layer1也完全的不同了。
        UTMS Layer2与GPRS的Layer2有些相似。
        UTMS Layer3的Mobility Management和Call Control与GSM非常相似。
        基于物理层和L1层巨大的不同,UMTS手机硬件的设计与本文档的描述也有很大的不同。
        尽管如从,所有知名的商业UMTS手机芯片在硬件上仍然包含完整的GSM调制解调器并且软件上保持了向前的兼容。
    6.4 Dual-SIM and Triple-SIM phones
        在最近几年,非常多的所谓的双卡甚至三卡手机进入了市场,尤其是在中国和东亚的其他地区。
        这些手机有各种不同的风格,一些只是简单地增加了一个复用器——在多个卡槽之间有一个电器开关。这与换手机里的SIM卡效果一样,只是避免了手动的拔卡/插卡操作。结果是你在同一时间只能使用两张SIM卡中的一张。
        更加复杂的双卡手机类似于在一个手机盒子里有两个完整的手机,对,就是这样!他们包含两个完整的GSM手机芯片,即两个天线,两个RF前端,两个模拟基带,两个数字基带。。。
        然而,他们使用了与智能手机相同的招数:其中一个基带没有键盘及显示,只是一个GSM调制解调器通过串行线连接到另一个基带芯片。
        所以如果说,智能手机(依本文的定义)是在一个盒子里将GSM调制解调器连接到一个PDA上,那么双卡手机就是在一个盒子里将一个GSM调制解调器连接到一个功能手机上。
        三卡手机一般是结合了这两种实现,级他们有两个完整的GSM基带芯片,但是有三个SIM卡插槽可以在基带芯片间切换。只有两个SIM卡可以同时处于激活状态。
    6.5 Powerful feature phones

        功能手机变的越来越强大。然而,他们相对低端的市场价格不能支付一个完整有两个独立的芯片及其相关的复杂性的智能手机的设计费用。

        因此,越来越多的硬件外设添加到了这唯一的一个处理器上:基带处理器。这些外设包括复杂的摄像头接口,高分辨率的显示控制器,TV输出,触摸屏控制器,音视频编解码器甚至是移动电视的接口。
        然而,所有这些功能都只是在一个相对很弱的ARM7或者ARM9 CPU核心(与智能手机市场上的ARM11和Cortex-A8相比)上实现。他们也缺少实时的操作系统,只是在给不复杂的系统设计的实时的微内核的上层 运行。他们几乎缺少任何形式的内存保护或者多个地址空间。使得这些手机很容易遇到安全问题——因为在GSM协议栈和应用程序之间并没有权限的分离,在应用 程序之间也是。
    7 Personal rant on the closedness of the GSM industry(个人对封闭的GSM工业的咆哮)

        GSM工业是我目前遇到的最封闭的一个计算机行业之一。很难从他们那里获取关键的技术信息。所有他们乐意传播的只是上层的市场信息,一旦谈到他们产品的关键技术他们就非常不高兴了。

        如果你想构造一个手机,你需要买一个GSM芯片。只有很少的厂商提供这样的芯片。典型的供应商有英飞凌,德州仪器,索尼爱立信,ADI(现在的联发科)和飞思卡尔。
        他们出售的GSM手机一般不像其他的电子器件一样。如果你需要一个微处理器/SOC,一个电源管理芯片,一个wifi或蓝牙芯片,RFID读卡器芯片,你只要到附近的经销商那里去订购就可以了,你可以直接从Digikey(一家电子元件经销商)哪里取得你的样片。

        这对于GSM(或其他手机)芯片组来说是不可能的。由于某些原因,这些芯片只会卖给他们确定的生产商。如果你想获取资格,你至少要订购至少六位数的购买数 量。为了让他们相信你,你必须支付NRE(non-refundable engineering fee,非退款工程费)。据传至少要七位数的美刀,以此保证如果你最后购买的芯片数量没有达到你们之前的协定,芯片组制造商仍然拿着你的NRE款呢。
        如果你以你的方式进入了手机制造商的俱乐部,你从芯片组制造商哪里获取到的并不是全部,文档是不完整的,也就是说,这不能是你成为一个手机制造商制造出任何有用的硬件,除非你也从芯片制造商那里购买了软件授权(驱动,GSM协议栈。。。)。
        在软件侧,最大的技术兴趣点(比如协议栈)是以二进制库的形式提供的,你智能获取系统的部分源代码,即可能需要你根据手机电路设计修改的某些驱动。
        GSM协议栈也不是芯片制造商写的,他们只是从4到5家已经实现商业的GSM协议栈的组织那里购买的授权。
        好像,GSM协议不是某种军事机密,他们是公开的国际标准,任何人可以免费获取。那么为什么这个行业里的每一个人都认为需要保密呢?
        六年的对各种手机的逆向工程,为了更好的理解他们并写出安全分析用的软件工具,我仍然不能理解这个秘密。
        所有的供应商都差不多,GSM基带芯片的基础架构都一样,不管你是从TI,英飞凌还是从联发科购买的。就像我们德国人经常说的,他们都是用水做饭。像不同 DSP的供应商或者你是否使用传统的IF,zero-IF或者low-IF基带芯片这些细节不同而已,但是他们想要对谁隐藏这些呢?如果向我这样的对手机 的技术方面的细节很感兴趣人们在比较短的时间里就可以了解到,我相信这些芯片制造商们的竞争依然。In much less time, if they actually care。
        手机行业封闭的,是在过去十年里基带固件很少创新的原因之一。只有很少的一些人可以去创新。源代码的bug只能被很少的开发者和更少的大的组织发现和修复。不像互联网业一样,一个小的刚起步的公司没有创新的机会。
        也是为什么传统的手机制造商在与移动领域的初来乍到者像苹果和Google的Android平台竞争时很快丢失市场的根本原因。
        这些创新确实是只在高端的智能手机的应用处理器AP上发生了。封闭的GSM基带芯片必须与一个运行实时操作系统的独立的应用处理器相伴。这个实时的系统有实时的进程,内存管理,共享库,内存保护,虚拟内存空间,用户可安装程序等等。
        这些创新仍然没哟发生在基带处理器(BP)上,BP已经封闭了有15年之久了。
    (全文完)
    起 初只是不理解为什么手机的处理器不就是ARM核心的双核处理器吗,怎么还会有AP与BP,在网上搜索时意外发现了本篇文档,觉得写的确实不错,意外起了翻 译之心,无奈对通信领域的专业属于太不了解,以至于翻译成这样,实在是很不好意思呀,且翻译未经作者允许,索性附上原文的下载链接吧:
    http://download.csdn.net/detail/dreamcoding/4432793
  • 相关阅读:
    数据结构--窗口内最大值最小值的更新结构(单调双向队列)
    数据结构--BFPRT算法(TOP-K算法)
    数据结构--KMP算法(字符串匹配算法)--树的子结构
    数据结构--Manacher算法(最长回文子串)--生成最短回文串
    数据结构--KMP算法(字符串匹配算法)--在末尾添加字符串,是其包含字符串两次,且长度最短
    数据结构--Manacher算法(最长回文子串)
    数据结构--KMP算法(字符串匹配算法)
    剑指offer——和为S的连续正数序列
    剑指offer——删除链表中重复的结点
    XML DOM解析 基础概念
  • 原文地址:https://www.cnblogs.com/linucos/p/2832216.html
Copyright © 2011-2022 走看看