[讨论] Windows CE开发环境简单调试

星空世界   2009-5-25 14:06 楼主
Windows CE的集成开发环境(IDE)具有多种工具,用户可以彻底地测试并调试一个平台。
其实,Windows CE将调试分为不同类别:
    目标程序与Windows CE原始程序代码内嵌的调试;
    用Emulator支持软件仿真方式的联机调试;
    真实目标硬件设备上联机调试;



首先,简要介绍一下IDE中的各种测试、调试工具:
    平台及应用程序的调试:核心调试器控制一个操作系统映像的行为,使用者可以将映像下载到一个目标设备上,从而监控并调试一个操作系统映像。
    扩展的调试接口:允许终端使用者通过使用一个第三方的设备磁盘驱动器及一个硬件探测器或仿真器,来控制并调试一个目标设备。
    仿真器:仿是一个仿真支持Windows CE平台的硬件行为的工具。可以设计和建立一个基于Windows CE的平台,并利用仿真硬件的软件来测试它,而不是测试在硬件之上的平台




    远程工具:在开发工作站中,用来远程执行一系列的程序设计任务。在建立远程工具和平台管理器之上的目标机器之间的连接后,可以完成诸如下载一个文件到目标机器上、
监控目标设备之上的处理程序和执行绪的状态、测试目标设备的性能等任务。



平台管理器:平是操纵基于Windows CE平台的开发工作站间通讯的一种技术。可以下载开发工具,并连接到独立于媒体的目标装置上;支持处于两个不连续层之间的开发工作站和
目标设备之间的连接。

Windows CE操作系统提供了一个逐步操作的指南,来建立、调试运行时的操作系统映像和运行在仿真器上的简单应用程序。
首先,在建立操作系统映像并连接到Emulator / CEPC之后,选择Target下的Download / Initialize选项,下载操作系统映像,在下载的过程中,IDE中会有一个对话框显示下载过
程中的信息,下载后屏幕中央会出现一个新的工具栏。如下图:



主要按键的作用:


实际上,个人建议调试过程中,采用不同的对话框来追踪变量的值或进行监控。开发人员可以通过PB中Target菜单下的CE Debug Zones命令,、决定想要得到哪一个或哪几个调试
区的信息;因为让开发人员看到自己所关心的调试信息,把诸如键盘按键、鼠标移动等无用的调试信息隐去,则可以更好的提高开发效率,迅速找到问题所在。





哦,这里简单的提一下,调试区的使用,基本上是几个宏的使用而已,常用的宏如下:
DEBUGMSG();   DEBUGLED(),;
RETAILMSG();   RETAILLED();
ERRORMSG();  DEBUGCHK();

当然,必不可少要简单的介绍一下调试过程:
    从Debug选单中选择Break,或点选。
    打开欲调试的与设备有关的程序代码所在的文件,并找到需要的程序代码行。
    从Debug选单中选择Go或用鼠标点选,程序开始执行;
    当执行到断点处时会停住,可以看见一个黄色的箭头在断点处,可进行调试;
    从Edit中选择Breakpoints,点击Remove All按钮,点OK,可去掉设置的所有断点;
    从Debug菜单中选择Go选项;

最后,要补充一点哦:从WinCE6.0开始,开发环境才集成到Visual studio 2005下,而WinCE5.0及以前版本均是使用Platform Build来作为开发平台的。在新的开发平台下,用户
可以方便的使用Visual studio 2005强大的调试功能和简单的操作过程,使WinCE的开发过程变得更加人性化、智能化。
如此就是一个简单的调试完整步骤,大家可以试试哦。

回复评论 (22)

好贴当然要顶啦~~~~
点赞  2009-5-26 16:06
在家里 Windows  CE 6.0可以利用多媒体技术,以开发网络媒体设备、数字视频录像机和IP机顶盒呢。
点赞  2009-5-26 16:07
Windows CE提供了强大的原始码的调试工具,也被整合在从系统开发到应用软件开发的多个工具中。
点赞  2009-5-26 21:55
Windows Embedded CE 6.0确实不错,它包含的组件更便于开发者创建通过Windows Vista内置功能无线连接到远程桌面共享体验的投影仪。
点赞  2009-5-27 16:52
Windows Embedded CE 6.0使用了基于数量的特许许可证模式,设备制造商可以在设备开始供货时再购买运行许可证。微软将提供知识产权保护(根据许可协议条款)和为期10年的产品支持生命周期,确保产品的完整性,并保证厂商得到必要的支持和保护以获得成功。
点赞  2009-5-27 16:53
在普通PC上建立最初开发平台如EVC或EVB,通过软硬件接口和手持设备建立通讯,调试过程在手持设备上进行,结果在PC上显示,或者在手持设备上显示。
点赞  2009-5-27 22:23
仿真器允许用户为应用程序开发者提供一个虚拟硬件平台,开发者可通过它测试此平台上的应用程序。
点赞  2009-5-28 19:20
嗯,其实有些个错误信息是良性的,并且可以安全地被忽略。
点赞  2009-5-28 21:13
补充一点,利用Remote Process Viewer可以在开发平台上查看实际平台上正运行的进程的一些信息,这些信息包括进程ID、句柄、基地址、包含的线程数量等。
点赞  2009-5-28 21:51
嗯,核心调试器能为使用者提供讯息,可以利用它将配置设备连接所需的所有功能整合起来。
点赞  2009-5-28 22:18
补充,一次只能运行一个远程工具,但是许多远程工具可以显示多个窗口。
点赞  2009-5-28 23:01
我补充,模拟器有硬件限制,仅能模拟DEC 2114x 网卡驱动来提供网络支持,其它网卡驱动不支持。
点赞  2009-5-28 23:30
一个在EVC下写的动画显示程序,不同于GIF动画,不需要开线程
点赞  2009-5-29 11:03
模拟器运行在用户态下,它毕竟是一个应用程序,因此它的实时性是无法保证的,它只能一定程度上保证程序非实时性功能的正确性。
点赞  2009-5-29 11:51
如果是用其他工具编写的,那么需要把镜像文件复制出来,首先启动Platform Builder或者是EVC,然后启动模拟器服务,再打开远程文件监视程序,将镜像文件通过export file功能传输到目标机上,然后在目标机上启动(双击)该应用程序。这样才能得到监测的数据。
点赞  2009-5-29 13:37
在选择Call Graph后,系统将要求输入可执行程序进行解析的Image文件的路径。
点赞  2009-5-29 14:16
可以想象,如果对一个庞大的程序系统进行检测,如果不控制数据流量,可能会使目标机的缓存溢出,从而是数据丢失,数据采样就失真了。
点赞  2009-5-29 15:18
在实际的设备上的测试,仿真器虽然好但是它不是真实的Windows CE设备吧。
点赞  2009-5-29 16:21
嵌入式系统被用于越来越多的场合了!
点赞  2009-5-30 09:21
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复