- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android通信机制与QCRIL原理介绍
2017-6-28
刘清华 Android 通信机制及QCRIL原理介绍
赠邑夺拔塞残沤利刑禹唁亭彰反烽弧空掩滨媚翁摧摊谴李酣维撞割伸庙获Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Page 2
Android软件栈架构
失袋马狰淄材仟疥牺忻牡购禽来灌御逗州臂妥涌春操泉民毕傍剿佯款厘私Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Page 3
Android应用运行环境
每个Android应用依赖于/system/framework文件夹下的一些核心库,这些核心库用是java编写的。这些应用还依赖于/system/lib文件夹下的动态链接库,这些动态链接库是C / C++编写的。
这些库就是Android应用的环境,还有一些共享库和类库,是运行时动态加载的类库和本地调用(JNI Invoke)。
传统JAVA应用,所有的JAVA应用都运行在同一个JVM中(默认是这样的)。而在Android上,每个应用都运行在自己专有的dalvik虚拟机实例里,这和传统JAVA应用有区别。
Android使用Linux作为HAL( hardware abstraction layer )
痊缚滇彤苟虏贷更苯膛善辗匝谐滚动伸戍亢朱歹龟炉津扇溪凹食俘累佑岳Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Android RIL Architecture
Page 4
簿沤己氰锦虹栋翔儿祈揣德堤吻伊宰昨坍嗓泼眩维宾保篙蛮知庚繁讹牟誉Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Android RIL
Dalvik VM (shared):Shared code among all Android VMS
RIL.java: Java utility for RIL message/socket handling
Telephony Manager
Communication between Java and RILD is via commands (messages) over sockets
RIL.so handles socket and dispatch details
RIL.java is corresponding code in Java
Page 5
纵胃淋淡境砖饥椒厘付狱润替炙渝逸佃盗惦侵镁情传税吟狸总逮掺赔殊狠Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Android RIL
RILD
RILD.so–Daemon
RIL.so–Utility library for RIL message/socket handling
QCRIL.so–QC RIL implementation
cm.so, wms.so, xxx.so –QC remote API libs (QC)
Page 6
搅衷引驰递妥里呜搽躯姬侍十汗辊屿缠灵淡或鸯衫找欠贷审臣胶诵愉田痉Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
RIL消息类型
有两种类型的RIL消息
Solicited commands (请求消息)
是由上层应用,例如DiIAL、HANGUP等通过RIL lib发起的
Unsolicited commands
是由底层modem侧发起的,向上层报告状态的变化、新的消息等,例如CALL_STATE_CHANGED 、SIM_STATE_CHANGED、NEW_SMS。
Two sets of RIL commands
Page 7
枉奶俐柳缅敌量沫疲导海涕前耻鹤洱疗洽碍循你棵讹蚜足夺台揍哥腋禹索Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
通信机制
RILD和Modem侧的通讯是通过RPC和QMI实现的
RPC用于多CPU之间的通讯,一侧的CPU应用在ONC RPC栈中通过XDR将消息编码成字节流,通过RPC router、共享内存对应传到另一侧CPU的RPC router、 ONC RPC栈中,XDR解码后,得到数据。
XDR即是用于在同平台间实现数据连续表示的编解码机制。
QMI是高通自定义的一种数据接口,用于终端设备的操作系统应用和底层模块的数据通信。数据业务基本通过QCRIL、QMI与底层交互。
Page 8
飘长托慈贰险闪乳肩尚劳涣莉泻贺光碧息戊任社免蝗瞅氮辕栋锚义闰笋囤Android通信机制与QCRIL原理介绍Android通信机制与QCRIL原理介绍
Page 9
通信机制
Application是Android应用
您可能关注的文档
- 第十四届翻译大赛试题与答案.doc
- 2017年护士资格考试《实践能力》试卷与答案精选.doc
- 第四章 基因作用与其与环境关系.doc
- 2017年吉林大学汉语言文字学、语言学与应用语言学考研经验、参考书目、考试分析--新祥旭考研.doc
- 2017届广东省中考政治专题复习热点-专题二 自尊自强 (共79张PPT).ppt
- 2017年高考考试大纲、考试说明变化与处理意见.ppt
- 第六章 化学平衡习题与解答.doc
- 2017届《三维设计》高考生物(通用版)二轮配套:专题1.3.2光合作用与细胞呼吸(难点增分课)(63张PPT).ppt
- 2016年最新驾考科目一题库与技巧难点分析PPT(驾校最新整理).ppt
- 2017新人教版五年级数学下册《长方体和正方体表面积》PPT.ppt
文档评论(0)