- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Andriod RIL重点模块介绍概要1
介绍
本文档对Android RIL部分的内容进行了介绍,其重点放在了Android RIL的原生代码部分。包括四个主题:
?
1.Android RIL框架介绍
2.Android RIL与?WindowsMobile RIL
3.Android RIL porting
4.Android RIL的java框架
?
在本文档中将Android代码中的重要模块列出进行分析,并给出了相关的程序执行流程介绍,以加深对模块间交互方式的理解。
?
对于java代码部分,这里仅进行简单的介绍。如果需要深入了解,可以查看相关参考资料。
?
本文档中还对Android RIL的Porting部分内容进行了描述和分析。
?
针对对unix操作系统环境并不熟悉的读者,本文档中所涉及到的相关知识包括:
??Unix file system
??Unix socket
??Unix thread
??Unix?下I/O多路转接
?
以上信息可以在任意一份描述Unix系统调用的文档中找到。
?
1.Android RIL框架介绍?术语:
fd???????????????????????unix文件描述符
pipe??????????????????????unix管道
cond??????????????????????一般是condition variable的缩写
tty???????????????????????通常使用tty来简称各种类型的终端设备
unsolicited response?????????被动请求命令来自baseband
event loop?????????????????android的消息队列机制,由unix的系统调用select()实现
init.rc?????????????????????init守护进程启动后被执行的启动脚本。
HAL?????????????????????硬件抽象层(Hardware Abstraction Layer,HAL)
1.1.Android RIL概况:
Android RIL提供了无线硬件设备与电话服务之间的抽象层。
?
下图展示了RIL在Android体系中的位置。
android的ril位于应用程序框架与内核之间,分成了两个部分,一个部分是rild,它负责socket与应用程序框架进行通信。另外一个部分是Vendor RIL,这个部分负责向下是通过两种方式与radio进行通信,它们是直接与radio通信的AT指令通道和用于传输包数据的通道,数据通道用于手机的上网功能。
?
对于RIL的java框架部分,也被分成了两个部分,一个是RIL模块,这个模块主要用于与下层的rild进行通信,另外一个是Phone模块,这个模块直接暴露电话功能接口给应用开发用户,供他们调用以进行电话功能的实现。
1.2.Android RIL目录结构:
Android的RIL模块位于Android/hardware/ril文件夹,有三个子模块:rild , libril , reference-ril
?
●include文件夹:
包含RIL头文件,最主要的是ril.h
?
●rild文件夹:
RIL守护进程,开机时被init守护进程调用启动,里面仅有main函数作为入口点,负责完成RIL初始化工作。
?
在rild.c文件中,将完成ril的加载过程,它会执行如下操作:
??动态加载Vendor RIL的.so文件
??执行RIL_startEventLoop()开启消息队列以进行事件监听
??通过执行Vendor RIL的rilInit()方法来进行Vendor RIL与libril的关系建立。
?
在rild文件夹中还包括一个radiooptions.c文件,它的作用是通过串口将一些radio相关的参数直接传给rild来对radio进行配置。
?
●libril文件夹:
在编译时libril被链入rild,它为rild提供了event处理功能,还提供了在rild与Vendor RIL之间传递请求和响应消息的能力。
Libril提供的主要功能分布在两个主要方法内,一个是RIL_startEventLoop()方法,另一个是RIL_register()方法
RIL_startEventLoop()方法所提供的功能就是启用eventLoop线程,开始执行RIL消息队列。
RIL_register()方法的主要功能是启动名为?rild?的监听端口,等待java?端通过socket进行连接。
?
●reference-ril文件夹:
Android自带的Vendor RIL的参考实现。被编译成.so文件,由于本部分是厂商定制的重点所在。所以被设计为松散耦合,且可灵活配置的。在rild中通
您可能关注的文档
- 养生之道 健康指南 中医药与营养(完整版)概要1.ppt
- 养生堂节目单2014年11月--2016年8月18日概要1.doc
- 养成亲社会行为概要1.ppt
- American_Dream_(正式版)概要1.ppt
- American_Politics(PPT课件)概要1.ppt
- 兽医内科学网上作业题概要1.doc
- 养生与健康(最终)概要1.ppt
- amplification韩概要1.ppt
- 养生知识大全概要1.ppt
- 典型行业职业病危害评价案例分析 8月21日概要1.ppt
- 2023年河北省保定市高碑店市卫生健康局公务员考试《行政职业能力测验》历年真题及详解.docx
- 2023年河北省保定市安国市信访局公务员考试《行政职业能力测验》历年真题及详解.docx
- 信息必刷卷03(广东省专用)(解析版).docx
- 信息必刷卷02(天津专用)(原卷版).docx
- 信息必刷卷03(安徽专用)(原卷版).docx
- 热点08 工艺流程题 -2024年中考化学【热点·重点·难点】专练(江苏专用)(解析版).docx
- 专题06 比较异同类选择题(含答题技巧,题型专练60题)(解析版).docx
- 专题09 推断题、工业流程题、溶解度曲线题(解析版).docx
- 信息必刷卷04(湖南专用)(解析版).docx
- 信息必刷卷01(福建专用)(原卷版).docx
最近下载
- 国开(CQ)-地域文化(本)-诗橙文化形考任务三-学习资料.docx
- 北师大版数学三年级上册第一单元《混合运算》大单元作业设计 (2).docx VIP
- 2022秋YMO数学7年级初赛试卷.pdf
- 2.2.4温度、催化剂对化学平衡的影响教学设计2023-2024学年高二上学期化学人教版(2019)选择性必修1.docx
- 复杂地质条件下巷道围岩主动控制技术.ppt
- 高清中国白地图填图.ppt
- 北师大版数学三年级上册第一单元《混合运算》大单元作业设计.docx VIP
- DCS硬件系统培训教材.ppt VIP
- DCS硬件系统培训.ppt VIP
- 以礼待人 部编版道德与法治八年级上册.pptx VIP
文档评论(0)