教你如何学习Windows CE 模拟器和远程调试工具

时间:2011-09-04

  模拟器(emulator)是PB的一部分。专用于调试在PB下创建的内核及应用程序。模拟器能够在PC下模拟Windows CE的物理平台。但实际上它只不过是一个运行在CPU Ring 3级别的用户程序。所以它的运行速度要比正常的物理平台要慢。模拟器仅支持x86平台,它只能调试基于"Emulator:x86"的内核和所有用x86指令集编译的程序。模拟器有很大的限制,这些限制使它只能运行简单的应用程序。但是有一点是好的,操作系统的大多数API对于任何CPU而言都是相同的。考虑到不受CPU类型影响的简单程序,还是可以在模拟器上调试的。在实际开发中我只用模拟器调试软件的界面。


  Windows CE模拟器是一个不依赖于硬件可以运行Windows CE的环境,它提供了一个虚拟的硬件平台,这样可以在上面测试一些应用程序。

  在Windows CE 6.0中提供了针对于ARM的模拟器的支持,一般和底层硬件相关的程序是不能在模拟器上面调试的,但是有些界面程序和简单的应用程序,在Windows CE模拟器上面调试还是很方便的。

  关于模拟器的硬件限制:(摘自Windows CE帮助)

  仅能模拟DEC 2114x 网卡驱动来提供网络支持,其它网卡驱动不支持。

  仅能模拟FLAT显示驱动,其它显示驱动不支持。

  不支持USB设备

  不支持PC卡、硬盘、CF卡。

  不支持FAT、CDFS、DVD文件格式。

  不支持IEEE1394设备。

  微软推荐的使用模拟器的开发平台的配置:

  1 GHZ CPU

  384 MB 系统内存

  500 MB 可用硬盘空间

  创建内核并到模拟器上

  为了测试远程调试工具,我们必须先使用PB v4.1创建一个内核:

  使用新内核向导创建内核:单击PB的"New Platform",在"step 2"的"Available BSPs"中选择"EMULATOR:X86",接着在"step 3"的"Available configurations"中选择一个预定义的内核配置,这些预定义的内核配置具有针对性。在这里我们选择"Internet Appliance"。注意:有些预定义的内核配置附带了外壳程序,有些没带。选择之后,填写工程名(例如Internet)和工程的保存路径。默认"step 4"的选项,在"step 5"中去掉所有复选框。因为我们只要内核和外壳就行了。同样去掉"step 6"中所有复选框。一步单击"Done"按钮。

  编译这个新内核:在菜单"Platform"-"Settings"-"Environment"中,单击"New",在弹出对话框中添加变量名"IMGRAM64"和值"1"。然后单击"Build"-"Build Platform"开始编译。具体编译的时间和你的机器配置有很大关系。

  配置模拟器:编译成功后,单击"Target"-"Configure Remote Connection",在弹出的对话框中找到"Download"下拉框,选择"Emulator",单击后面的"Configure",在弹出的对话框中设置分辨率为800 X 600或640 X 480。系统内存设置为64MB。单击"OK"后,在"Kernel"下拉框中选择"Emulator"。单击"OK"。

  启动模拟器:单击"Target"-"Download Initialize"。等待一会,模拟器就出来了。可以看到标准外壳的界面,也就是桌面。

  在PB中编写一个应用程序并到模拟器:

  在打开了内核工程的前提下(如果刚打开PB,先打开一个内核工程)。单击PB菜单"File"-"New Project or FIle"。余下的步骤我就不用多说了。和EVC一样,添个工程名就可以编码了。只是没有MFC、ATL的支持。在这里选择一个显示"hello world"的SDK程序。然后单击"Build"-"Build All"编译程序。我一般不在PB下开发软件。麻烦!

  在模拟器已经打开的前提下,单击"Target"-"Run Programs",找到你的程序名,再单击"Run"。在模拟器上就可以看到你的程序了。

  关闭操作:先关闭模拟器。再单击"Target"-"Disconnect"。

  远程调用评测程序(Remote Call Profiler)

  远程调用评测程序包含评测和分析工具。利用图形图像显示出你的代码中算法的效率或者占用资源情况。远程调用评测程序包含一系列接口函数。在你想要评测的代码中调用这些接口函数,然后运行你编写的程序。远程调用评测程序就能够接收你编写的程序的数据并记录。利用图形显示出来。显然这个工具我们并不常使用。尤其是开发非实时性内核和软件,加上目前的嵌入式微处理器处理速度已经很快了,对于一个软件性能的评测的需求就淡化了。当然,你要是愿意,觉得有必要也可以研究一下它的接口函数,然后测一下。我目前可没这个时间。微软提供了例子程序"hello"。如果你把Windows CE安装在C盘,那么路径为:

  "C:\Program Files\Common Files\Microsoft Shared\Windows CE Tools\Platman\sdk\wce410\samples\hello"。如图。

  Windows CE在模拟器上面成功运行以后,就会看到这个界面。可以移动鼠标在模拟器里面进行操作,也可以运行应用程序。一般来说,调试一些显示界面的程序,使用模拟器还是很方便的。

  Windows CE5.0提供了一系列观察Windows CE设备运行状态及相关信息的工具,这些工具就是远程调试工具。

  远程调试工具可以运行在PB5.0及EVC4.0上。

  要正常的显示设备上的相关数据,一定要保证设备与PC机之间已经连通。

  Remote Call Profiler

  远程调用评测程序

  包含评测和分析工具。主要测试程序的实时性、程序的运行等问题。

  用图形显示程序执行的效率及占用资源情况。

  该程序包含一系列接口函数。在你想要评测的程序中需要调用这些函数。

  该程序接收程序中相关接口函数发送的数据并记录。利用图形显示出来。

  Remote File Viewer

  远程文件浏览程序。

  远程文件浏览程序用于查看和管理Windows CE设备上的文件。

  该程序运行后有两个窗口,左面窗口显示设备的所有目录,右面窗口显示指定目录下的文件。

  常用的功能是导入(Import)和导出(Export)文件功能。

  导入是将文件从设备拷贝到宿主机,导出则是将文件从宿主机拷贝到设备。远程消息监视程序(Remote Spy)

  这个程序和VC下附带的工具spy非常相似。能够列出所有实际平台下的窗口和窗口消息。我想这个程序也不用我多说了吧。熟悉VC下的工具,就能操作这个工具。界面如所示。



                                 消息监视界面截图

  远程系统信息(Remote System Information)

  这个工具能够查看实际平台的系统信息,包括硬件和软件的信息。

                               系统信息截图

  远程屏幕截图程序(Remote Zoom-in

  此工具能够截取实际平台屏幕图像。这个工具适合写说明书了。假如一个产品要推向市场,那说明书或演示程序必须准备好。用这个程序截图放到说明书或演示程序中。截图单击“File”-“New Bitmap”。这个程序的界面我就不给出了。

  总结

  个远程工具为我们开发内核和应用程序提供了很大的帮助。显然有些工具很少用,有些工具常用。对于注册表编辑器,在一些嵌入式网站有源码和程序可。把注册表编辑器带到内核中运行会更有效,更节省时间。这10个工具中,帅的就是内核跟踪程序了,通过内核跟踪程序,整个内核启动过程清晰可见。还可以用它监视你的应用程序。有一点还要说明:这10个远程调试工具我是在模拟器上试验的。如果要调试实际平台,必须先通过串口、网卡把开发平台和实际平台连接起来。在“Target”-“Configure Remote Connection”中设置。实际设备有网卡,串口的速度太慢了。这方面请参考帮助文件,帮助文件中说的 


  
上一篇:针对系统的改进ARM开发了板上uClinux内核移植
下一篇:简介基于Windows CE下的注册表

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料