1. 模拟器是在X86平台下模拟其他平台的设备的一个软件。
误区一:同一类平台不同的BSP包需要不同的模拟器。最开始的时候我就以为以WINCE6.0自带的DeviceEmulator:Armv4i BSP克隆一个BSP,Build了一个OS;再以PXA310 BSP克隆了一个BSP,Build了一个OS,希望二者结合,产生一个更能模拟模拟PXA310的模拟器。
结论:1)无法完成这样的工作,也无需完成这样的工作。
2)只要是ARMV4I的设备,用同一个模拟器就可以了。当然其他平台的设备,需要制作不通的模拟器,比如X86平台;
3)同一个平台,可以制作不同的Skin,使得模拟器具有不通的外观;
2. 制作模拟器的OS必须以自带的DeviceEmulator BSP为基础,连克隆该BSP,再以克隆BSP制作OS都不行。
误区二:以为克隆的BSP和原来的一样,以克隆BSP制作OS没问题。
结论:1)以克隆BSP制作OS的确没问题,但导出SDK时有个奇怪的现象。就是Build SDK的时候,选择Build All SDKs...->Property Pages->Emulation 所有的选项全灰,包括Configuration,无法选择刚BUILD的NK镜像;
2)即使如上,也可以导出SDK。但安装该SDK后,选择TOOLS->Options->Device Tools->Devices->Show Devices for platform选择自己刚导出的SDk后,在其下的Devices列表框中仅显示一项,为一个XXDevice,没有对应的Emulator。(可以查到很多网页讲这个地方有两项)。经实验证明,显示一项的原因就是因为选择的BSP为克隆版,也许wince6认为模拟器的BSP不需要修改,也就不需要克隆。你克隆了,它就认为你是一款真实的设备,所以emulation 就为灰色,禁用;
3. platform文件下的BSP包增加后有可能导致原有的Build成功的OS,重新BUILD不成功。
误区三:基于某BSP Build了一个OS,增加一个新设备的BSP;因某种原因重新BUILD基于第一款BSP的OS一定成功。
结论:1)增加一设备的BSP,一般会拷贝该设备的两个文件夹,一个为common,一个为平台名称命名的文件夹;common文件夹中一般含有该平台的SOC代码。重新Build原有的OS的时候,必然要编译common文件夹,也就要编译新增加的SOC代码,这能导致Build通不过;
2)即使基于新增的BSP Build OS成功,Build 原有的OS也可能不成功。因为两款BSP预设的catalog item不一样,也就说sysgen_XX配置比一致。另外环境变量的设置也可能不一样。两个原因都可能导致Build不成功。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lifeissmile/archive/2009/11/13/4809086.aspx