进行源码分析前,我们必须先知道目前主流智能手机的硬件架构中有两个处理器,一个称为Application Processor(AP),主要用于运行操作系统,执行应用程序;一个称为Baseband Processor(BP),专门负责手机中和射频无线通信相关的功能。AP和BP芯片间通信基于串口,通信协议是广泛使用的AT指令。
接着来了解下RIL中的两种Response类型:
一是Solicited Response(经过请求的回复),应用的场景是AP主动向BP发送一个AT指令,请求BP进行相应处理并在处理结束时回复一个AT指令通知AP执行的结果。源码中对应的文件是ril_commands.h。
一是Unsolicited Response(未经请求的回复),应用场景是BP主动向AP发送AT指令,用于通知AP当前系统发生的与Telephony相关的事件,例如网络信号变化,有电话呼入等。源码中对应的文件是ril_unsol_commands.h。
首先当然先看下ril_commands.h文件: