一同分享编程是种快乐  

    前段时间参加了创新杯,被迫从0开始学Windows CE。是遇到了不少曲折,不过也学到不少。

一、内核定制

    参加创新杯的嵌入式组并且通过第一轮的话,微软会寄一个eBox4300回来。微软那边要求用自己做的内核来做开发,所以第一步就得从内核的定制开始。内核定制步骤如下:

  1. 准备开发环境。微软给出的标准配置是这样的:Visual Studio 2005 + Windows CE 6.0R2。安装的时候要注意顺序,否则连内核编译都通不过(我深有体会...)。步骤如下:VS2005->VS2005 SP1->Windows CE 6.0->Windows CE 6.0R2。安装前记得在C盘留着10G左右的空间,我记得安装的时候没有提供路径的选择- -!
  2. 安装板级支持包。这个的话微软有提供完整的BSP(Board Support Packet),要根据你所用的开发平台来安装,我用的是eBox4300对应的BSP。
  3. 定制内核。CE的内核定制比较方便。装了VS和CE6.0后VS的开发环境里会多出个Platform Builder 6.0的模块(之前这个模块是一个独立的软件,专门用来烧内核的)。之后你只要选择相应的组件就可以了,就像积木一样堆在一起。这里记得把.NET CF 2.0也选进去,不然就别想用.NET来开发了。
  4. 下载内核。内核烧完之后可以用U盘把NK文件提到设备的硬盘上,也可以在线传输过去。这个NK文件就是一个CE的系统,20M左右的大小。我是用联机传输的方面来编译内核的。由于自己没有DHCP的服务(这个可以简单地认为是一个路由器,CE和PC机同时接到上面去),所以只能去弄条网线来连接,注意这网线是要交叉线(怎么弄上网查下就有)。eBox支持的IP是192.168.2.132,先把PC的IP改成这个。然后试下connect,可以的话直接debug就行了。

二、编译程序

    程序的编译首先得有个SDK,理论上是这样(我也试过直接用Windows CE这个SDK编译成功)。这个SDK在烧内核的时候可以顺便生成,生成之前在目标PC上安装。首先,要说明一点,要编译调试Windows CE的程序完全可以不装Windows CE 6.0的。只要你装了VS2005或2008就可以了。之后就安下面的步骤进行:

  1. 连接CE设备。 首先,你得把下面这几个软件和dll拷到CE上:ConManClient2.exe, CMAccept.exe, ClientShutdown.exe, TcpConnectA.dll, eDbgTL.dll, DeviceAgentTransport.dll。然后运行ConManClient2和CMAccept(3分钟内不进行连接的话请重新运行,第一个应该相当于建一个debug的客户端,第二个的话应该就是接收debug信息用的)。当然之前要先设好CE设备的IP,我的IP是设成了192.168.2.21,网关192.168.2.254(忘了当时为什么这么设,网关设成一样就可以了),PC的IP设成192.168.2.74,网关192.168.2.254。为确保连接成功先运行cmd,ping -a 192.168.2.21看下PC能不能ping到CE设备。确认连接后就开始在VS上进行设置吧。Tools->Options->Device Tools->Devices。接着选择Windows CE(你装了SDK后会有那个SDK的名字)的Propertis,将Tcp Connect Transport对应的Configure里的IP改成CE设备的IP。那么基本上算是大功告成了,选择Tools->Connect to device,连接你的CE设备。
  2. 编译程序。其实完成了上面那些步骤的话现在就是一般的编程了。新建一个Windows CE的项目,直接debug看下效果。下面就不多说了,enjoy it!

    下次我会补上一些CE开发的编程经验。有什么问题可以联系我~大家交流交流。

posted on 2009-05-05 21:58  sober  阅读(591)  评论(0)    收藏  举报