RIL开发过程

来源:互联网 发布:开淘宝电脑配置 编辑:程序博客网 时间:2024/06/05 04:50

RIL的开发需要两步:

第一步:在PB中添加CellCore/RIL和TAPI 首先在CE6.0的catalog里面找到”CellCore”,你可以只选择你需要的选项(例如SMS支持)或者所有功能(ALL Modules)。 这样做的话就只会添加到你的API层(MDD模块)但是不能添加Enfora例程的RIL驱动层(PDD模块)。所以需要第二步!

第二步:要添加Enfora的例程我们可以通过在添加”IMGENFORA=1”的环境变量来实现。同时,在bib文件中添加加载Enfora的DLL的开关: d:/WINCE600/PLATFORM/DEVICEEMULATOR/FILES/platform.bib

IF IMGENFORA

rilgsm.dll $(_FLATRELEASEDIR)/rilenfora.dll NK SHK

ENDIF IMGENFORA

设置IMGENFORA环境变量只能在CEPC平台和模拟器平台上产生作用,因为Enfora驱动位于CEPC平台和模拟器平台的文件夹下。如果你希望Enfora在你自己的平台下工作你需要将Enfora的文件在DEVICEEMULATOR文件夹下复制至你自己的平台文件夹下。

例如我们的平台是Nano,那么我就要复制去/Wince600/Platform/Nano/SRC/DRIVERS/RILPDD,

然后你需要修改一些其他的文件来令到这个文件能够运行。首先,按照如下方式在驱动文件夹DRIVERS下修改路径文件DIRS,从而确保RILPDD能够被编译:

DIRS= /

# @CESYSGEN IF CELLCORE_MODULES_

RIL rilpdd /

# @CESYSGEN ENDIF CELLCORE_MODULES_

RIL 接下来在我们Nano平台下的BIB文件和REG里粘贴IMGENFORA块,别忘记这两个文件是在WINCE600/PLATFORM/CEPC/FILES底下的。 这样,我们就可以通过设置环境变量IMGENFORA=1来实现为我们的平台添加Enfora RIL驱动,从而使得上层应用能够控制我们的GSM/GPRS设备。还有一点要注意的就是,Enfora驱动会假定你通过COM2口来连接你的GSM嵌入式设备,在模拟器里面我们可以使用桌面PC的物理COM口来映射它。 另外有一点要注意的是,GSM驱动与多数复杂的WIN CE驱动一样同样分为MDD和PDD两层,CellCore是运行在一个叫RIL的驱动之上的,如果要想在实际的GSM物理设备上稳定地跑起来,重新针对实际硬件开发PDD层是必须的,这点需要对GSM通讯协议与AT命令状态及其机制非常熟悉才行。幸亏的是,比起例如SMS那些复杂的处理,只对PDD层开发的确大量减少了我们的工作量。