RILD
进彬
这个作者很懒,什么都没留下…
展开
-
RILD(一)---Event简述
RILD主要起到承上启下的作用,作为modem和RILJ的通信的中转站。RILD可分为两部分,一是负责与RILJ通讯的部分,主要通过socket通信;另一个是负责与modem交互,主要通过AT指令。 在整个指令的传递过程中,主要是事件Event的传递。RIL的Event管理体系中存在3个链表结构:watch_table,timer_list,pending_list,并使用了一个设备句...原创 2018-08-07 10:56:17 · 1358 阅读 · 0 评论 -
RILD(二)---Eventloop把RILJ命令发送给reference库
Eventloop把RILJ命令发送给reference库实际上主要是拿到reference中RIL_RadioFunctions的句柄,然后在RILC初始化注册的时候将func作为参数传递进去。为之后的上层下发指令时的调用做准备。s_commands数据起到了承上启下的作用,提供调用reference onRequest的方法,也提供reference传往Env的方法@rild.c...原创 2018-08-07 11:12:08 · 568 阅读 · 0 评论 -
RILD(三)---RILD把请求发给modem
上层发送下来的指令通过RILJ传递给RILC,在s_command数组中会根据不同的请求调用不同的dispatch方法,dispatch方法再往下就需要调用不同的AT指令进行处理。@ril.cppstatic void dispatchVoid (Parcel& p, RequestInfo *pRI) { //发送数据到Modem clearPrintBuf;...原创 2018-08-07 11:25:57 · 1314 阅读 · 0 评论 -
RILD(四)---Reference(URC消息上报)
reference库的加载reference库需要完成两个任务: 1、将eventLoop中的命令通过AT发送给Modem; 2、构建一个readerLoop循环,接受Modem消息,并根据消息的不同(URC和非URC)将消息返回给eventLoop(非URC消息)或者直接发送给RILJ(URC消息)。RIL_Init方法是在RILD初始化的时候(rild.c)调用的,其作...原创 2018-08-07 11:35:16 · 5156 阅读 · 0 评论