在大多数情况下,嵌入式软件工程师使用Visual Studio环境来开发相应的应用程序,并利用微软提供的基于USB的ActiveSync通讯模式,进行应用程序的在线调试。本文主要介绍客户在调试过程中,若出现ActiveSync无法连接的故障,进行故障排查的一般方法与步骤。
第一步:如果板子连接USB线后ActiveSync没有任何反应,很多时候是因为USB线连接问题。检查USB线连接是否正常,尝试切换USB口,更换USB线,重新插拔USB线。
第二步:打开ActiveSync,手动选择重新连接。点击ActiveSync任务栏图标打开ActiveSync,选择菜单->文件->连接设置。
点击“连接”。
点击“下一步”进行连接。
第三步:如果ActiveSync连接失败,会提示排查问题,点击“下一步”。
选择“开始扫描”,得到扫描结果,然后检查下是否是因为相关服务没开,或者是防火墙阻止等原因导致ActiveSync连接失败。
第四步:还有一种比较少见的情况,板子连接USB线后ActiveSync提示连接,然后在很短时候后再次断开。部分时候提示连接成功,但实际无法通过ActiveSync进行通信,在通信时提示“远程主机关闭了一个已有连接”。这种情况很可能是因为注册表问题,解决办法是将注册表所在分区重新格式化。
登录板子,开始菜单->设置->控制面板,选择存储管理器。
选择注册表所在分区SYSTEMFLASH,选择“属性”。
先“卸除”该分区。
然后“格式化”该分区,格式化完成后再“装入”该分区。
重启后,内核会拷贝默认的初始数据库到分区,这时ActiveSync问题应该解决,重新注册自己的组件即可正常使用。
该问题产生原因初步分析是系统在通讯的安全认证方面出现某种矛盾的结果,导致系统最终拒绝了客户端的ActiveSync的连接请求。至于是什么因素导致安全认证的失败,目前还没有找到进一步的原因。鉴于这种ActiveSync连接失败的情况,主要出现在客户应用程序开发阶段,所以采用格式化系统盘(“\SysFlash”)不失为一种简单有效的解决方法。