android QMI机制---Qcril初始化流程

本文详细介绍了Android QMI机制中的Qcril初始化流程,包括EventLoop的建立、qcril模块初始化、EventLoop线程启动、其他初始化步骤以及回调函数注册给RILC的过程。Qcril作为高通平台的RIL实现,通过RILC框架适配不同Modem,确保AP与Modem之间的通信兼容性。
摘要由CSDN通过智能技术生成

3, Qcril初始化流程

rild守护进程的rild.c文件中main方法有关加载动态库代码如下,

dlHandle = dlopen(rilLibPath, RTLD_NOW);//加载库
•••
funcs = rilInit(&s_rilEnv, argc, rilArgv);//初始化   实际调用的是RIL_Init方法

s_rilEnv结构体定义如下,也就是qcril.c可以回调ril的方法

static struct RIL_Env s_rilEnv = {
    RIL_onRequestComplete,
    RIL_onUnsolicitedResponse,
    RIL_requestTimedCallback
};

Android平台不同厂商的AP侧可以相同,但是Modem侧肯定会有很大的差异,RIL层要解决一个问题

就是适配不同厂商的Modem,为了达到兼容性要求,android在AP与Modem之间搭建了RILC的框架,

由不同的Modem厂商将自己的协议连接到AP侧。对于高通平台来说,RILC就是QCRIL。

qcril.c的RIL_Init方法主要步骤如下,

//设置线程的名字
qmi_ril_set_thread_name( pthread_self() , QMI_RIL_QMI_RILD_THREAD_NAME);
//初始化接收Modem消息的EventLoop
qcril_event_init();
// 初始化QCRIL各个模块
qcril_init(c_argc, c_argv);
// 启动线程
qcril_event_start();
//其他初始化
qmi_ril_initiate_bo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值