添加CellCore/RIL 组件
两个步骤就可以添加CellCore/RIL驱动来支持我们的嵌入式操作系统。首先在CE6.0的catalog里面找到”CellCore”,
你可以只选择你需要的选项(例如SMS支持)或者所有功能(ALL Modules),这样做的话就只会添加到你的API层(MDD模块)但是这样的操作还不能添加Enfora例程的RIL驱动层(PDD模块)到我们的工程,要添加Enfora的例程我们可以通过在添加”IMGENFORA=1”的环境变量来实现。
另外,别忘记在bib文件中添加加载Enfora的DLL的开关:
C:/WINCE600/PLATFORM/DEVICEEMULATOR/FILES/platform.bib
IF IMGENFORA rilgsm.dll $(_FLATRELEASEDIR)/rilenfora.dll NK SHK ENDIF IMGENFORA
设置IMGENFORA环境变量只能在CEPC平台和模拟器平台上产生作用,因为Enfora驱动位于CEPC平台和模拟器平台的文件夹下。如果你希望Enfora在你自己的平台下工作你需要将Enfora的文件在DEVICEEMULATOR文件夹下复制至你自己的平台文件夹下。例如我们的平台是x5,那么我就要复制去/Wince600/Platform/x5/SRC/DRIVERS/RILPDD,然后你需要修改一些其他的文件来令到这个文件能够运行。首先,按照如下方式在驱动文件夹DRIVERS下修改路径文件DIRS,从而确保RILPDD能够被编译:
DIRS= / # @CESYSGEN IF CELLCORE_MODULES_RIL rilpdd / # @CESYSGEN ENDIF CELLCORE_MODULES_RIL
这样,我们就可以通过设置环境变量IMGENFORA=1来实现为我们的平台添加Enfora RIL驱动,从而使得上层应用能够控制我们的GSM/GPRS设备。
还有一点要注意的就是,Enfora驱动会假定你通过COM2口来连接你的GSM嵌入式设备,在模拟器里面我们可以使用桌面PC的物理COM口来映射它。
另外有一点要注意的是,GSM驱动与多数复杂的WIN CE驱动一样同样分为MDD和PDD两层,CellCore是运行在一个叫RIL的驱动之上的,如果要想在实际的GSM物理设备上稳定地跑起来,重新针对实际硬件开发PDD层是必须的,这点需要对GSM通讯协议与AT命令状态及其机制非常熟悉才行。幸亏的是,比起例如SMS那些复杂的处理,只对PDD层开发的确大量减少了我们的工作量。
CellCore支持安装CE6.0的设备之间互相发送SMS短信来通信,或者通过蜂窝网络连接到Internet,并能够远程调用XML Web Services或者与企业服务器上的应用进行通信(这当然也包括一些同样运行CellCore的终端设备),你可以想象在安装CE6.0的自动售货机当它们没有库存的时候自动通过无线网络向仓库的服务器提交补充库存申请。它还能和智能的GPS定位器结合,运用一些图遍历的算法,实现货车只需前往需要补充货物的自动售货机,并且在这个过程中选择行车路线最短的路径,以降低燃料和成本。
要学好嵌入式,还是建议买一个开发板,因为在枯燥的学习中,要能实践才会记忆深刻,而且,在看到自已学的知道能做出一些功能,会很有成就感,更能积累信心往深处学。例如学驱动开发,能在开发板上做出一个应用,调用自已写的驱动程序,控制LED灯的亮灭,这就很有信心,让自已更有兴趣往下学。这样学习起来会更快!
推荐下面4款,你可以根据你的经济能力来选一个
1、高级嵌入式开发板 ARM-A8内核,价格在2200~2700
X-210开发板(代码开放度高,XBOOT很牛)
Mini210开发板 (友善的板子,有沉淀)
2、入门级嵌入式开发板 ARM11内核 ,价格在500~650之间
Tiny6410 (友善之臂经典之作)
OK6410 (特点是支持WINCE7.0)
可以去风火轮团队的店里看一下,在他们那里买开发板有个好处,他们提供更周到的技术支持
风火轮技术开发团队 www.arm-cn.com
官方淘宝店:smartfire.taobao.com