标签:
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层开发的确大量减少了我们的工作量。
标签:
原文地址:http://www.cnblogs.com/91program/p/5243192.html