---【RIL机制分析】
Achillisjack
这个作者很懒,什么都没留下…
展开
-
RIL 机制---开篇
1, 概念本文基于android 6.0。RIL(Radio Interface Layer,无线通信接口层)主要相关的结构如下,为了便于论述,将RIL分为三个部分,1, Framework层中的相关Java程序。运行与phone进程,简称RILJ。 封装phone进程的消息,然后发送给RIL;读取RIL中的消息然后解析并进行处理。2,hardware原创 2017-05-10 21:04:50 · 6197 阅读 · 0 评论 -
RIL 机制---rild守护进程
3 守护进程ril与上层的RILJ沟通方式是通过Socket传输数据与命令,而reference-ril与底层Modem的信号传输是通过串口用AT命令来实现。 RILC是一个守护进程,由init进程启动,init.rc文件配置如下,service ril-daemon /system/bin/rild class main socket rild stream 660原创 2017-05-13 23:41:17 · 2312 阅读 · 0 评论 -
RIL 机制---消息从RIL到reference-ril
5,RIL—>reference-ril首先ril从socket中读取RILJ发送的数据,然后在ril进行处理封装,最后发送到reference-ril进行处理。5.1 读取数据读取数据流程图如下,eventLoop方法如下,static void *eventLoop(void *param) { int ret; int filedes[2];原创 2017-05-13 23:54:12 · 1324 阅读 · 0 评论 -
RIL 机制---消息从reference-ril到Modem
6, reference-ril-->Modemreference-ril.c中调用流程图如下,onRequest方法中会处理所有消息,但是处理流程完全一样, 以RIL_REQUEST_DIAL消息为例来论述消息的处理, onRequest中相关代码如下,case RIL_REQUEST_DIAL: requestDial(data, datalen, t);原创 2017-05-13 23:58:10 · 1690 阅读 · 0 评论 -
RIL 机制---消息从reference-ril到RIL
7, reference-ril -->RIL7.1 线程阻塞在上一章的最后的at_send_command_full_nolock函数中,调用writeline将命令写入Modem后,还做了一个很重要的动作,就是阻塞当前线程,等待Modem回应。再次回到at_send_command_full_nolock,相关代码如下,while (sp_response->final原创 2017-05-14 07:46:04 · 1180 阅读 · 0 评论 -
RIL 机制---消息从RIL到RILJ
8 RIL -->RILJ8.1 上报消息处理ril.cpp的RIL_onUnsolicitedResponse方法主要代码如下,//得到当前命令的请求码 unsolResponseIndex = unsolResponse - RIL_UNSOL_RESPONSE_BASE; //从ril_unsol_commands.h文件中得到命令的类型 wa原创 2017-05-14 07:58:18 · 1555 阅读 · 0 评论 -
RIL 机制---消息RILJ中的处理
9,RILJ接收子线程要完成的就是对接收数据的处理操作。还分为两步去分析:1、如何接收的消息;2、消息的处理流程。9.1数据接收过程 接收子线程RILReceiver的run方法主要代码如下,class RILReceiver implements Runnable { byte[] buffer; RILReceiver() {原创 2017-05-14 08:30:50 · 3357 阅读 · 0 评论 -
RIL 机制---消息从RILJ到RIL
RILJ发送子线程需要关注两点:1、如何把数据发送到mSenderThread中;2、mSenderThread是如何把请求发送给RIL的。在创建mSenderThread线程的时候,先是通过getLooper得到子线程的Looper,然后用这个Looper去创建了Handler对象,因此得到的这个Handler对象就是子线程的Handler,也就是RILSender对象。4.原创 2017-05-13 23:44:46 · 1042 阅读 · 0 评论 -
RIL 机制---总结
10,总结RIL的结构如下,对于从RILJ发出的消息,在正常情况下,Modem总会有对应的回应消息。1,从RIL到RIL。2,从RIL到reference-ril3, 从reference-ril到Modem4,Modem处理完成之后,又从modem到reference-ril5,从reference-ril到RIL6,从RIL到RILJ。除此之外,Mo原创 2017-05-14 21:12:41 · 1364 阅读 · 0 评论