Android_RIL层剖析(一家网站上找的)(20210204073653)_第1页
Android_RIL层剖析(一家网站上找的)(20210204073653)_第2页
Android_RIL层剖析(一家网站上找的)(20210204073653)_第3页
Android_RIL层剖析(一家网站上找的)(20210204073653)_第4页
Android_RIL层剖析(一家网站上找的)(20210204073653)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、这个网站上的是韩文还有英文Android 无线接口层( Radio Layer Interface )目录:1、介绍2、RIL 初始化3、RIL 交互主动请求被动请求4、实现 RILRIL 初始化5、RIL 函数RIL 主动命令请求RIL 被动请求的命令1 介绍An droid的无线接口层(RIL)提供了 An droid电话服务()与无线电硬件之间的抽象层。RIL是通讯无关的,提供基于 GSM勺网络支持。下图显示了 RIL 位于 Android 电话系统架构中的位置。图 1LibrariesLliw(user space)BasebandLinux KernelRadio Daemon (r

2、ild) ornrnarhds/fiiirfVendor RIL 空严iEfn/libn帀 hrfl.uenrkarVoice ardCortincilPacko! DrivorPPP. for example实线框表示An droid部分,虚线框表示合作伙伴所专用的部分RIL包含两个基本部件:RIL守护进程(RIL Daemon): RIL守护进程初始化 Ven dor RIL,管理所有 来自An droid通讯服务的通讯,将其作为被请求的命令( solicited comma nds ) 调度给 Vendor RIL。Ven dor RIL :文件中的无线电专用 Ven dor RIL掌管

3、着所有和无线电硬件的 通讯,并且通过未被请求的命令(un solicited comma nds )分发给 RIL守护进 程。2 RIL 初始化An droid在启动时初始化通讯栈和 Ven dor RIL,描述如下:1. RIL守护进程读取路径和系统参数,决定应该使用的Vendor RIL库和向Vendor RIL提供的初始化参数2. RIL守护进程加载Vendor RIL库,执行RIL_Init初始化RIL并为RIL函数获取参数。,为 Ven dor RIL 函数3. RIL守护进程调用 An droid通讯栈中RIL_register提供参考RIL守 护 进 程PhonerildL Di

4、al 0| 1 F11IUnix socketsiiiiDial ()fiinc callii i i i i ii iiiiiImmediate relurnRll implbaseband0:专用公司缩写: RIL 版本 numberso:文件扩展RIL初始化特定的Ven dor RIL必须定义一个初始化函数,提供一系列句柄函数以处理 每一个通讯请求。An droid RIL守护进程会在启动时调用 RIL_I nit以初始化RIL。RIL_RadioFunctions*RIL_Init(RIL_Env* env, int argc, char*argv);RIL_Init返回一个RIL_R

5、adioFunctions 结构体包含无线电函数指针。type structure int RIL_versio n;RIL_RequestFunc on Request;RIL_RadioStateRequest on StateRequest;RIL_Supports supports;RIL_Ca ncel onCan cel;RIL_GetVersi on getVersi on;RIL_RadioF un ctio ns;5 RIL函数定义了 RIL 状态和变量,比如 RIL_UNSOL_STK_CALL_SETIRIIL_SIM_READY,RIL_SIM_NOT_READ,Y 具

6、 体 函 数 描 述 见 下 表o忽略头文件(/device/include/telephony/ 细节。RIL 主动命令请求Vendor RIL 必须提供下表中的函数用以发送主动命令。 RIL 主动命令请求类 型定义在的 RIL_REQUEST_prefix中。函数 1:void (*RIL_RequestFunc) (int request, void *data, size_t datalen,RIL_Token t);描述:RIL 主动命令入口指针,必须能够处理各种 RIL 主动请求(定义于的 RIL_REQUEST_ prefix)。* request 是一种 RIL_REQUEST

7、_* data 是一个指向RIL_REQUEST数据的指针* t应当被用于RIL_onResponse的后续调用* datalen 由调用者所有,应当由被调者修改或释放必 须 调 用 RIL_onRequestComplete() 函 数 完 成 通 讯 。 RIL_onRequestComplete() 在这个函数返回前或之后可能被任意线程调用。 这个 函数总会调用同一个线程, 因此返回到这里意味着无线通讯准备去处理其他命令 (无论前面命令是否完成传输) 。函数 2:RIL_RadioState (*RIL_RadioStateRequest)( );描述:这个函数应该返回当前通讯同步状态函

8、数 3:int (*RIL_Supports)(int requestCode);描述:如果提供指定RIL_REQUES代码,返回1否则返回0.函数 4:void (*RIL_Cancel)(RIL_Token t);描述:本函数用来指示取消一个待处理请求。 函数将被一个独立线程所调用, 而不 是 RIL_RequestFunc 函数。一 旦 取 消 , 被 调 用 者 应 当 尽 量 放 弃 请 求 并 在 这 之 后 调 用 RIL_onRequestComplete 函数的 RIL_Errno CANCELLED。响应请求后调用 RIL_onRequestComplete 并产生其他结果

9、是可以被接受 的,但会被忽略 (理应忽略被取消的请求 ) 。RIL_Cancel 调用应该被立刻返回,不需要等待取消。函数 5: const char * (*RIL_GetVersion) (void); 描述:向你的 Vendor RIL 返回版本字符串Vendor RIL 使用以下回调函数与 Android RIL 守护进程通讯。函数 1:void RIL_onRequestComplete(RIL_Token t, RIL_Errno e, void *response, size_t responselen);描述:* t 是之前通讯传递至 RIL_Notification 的参数*

10、如果e != SUCCESS则可以没有相应,并且被忽略* response 由调用者所有,应当由被调用者修改或者释放。* RIL_onRequestComplete 将尽快返回函数 2:void RIL_requestTimedCallback (RIL_TimedCallback callback, void *param, const struct timeval *relativeTime);描述:用户指定的回调函数的线程中, RIL_RequestFunc 函数被调用。 如果指定了 relativeTime ,那么回调前将等待一个一个特定的时间值。如果 relativeTime 为空,

11、或者指针指向了一个空的结构体,回调函数会尽快被执行。RIL 被动命令下表函数是 Vedor RIL 使用的回调函数, 用来唤醒被动命令在 Android 平台 的相应机制。具体细节看函数:void RIL_onUnsolicitedResponse(int unsolResponse, const void *data, size_t datalen);描述:* un solRespo nse 是 RIL_UNSOL_RESPONSE其* 中之一* data 是指向 RIL_UNSOL_RESPONS数据的指针* data 被调用者所有,应当由被调用者修改或者释放文件存放路径:wa ngkde

12、bia n:/JWT/A ndroid-JWT/hardware/ril/refere nce-ril$所在目录结构:/hardware/ril/|- ril(无线电抽象层)|- i nclude(头文件)|- libril(库)|- refere nce-cdma-sms( cdma短 信参考)|- refere nce-ril( ril 参考)|- rild( ril后台服务程序)和UI框架结构/ Radio Interface Layer (RIL)RIL介绍背景知识介绍,AT命令和pppRIL的工作原理和涉及的系统服务RIL的电话呼叫过程和 ppp激活过程UI的surface框架【An droid RIL 开发】目标:熟悉an droid ril架构,能够开发简单的ril模块,实现打电话发短信的功能内容:1、An droid RI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论