这两天在调试RMC程序,这是一个WinCE下的“远程桌面”程序。由于在单位没有时间调,所以只能回家做,可家里又没实验板。好在Windows CE是有模拟器的,可以用模拟器代替实验板进行程序的调试。即便如此,还是碰到了一些问题,不过都一一解决了,写出来跟大家分享一下。
最早主机上已经安装了EVC4+SP4,VS2005+SP1+Platform Builder6.0+R2等 Windows CE的主要开发工具。既然没有实验板,那就定制一个中文的WinCE6.0的操作系统,再导出SDK,这不就解决了板子的问题吗?
思路是对了,可一动手就发现有问题。PB6.0中已经没有对MFC的支持。而目前很多程序都是基于MFC的,这要调试MFC的程序可怎么办?想了一想,系统要支持MFC,其实就是要几个DLL,把MFC相关的几个DLL加到NK.bin中不就行了?在Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4的目录下找到了几个跟MFC相关的DLL。看来微软还没有彻底抛弃MFC,只是想让大伙少用。把这几个DLL拷贝到BSP对应的目录下,并修改platform.bib文件。第一个问题顺利解决。MFC加进去了,.NET Compact Framework那更是必须选上的,留条后路。^_^
为了让系统支持ActiveSync,在CATALOG里添加了相应的组件,这比较简单。问题是系统启动后得自己去创建一个连接,还要修改”PC连接”的选项才能用。不能这么麻烦,想个办法解决一下。建立好连接后,用驱动调试助手把对应的注册表信息导出来,放到platform.reg里去,这样重新编译完的系统就能直接使用ActiveSync了。需要说明一下的是,在使用时需要设置主机上的ActiveSync,让其支持DMA的连接方式。