Windows Embedded Compact 2013应用程序调试方法

 2015-6-5          [nemail]    
[lablebox]

  为了提高系统效率,WEC2013不再支持基于USB连接的Active sync功能,只能通过网络调试应用程序,获取主板的IP地址是调试程序的第一步。

 

  以预装了正版WEC2013操作系统的英创工控主板EM335x为例,调试应用程序时,需要将EM335x网口1与开发主板配置在同一局域网中,并让EM335x工作在调试模块。参考《EM335x工控主板使用必读》通过系统配置文件userinfo.txt配置EM335x网口IP地址,EM335x在上电过程中,系统调试串口会不断打印系统启动信息,在系统启动完成后会打印主板的IP信息。EM335x有两个10M/100M网口:eth0和eht1,程序调试需要使用eth0(网口1),这里网口1的IP是:192.168.201.214。

 

图1 EM335x(Compact 2013)系统启动信息

 

  通过Visual studio 2013建立Windows Embedded Compact应用程序后(Compact 2013应用程序建立请参考《EM335x工控主板使用必读》),需要在项目属性中设置目标板(EM335x eth0)的IP地址,选择VS2013的PROJECT下拉菜单,选中Properties打开项目属性设置对话框,如图2,设置目标板IP为192.168.201.214。

 

图2 设置目标板IP地址

 

  在项目属性中设置好目标板IP地址后,一定要点击FILE下接菜单,选择Save ALL保存设置,否则调试程序时可能会出现以下错误。

 

图3 Visual Studio假死

 

  与CE6和CE7一样,Compact 2013应用程序支持Debug和Release两种编译模式,在调试应用程序时,需要选择Debug模式,可支持单步运行、断点调试、查看变量等操作。在应用程序发布时通常使用Release模式,如图4。

 

图4 Debug与Release模式选择

 

  在Debug模式下,选择“DEBUG->Start Debugging”或点击下图Windows Embedded Compact Debugger或按快捷键F5全速运行程序。Visual studio 2013会自动连接之前设置的IP,并自动部署应用程序。

 

图5

 

  EM335x Compact 2013系统启动后,会自动运行ConmanClient3.exe程序启动连接服务,通过Visual studio 2013部署和调试应用程序都依赖于这个服务,ConmanClient3.exe同时支持多个连接,即可同时调试多个应用程序,当所有的Visual studio 2013工程都关闭后,EM335x上的ConmanClient3.exe会自动退出,如果此时重新打开Visual studio 2013工程,执行部署或调试,则会出现错误,显示目标计算机无法连接。

 

图6 连接出错

 

  简单的解决办法是重启EM335x,系统会自动启动连接服务。如果不希望重启系统,也可以通过telnet远程登陆到EM335x,手动执行ConmanClient3.exe启动连接服务,然后再次部署应用程序就可以正常连接了。

 

图7 telnet登陆后执行conmanclient3.exe

 

  WEC2013同样支持Visual studio的远程工具集,以远程注册表编辑器为例,启动Visual studio 2013的Microsoft Remote Registry Editor,选择Windows Embedded Compact Debugger,在弹出的对话框中填入目标板的IP地址,如图8、图9。

 

图8 选择Windows Embedded Compact Debugger

 

图9 填写目标板IP

 

  填入IP后点击OK,就可以通过Visual studio远程工具编辑EM335x的注册表了。

 

图10 Visual studio 2013 远程注册表编辑器

[lablebox]