虽然公司在一年以前就开始做基于WinCE4.2系统的触摸屏,但是作为侧重应用层面开发的我,对WinCE内核相关知识可以说是一知半解。
WinCE6.0早在06年11月份就已经正式发布,但直到今天才开始研究WinCE6.0系统(其实早几个月的时候就从马宁那里获得了PB6.0安装程序,但是比较遗憾的是在前几天才把PB6.0装上)。WinCE6.0的100%开放源代码行动还是比较吸引人的,此外又作为VS2005的插件出现,对喜欢VS005开发环境的朋友来说,着实是一个福音。
PB6.0安装程序有3G多(SP1要小的多,才50多M),幸好我安装时仅选择了Arm平台相关的选项,否则真不知道要占用我多少磁盘空间呢!
闲言少叙,第一步我们就用PB6.0定制一个WinCE6.0内核。
(这方面的内容,幸好有马宁同志不辞辛苦的耕耘,我们可以不劳而获,直接看他blog上《Windows Embedded CE 6.0开发初体验(1~5)》系列文章即可,不过要选择的BSP是Device Emulator:ARMV4I,相关链接如下:http://blog.csdn.net/aawolf/archive/2007/12/19/1953448.aspx)。
第二步就是我们今天要说的重点了,以前PB5.0和PB4.x都有一个基于X86架构的模拟器。在定制BSP时,需要选择EMULATOR:X86定制的内核才能加载到模拟器之中。在PB6.0中在这一方面有了很大的改进,用“Device Emulator:ARMV4I”取代了“EMULATOR:X86”,也就是说现在的模拟器直接可以加载基于ARM平台的NK了,毕竟目前大部分嵌入式设备都是基于ARM平台的,这种改进还是非常有益的。
模拟器需要从网上下载,目前最新版本是V2.0。
---------------------------------
Microsoft Device Emulator 2.0 – 独立版
对基于 ARM 的设备的设备仿真程序来说,Microsoft Device Emulator 2.0 是第二个公开发行的版本。本仿真程序还将与 Windows Embedded CE 6.0 的 Adaptation Kit (AK) 版一同发行。
Device Emulator 2.0 版与 Visual Studio 2005 随附的该仿真程序的 1.0 版包含相同的可执行文件和 DLL。新版的仿真程序对性能进行了升级并新增了一些功能。本次安装将取代随 Visual Studio 2005 一同安装的仿真程序。
Device Emulator 2.0 版与 Visual Studio 2005 随附的该仿真程序的 1.0 版包含相同的可执行文件和 DLL。新版的仿真程序对性能进行了升级并新增了一些功能。本次安装将取代随 Visual Studio 2005 一同安装的仿真程序。
注意:在 Visual Studio 2005 中进行面向 Windows Embedded CE 6.0 平台的应用程序开发时需要使用 Device Emulator V2.0。此外,如果您的系统运行的是 Windows Vista,也需要使用本仿真程序。
---------------------------------
安装完模拟器后,接下来我们要配置一下相关选项:
单击“Target”菜单下Connectivity Options选择,弹出如下配置对话框
Download和Transport都选择“Device Emulator(DMA)”选项,此外如果Debugger选None的话,记得在工程属性中一定取消下图中的选项,否则模拟器一直黑屏。
单击配置对话框的“Setings”按钮弹出仿真程序属性配置对话框,如下图。
分辨率我设置为640*480。
串口最好映射,并且勾选“为串行端口1创建…”选项,这样在启动模拟器的时候会弹出如下窗体,这样在模拟器黑屏的时候你能获知是什么原因。
内核编译完毕后,我们单击“Target”菜单下的Attach Device选项,让模拟器加载NK.bin。
呵呵,成功了!