刷机术语AP和BP的区别

大多数的手机都含有两个处理器。操作系统、用户界面和应用程序都在 Application Processor(AP)上执行,AP一般采用ARM芯片的CPU。而手机射频通讯控制软件,则运行在另一个分开的CPU上,这个CPU称为 Baseband Processor(BP)。把射频功能放在BP上执行的主要原因是:射频控制函数(信号调制、编码、射频位移等)都是高度时间相关的。最好的办法就是把这些函数放在一个主CPU上执行,并且这个主CPU是运行实时操作系统的。另外一个使用BP的好处是一旦它被设计和认证为好了的,不管你采用的操作系统和应用软件怎么变化,它都可以正确的执行功能(它的通讯功能)。另外,操作系统和驱动的bug也不会导致设备发送灾难性的数据到移动网络中。(FCC要求的)由于AP和BP是分开的设备,手机设计者可以更加自由的设计用户界面和应用软件。
手机开发商,比如摩托罗拉,会将开发的手机软件包分为AP和BP两部分, 运行在Application Processor(AP)的软件包称为AP包,包括操作系统、用户界面和应用程序等; 与Baseband Processor(BP)相关的软件包称为BP包, 包括baseband modem的通信控制软件等. 相应地, 所谓的刷新手机AP和BP文件即是将这两个软件包更新到手机上. 为方便刷机, 也有将AP,BP文件和flex文件(手机的参数配置文件)作在一起的一体包.

ap是应用层,包括所有应用程序,界面显示,我们所见的和所使用的就是这一部分.
bp是启动层,底层驱动等,也就是系统内核,这些是不需要修改的。
所以,AP和BP是系统的两个部分,而不是两个系统。但E6的AP和BP是可以单独使用的,比如仅AP的包就表示只会改变AP部分,BP是不会变的。采用了不同版本的AP和BP而制作的刷机包,AP和BP所显示的版本号就不同。

刷AP,BP单刷包没有先后顺序,按刷机模式来就OK了!
可以刷了APBP整体包后再来单刷AP或BP包!
刷机后注意作主清除和主复位!如果刷机之前做主清除那就完美了
有人说单刷BP法是:
进入刷机模式后,等十几秒,再按住照相键(就右边边框那个)几秒,手机屏幕出现有BP字样,就进入BP了!但其实现在的BP不只有有BP部分,还有AP的31,32,33所以,在AP模式下可以直接刷!
原来给我的E2烧系统时候,要写两个文件一个是bp,一个是ap;一直不明白为啥名字这么奇怪,并且是两个binary image!

刚看到对mobile phone架构更详细的介绍才明白。bp是baseband processor,ap是application processor。逻辑上是相互独立的系统,有各自的cpu和dsp!两者共享电池和audio模块,通过高效的IPC进行通信。简单的理解的话,bp就是你电脑的modem,而ap就是你的电脑!没有modem,你无法与外界通信。

1.BP工作原理

BP主要的作用就是负责发送和接受各种数据。按照gsm或者3g的协议,BP中dsp实现了协议的算法,对数据进行编解码,而BP中的cpu则负责协调控制与基站和AP的通信。通常,协议栈的代码有2MB-8MB,需要2MB的ram来运行协议栈;因为voice通信是实时的,一个gsm frame很短,需要实时的对这些frame进行处理。

BP中的电源管理对手机的待机时间有很大影响,大多数时间,cpu都应该处于idle状态,每隔一段时间才打开查看paging channel上是否有呼叫进入。cdma有专门的paging信道,所以高通最开始宣称cdma系统的手机待机时间长。不过gsm现在也优化过来了,具体的是2s吗?

语音通信时,voice模块直接有data bus和BP相连接,这样可以快速且省电的把voice数据传递给BP,绕过AP这样就可以省电。

SIM模块直接和BP相连接,BP可以从中获得和无线系统通信的数据,这些数据也是在协议中规定使用的。所以,对sim卡的操作是通过BP进行的。

如果为了降低成本,采用单芯片方案,则协议栈和symbian os公用一个cpu和memory!

2.AP工作原理

AP是一个SoC,不像通用计算机这样,硬件和系统可以分开由厂家来设计!AP的硬件都继承在一块芯片上,各模块逻辑上互相独立,均通过总线连接起来。每个模块都有强势的厂商进行研发,如cpu是arm公司,usb是cypress,nand flash有toshiba,samsung等!SoC主要包括cpu,dsp用以进行多媒体的编解码,memory controller,LCD controller,串行通信设备控制器(uart,ir,i/o),并行通信设备控制器(usb, ipc, nand flash)等。

通过system bus controller,把SoC上器件的可寻址地址映射到cpu的线性地址空间中去,如usb controller的可寻址芯片地址映射到0x60030000----0x6003FFFF,那么cpu可以通过这个地址来对usb的寄存器和data进行读写。

symbian os要求cpu必须是little endian, with a full MMU, user and supervisor modes, interrupts and exceptions.

转自:http://hi.baidu.com/adokaixin/item/77e5cc58aaf91f11aaf6d79f

点赞