SIM Toolkit驱动开发
目的:最近刚刚接触RIL,RIL在Windows Mobile的驱动中还是比较复杂的,由于微软有关Phone的Feature全部在RIL中实现,就可以想象其复杂的程度了。网上去找关于如何做RIL的资料是非常的少,而且RIL这种东西又不是很难,难的东西模块已经帮我做好了,我们做的只需要把与上层的接口了解清楚,就行了。既然没有技术难度,何必每个做RIL的人,都需要从头开始熟悉呢,站着巨人的肩膀上就可以了,当然我不是巨人。我愿意当个挖井人,一人挖井,全村受益。
SIM ToolKit架构:要弄清楚SIM Toolkit, 就是了解其与上层的接口。如何把上层的函数请求包装成AT命令,往串口发送。串口来的数据,解析成上层所要的数据结构。上层通过RIL Toolkit 函数进行函数调用,实现请求。SIM Toolkit接口函数如下:
l RIL_GetSimToolkitProfile//获取STK的简要信息
l RIL_SetSimToolkitProfile//设置STK的简要信息
l RIL_SendSimToolkitCmdResponse//发送一个STK命令的响应
l RIL_SendSimToolkitEnvelopeCmd//发送一个envelope命令
l RIL_TerminateSimToolkitSession//终止STK会议
其中主要的最重要的一个函数是RIL_SendSimToolkitCmdResponse,其他几个在Simtkit中不会调用到。当底层有命令上来,需要上层做反应时,通过RIL_SendSimToolkitCmdResponse给予反馈。
代码分析:以模拟器的RILGSM分析, SIM Toolkit应用的架构如下图
RILGSM: GSM RIL驱动
SIMTkit: STK的功能函数及UI显示。
Tkitapp: 管理STK,