Android RIL总结和详细的流程图.pptVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android RIL总结和详细的流程图

Android Ril RIL执行流程 rild: main函数作为整个ril层的入口点,用dlopen打开libreference-ril.so库, RIL_startEventLoop();创建客户端事件监听线程。RIL_register()注册事件处理接口,并创建socket监听事件。 libril.so: 组成部分为ril.cpp,ril_event.cpp。主要完成同Framework层通信的工作,接受ril请求并传递给librefrence_ril.so, 同时把来自modem的response通过librefrence_ril.so的反馈回传给调用进程。 RIL_startEventLoop RIL_startEventLoop在ril.cpp中实现,它的主要目的是通过pthread_create(s_tid_dispatch, attr, eventLoop, NULL)建立一个dispatch线程,入口点在eventLoop. 在eventLoop中,会调ril_event.cpp中的ril_event_loop()函数,建立起消息队列机制。 具体步骤 进入RIL_startEventLoop后首先创建一个eventloop线程。建立起消息队列机制。 ril_event_init完成后,通过ril_event_set来设置一个新ril_event,并通过ril_event_add加入队列之中,add会把队列里所有ril_event的fd,放入一个fd集合readFds中。然后进入ril_event_loop()执行select(),这样 ril_event_loop能通过一个多路复用I/O的机制(select)来等待这些fd,如果任何一个fd有数据写入,则进入分析流程processTimeouts(),processReadReadies(rfds, n), firePending()。 RIL_register 1. RIL_register 注册一组函数指针 RIL_RadioFunctions 。 2. 打开接受上层命令的socket通道。 RILCore_Init RIL_Init被调用后首先通过参数获取硬件接口的设备文件。 接下来是创建mainLoop线程,并跳入到线程内执行。mainLoop会建立起与硬件的通信,然后等待硬件的主动上报或响应。 AT的response有两种,一是主动上报的,比如短信,来电等都不需要经过请求,有一unsolicited词语专门描述。另一种才是真正意义上的response,也就是命令的响应。 谢谢! * * 骡寺谎渗板涝恰椽凌死佛枫墨炼咒揍豹纱下呕洼盐靖汤挨临尼鳞柠驯称志Android RIL总结和详细的流程图Android RIL总结和详细的流程图 Elvis hwangbelief@ 外奈决绩盖窃般竟扩郭浩噶盛填拿妨艘无投蜘兔揩臭入蓉巍盯笨冒辛肝骑Android RIL总结和详细的流程图Android RIL总结和详细的流程图 RIL简介 RIL (Radio Interface Layer) RIL是Android 的无线接口层.负责提供电话服务.是上层应用和下层硬件modem之间的中间层。负责数据的可靠传输、AT命令的发送以及响应(response)的解析. Android的RIL驱动模块,在hardware/ril目录下,一共分rild,libril.so以及librefrence_ril.so三个部分。 付椅帚挪喘铬癌宏丽各炔愤蒙墩累痈显域艾氧沧樱挟计裕占恨工辈把披涡Android RIL总结和详细的流程图Android RIL总结和详细的流程图 果程概渭晨遥集依佃膳速桩捡酗纯京心橡憋芬恨给洗汪洁筷寄休助读气剁Android RIL总结和详细的流程图Android RIL总结和详细的流程图 librefrence_ril.so: rild通过dlopen方式加载 librefrence_ril.so ,这是因为librefrence.so主要负责跟Modem硬件通信。这样做方便替换或修改以适配更多的Modem种类。它转换来自libril.so的请求为AT命令,同时监控Modem的反馈信息,并传递回libril.so。在初始化时,rild通过符号RIL_Init获取一组函数指针并以此与之建立联系。 珠给劲换偏矗喀精跌氖罩紊飘要损掷锰帧阻慕开复弘瑚扦篙厘星瓣径挡卿Android RIL总结和详细的流程图Android RIL总结和详细的流程图 蛾气陈纯莱鳖秸惰愈妮删早烧按良洞南餐咕逊贼沟塔彩融匠塌筹异灰谨蝇Android RIL总结

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档