EVC入门之一: 实现远程调试的最佳硬件途径-阿里云开发者社区

开发者社区> 文艺小青年> 正文

EVC入门之一: 实现远程调试的最佳硬件途径

简介:
+关注继续查看

EVC里TOOLS->Config Platform Manager里, 对某个DEVICE点PROPERTIES, 这个对话框里可以选择EVC调试程序时所用的硬件途径, 其实就少少的这几个选项, 但由于本人的不思进取, 从开始接触到现在完全搞明白, 前后也将近半年时间才全部理解完.

方法一: KITL + CESH SERVER

在去年最早开发应用程序的时候,整组人都用的这个设置:
Transport: KITL Transport for Windows CE
Startup:  CESH Server for Windows CE.  
在MS的文档里强调了"To connect to a target device with the CESH startup server, you must enable KITL on the target device"  (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcepb40/html/pbconceshstartupserver.asp)  从PB里实现KITL的三种硬件途径来看, 在EVC里使用这第一种方法来调试程序的代价就是三者选一
(1) 用了ETHERNET KITL, 那么EVC调试中就牺牲掉网卡,这样就无法调试需要访问网络资源的程序. ETHERNET KITL一起来后就把ETHER DRIVER给DISABEL掉了, 传说中有ETHER KITL和ETHERNET DRIVER同时使用的,可惜偶没见到过, 期待大虾把它改出来.
(2) 用了RNDIS KITL, 那么EVC调式中就牺牲掉USB口, 不能接键盘鼠标U盘等等. 这样搞的话其他开发人员就要跟我拼了.
(3) 用了SERIAL KITL, 牺牲掉调试速度, 调程序的时候旁边泡杯茶, 放一份报纸~


方法二: ActiveSync + ActiveSync

这是我接手PLAYER项目后力推的方案, 好处是可以把操作系统在FLASH里烧好, 这样应用程序开发者就可以无视操作系统, 并且EVC里调程序的时候不需要开PB了. (PB和EVC同时开, 256M内存的PC会搞得非常慢). 并且一旦调试中目标板上跑死机了,简单重启一下就行了,可以省去PB重新连接时间. 最重要的是可以空出ETHERNET资源,来调试PLAYER里那些HTTP, RTSP等需要用到网络的模块了.

但问题是同样地要损失掉USB PORT, 不能接键盘鼠标,当时我还特意写了个应用程序, 在PC端模仿遥控器操作,通过SERIAL给目标板上发遥控器动作的代码过去, 猥琐得一塌糊涂.


方法三: TCP/IP + MANUAL SERVER   闪亮登场

嗷傲, 灯光音效, 近乎完美的方法. 其实也很简单,只不过满足于前面两种方法的时间太长了, 一直没有深究下去.

具体设置是在Device Properties里面选择
Transport: TCP/IP Transport for Windows CE
Startup: Manual Server
如下图所示

这时候去点TEST, EVC这边会弹出这个对话框.

如果不是特意在BIB文件里加入这三个文件的话,一般IMAGE里是不包含他们的. 这三个文件可以在 WINCE500\OTHERS\PLATMAN\TARGET\ 下对应CPU类型的子目录里找到. 拿个U盘COPY到目标板的\WINDOWS\目录下.

然后目标板上 开始->运行->cmd,  在命令行窗口里敲入上图对话框里的那行命令,  这时候目标板上的命令行窗口会处于等待状态,而不是出现下一个提示符, 此时在PC端的EVC按下OK, 那么连接就成功了. 在调试的时候同样地, 先在目标板上敲命令行,处于等待状态时, EVC这边点GO就行了.

然后我们注意看这条命令:    CEMGRC.EXE /S /T:TCPIPC.DLL /Q /D:10.100.148.124:2777

实际上这个EVC调试就是一个CS结构, 目标板上是CLIENT, PC上是SERVER, 连接由CLIENT发起. CESH用的DEBUG SHELL, ACTIVESYNC在IMAGE里加入的ACTIESYNC组件, 还有这个CEMGRC, 都是干的同样的事情。扯远了, 我们退回到Device Properties窗口, 对Transport点Configure, 出现如下窗口

该窗口的配置说明在http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcedebug5/html/wce50contcpiptransport.asp

我只写一下窗口里影响到CEMGRC参数的设置, 关于CEMGRC的参数在MSDN上只字不提,只能靠推测.
(1) 首先是Host IP, 在Use fixed address的下拉列表里, 你有几个网卡(包括虚拟网卡),就有几个当前网卡配置的IP地址可选, 选择后确定下来的IP地址就体现到 /D 参数里了, 这个推论要是错了我就去找块豆腐撞死.
(2) 然后是端口, 如果不勾选 fixed port 的话,每次连接都会随机选个端口, 然后在/D参数的:2777这个地方体现出每次端口的不同. 这样在目标板上敲命令行就稍微麻烦些, 如果我们勾了FIXED PORT, 并且指定一个PORT NUMBER, 那么CEMGRC的参数里除了/D后面的端口号被固定下来外,  还多了个/S ,估计是表示static port的意思. 在实际操作时我把这个/S省掉,也是连得上的,没什么影响

用这种方法在EVC里调试, 真是落霞与孤骛齐飞, 控制信息与网络访问共享, ETHERNET和USB HOST并存, 乖乖咙地咚, 皆大欢喜啊.


本文转自Walzer博客园博客,原文链接:http://www.cnblogs.com/walzer/archive/2006/06/21/431271.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
9840 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
2953 0
阿里云服务器ECS远程登录用户名密码查询方法
阿里云服务器ECS远程连接登录输入用户名和密码,阿里云没有默认密码,如果购买时没设置需要先重置实例密码,Windows用户名是administrator,Linux账号是root,阿小云来详细说下阿里云服务器远程登录连接用户名和密码查询方法
11492 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
10872 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13562 0
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
7424 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
4347 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
7206 0
3576
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载