Telephony框架设计解析.docx
《Telephony框架设计解析.docx》由会员分享,可在线阅读,更多相关《Telephony框架设计解析.docx(17页珍藏版)》请在第一文库网上搜索。
1、目前Te1ephony框架设计解析version:author:*本篇文档将从如下六个方面讲述te1ephony框架设计:RI1.多卡及多运营商设计区分、不同运营商的extends继承实现、IDE1的设计、观察者模式设计、TeIephonyRegistry监听模式设计、ServiceStateTrackerDcTrackerCa11Tracker附上AndroidTe1ephony框架图JavuApp1icationsCa1111MMSSMS-Data-COnnCtCt1OnICSCttiCgIJavaFnimcuorksActivity11WitukwManagerMnrugerfoment
2、ProvidersVieWISyyCT1INotificationIManagerPikagcITckpbunyManagerManagvrKoourcMamBr1oartoii-ManaIerIGTaIkSerViCCUcr1ibmrioAndroidRuntimeSurfaceMuriagcr卜工113CIxc1ibninTOpcnG1FnCCTyPCIIWcKKIbaKKWCGiiMUCh1nCHA1(FiardwarcAbMraction1iycr)GPSWi-HRDIO(RI1)1inuxKerne1PS:AndrOid?TeIePhOny采用了分层结构,共跨越了4层:应用,包括了P
3、hone、MMS和STK等应用程序框架,提供TeIePhOnyManager,包含数据连接、通话、信息和S1M相关的AP13.无线通信接口层(RI1),主要位于USer?1ibrarieS层中的HA1层,提供AP(App1ication?Processor)和BP(?Baseband?Processor)之间的通信功能,位于BP,主要负责实际的无线通信能力处理一、RI1R11有RIU和RI1C,RIU是我们所熟悉的java侧代码,RI1C是hardware/ri1目录下C代码,此处我们简单介绍下R11C模块的初始化和运行机理。Android的RI1驱动模块,在hardware/ri1目录下,一
4、共分ri1d,以及三个部分,另有一radiooptions可供自动或手动调试使用。都依赖于inc1ude目录中头文件。目前CUPCake分支上带的是gsm的支持,另有一Cdma分支,这里分析的是gsm驱动。GSM模块,由于Modem的历史原因,AP一直是通过基于串口的AT命令与BB交互。包括到了目前的一些edge或3g模块,或像Om叩这类ap,bp集成的芯片,已经使用了USB或其他等高速总线通信,但大多仍然使用模拟串口机制来使用AT命令。这里的RI1(RadioInterfaCe1aye1j层,主要也就是基于AT命令的操作,如发命令,response解析等。首先介绍一下ri1d与以及的关系:1
5、 .ri1d:仅实现一main函数作为整个ri1层的入口点,负责完成初始化。2 .:与ri1d结合相当紧密,是其共享库,编译时就已经建立了这一关系。组成部分为,。驻留在ri1d这一守护进程中,主要完成同上层通信的工作,接受ri1请求并传递给,同时把来自的反馈回传给调用进程。3 .:ri1d通过手动的d1open方式加载,结合稍微松散,这也是因为主要负责跟Modem硬件通信的缘故。这样做更方便替换或修改以适配更多的Modem种类。它转换来自的请求为AT命令,同时监控Modem的反馈信息,并传递回。在初始化时,ri1d通过符号RI1Jnit获取一组函数指针并以此与之建立联系。4 .radioopt
6、ions:radiooptiongs通过获取启动参数,利用socket与ri1d通信,可供调试时配置Modem参数。接下来分析初始化流程:主入口是中的main函数,主要完成三个任务:1 .开启中的event机制,在RI1startEvent1oop中,是最核心的由多路1/0驱动的消息循环。2 .初始化,也就是跟硬件或模拟硬件modem通信的部分(后面统一称硬件),通过RI1Jnit函数完成。3 .通过RI1Jnit获取一组函数指针RI1RadioFunctions,并通过RI1_register完成注册,并打A接受上层命令的SOCket逋道。ri1d.c中的maiOri1_event_1OOP
7、(),ri1_event.cpp中建立应消息(event)K列机制ri1_event_1oop能通过一个多路豆用IQ的机制(se1ect)来等待这些fd如果任何一个F有数据写入,则进入分析流程PfocessTimeoutsO.ProeeSSReadReadieS(&rids,),IirePendingO.后面会详细分析这些流程H1evenicpp中包含的方法voidri1_event_inH();voidri1_event_set(structri1_event,ev,intd.);voidri1_even1aCM(StrUCtri1_event,ev);voidri1_timer_add(s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Telephony 框架 设计 解析