Android - Telephony
文章平均质量分 80
红茶加奶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RILD - 第一章 - RILD流程概览
注:本文基于MTK Android N平台分析 参考: - 《深入理解Android:Telephony原理剖析与最佳实践》—杨清平 - 大神写的分析博客前言目前在负责Telephony模块,自己也想从上到下看下Telephony模块的相关代码流程。如此,就讲自己的总结的笔记保存于此,既可以随时查阅,也希望能帮助到有缘人。一、框架入口1.1 说明RILC主要分三块RILD,LibRIL,Ref原创 2017-08-20 21:35:00 · 1919 阅读 · 0 评论 -
RILD - 第二章 - EventLoop机制的建立
二、EventLoop机制LibRIL负责接收来自RILJ的数据,并传递给ReferenceRIL。实现这一功能的主要机制就是EventLoop机制。 分析LibRIL主要就是分析EventLoop。2.1 EventLoop相关预备知识2.1.1 EventLoop中的Event在ril_event.h头文件中可以看到ril_event的结构体定义//定义Event回调函数指针typedef原创 2017-08-20 21:49:43 · 966 阅读 · 0 评论 -
RILD - 第三章 - ReaderLooper的建立
三、 ReaderLooper()ReaderLooper主要用来监听Modem上发信息RIL需要加载一个AT相关的reference-ril.so的动态链接库。之所以使用 库的形式,就是考虑到每个厂商使用的Modem不同,我们没法用统一的接口去向底层负责,因此使用库的形式。这样一来,不同的Modem厂商提供不同的链接库,只要符合RIL层的框架即可。3.1 ReadLoop预备知识3.1.1 Ref原创 2017-08-20 23:58:02 · 699 阅读 · 0 评论 -
RILD - 第四章 - LibRIL Register
四、LibRIL启动注册联通RILJ与RILC前面ReferenceRIL的init函数参数s_rilEnv是吧LibRIL的回调传入ReferenceRIL,这样ReferenceRIL就可以向LibRIL传递数据。 而init函数的返回值返回了自己的回调函数funcs,这样LibRIL就可以向ReferenceRIL传递数据。这一步就是把funcs放入LibRIL中。 并且进行了一些端口参数原创 2017-08-21 00:07:45 · 627 阅读 · 0 评论 -
RILD - 第五章 - 一个完整的request流程
五、一个完整的过程一个完整的过程包括以下四个步骤: 1、Eventloop接收RILJ的请求,并负责把请求发送给reference库:RILJ –> Eventloop –> reference 2、reference负责把命令转化为AT命令,然后发送给Modem:reference –> Modem 3、reference通过readerLoop得到Modem回应后把数据返回给Eventlo原创 2017-08-21 00:19:08 · 2060 阅读 · 0 评论 -
RILD - 第六章 - 其他比较重要的结构体
六、几个重要结构体6.1 RILChannelCtx封装了AT通道的上下文信息typedef struct RILChannelCtx { const char* myName; RILChannelId id; pthread_t tid_reader; pthread_t tid_myProxy; int fd; ATUnsolHandler un原创 2017-08-21 00:27:44 · 434 阅读 · 0 评论 -
RILD - 第七章 - RILProxy
七、RilProxy对于MTK平台,在RILC与RILJ之间,有一个RilProxy层。之所以要使用proxy,一个好处是在上层,不仅仅是RILJ与RILC通过Socket连接,还有其他地方也可以与RILC连接,来向下才层Modem通信,比如如可以通过终端ATCI接口直接向Modem发送命令。另一个好处是proxy层的下层,可以自由选择切换其所对接的RILC层,因为对于不同的项目,所需要适配的RIL原创 2017-08-21 00:41:48 · 1693 阅读 · 0 评论 -
RILD - 第八章 - 如何自定义request
八、AT命令不同手机厂家的AT命令集都不一样,而在Android源代码中只实现了GSM27.007标准定义的Telephony基本功能。因此,在Android手机平台的定制过程中,免不了要修改或是增加AT指令。8.1 AT LOG不单是RILC可以向Modem发起AT命令,在ReferenceRIL中也会接收到Modem发出的AT命令,如何区分是谁给谁发送的命令,可以通过Radio Log来看出来。原创 2017-08-21 00:55:08 · 1078 阅读 · 0 评论
分享