`
izuoyan
  • 浏览: 8951869 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Windows Embedded CE 6.0开发初体验(七)编译和调试平台

阅读更多

上一篇《Windows Embedded CE 6.0开发初体验》之平台定制

http://blog.csdn.net/aawolf/archive/2008/01/12/2039866.aspx

在完成Catalog选择之后,平台定制的工作告一段落,接下来,我们就要进入变数最多的环节——“编译和调试”平台了。编译的操作简单,但是想通过编译却有很多变数。

编译平台的第一步是选择Debug或者Release版本。选择 Build菜单中的Configuration Manager,在弹出的对话框中选择Debug还是Release版本。如下图,红圈部分所示:

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1034" style="VISIBILITY: visible; WIDTH: 289.5pt; HEIGHT: 201.75pt; mso-wrap-style: square" type="#_x0000_t75"><imagedata o:title="catalog7" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg"></imagedata></shape>

Build菜单中选择“Build Solution”,就可以开始进行平台的编译了。编译的时间依照开发机器的性能不同而不同,从几十分钟到几个小时不等。如果几次编译不成功,的确是一件让人比较抓狂的事情……

直到我们在Output窗口中看到下边的输出,就说明你功德圆满了,终于完成了Image文件的编译,可以调试了。

<shape id="_x0000_i1033" style="VISIBILITY: visible; WIDTH: 300pt; HEIGHT: 182.25pt; mso-wrap-style: square" type="#_x0000_t75"><imagedata o:title="catalog9" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image002.jpg"><font size="3"></font></imagedata></shape>

等编译好之后,我们就可以将Image文件下载到开发板中,并开始调试了。这个过程也是比较复杂的。在第一次进行下载前,我们要首先在Visual Studio中创建一个供下载用的设备。具体过程如下:

第一步,选择“Target”菜单中的“Connectivity Options”,打开连接选项的对话框:

<shape id="图片_x0020_2" style="VISIBILITY: visible; WIDTH: 183.75pt; HEIGHT: 207.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1032"><imagedata o:title="target1" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image003.jpg"><font size="3"></font></imagedata></shape>

第二步,在对话框中选择“Add Device”,创建一个新的设备,设备名称为“MyTarget_Debug”,这个名称没有任何限制,可以取任意的名字。“Associated OS Design/SDK”选项中,设置为“None”。

<shape id="图片_x0020_3" style="VISIBILITY: visible; WIDTH: 415.5pt; HEIGHT: 291.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1031"><imagedata o:title="target2" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image004.jpg"><font size="3"></font></imagedata></shape>

在之后出现Target Device设置的界面中,确认“Downlaod”设置为“Ethernet”,即以太网。然后点击其后的“Settings”按钮。

<shape id="图片_x0020_4" style="VISIBILITY: visible; WIDTH: 415.5pt; HEIGHT: 293.25pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1030"><imagedata o:title="target3" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image005.jpg"><font size="3"></font></imagedata></shape>

Vista或者XP上开发时,会有一个安全警告出现,点击“解除锁定”选择,否则调用会失败。

<shape id="图片_x0020_5" style="VISIBILITY: visible; WIDTH: 383.25pt; HEIGHT: 240.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1029"><imagedata o:title="target4" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image006.jpg"><font size="3"></font></imagedata></shape>

接下来会出现“Ethernet Download Settings”对话框,如下图:

<shape id="图片_x0020_6" style="VISIBILITY: visible; WIDTH: 414.75pt; HEIGHT: 175.5pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1028"><imagedata o:title="target5" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image007.jpg"><font size="3"></font></imagedata></shape>

这时,我们要通过超级终端对开发板进行设置:将开发板电源关闭,确认串口连接,并且超级终端处于连接状态后,打开电源。当超级终端出现提示“Hit any key to stop autoboot”时,按任意键停止自动加载过程。然后在命令行中输入:

dboot eboot flash

dbootDigi开发的boot-loader,这个命令的意思是打开Flash ROM中的eboot。我们知道,eboot是允许CE Image通过以太网下载到开发板中的工具。启动eboot之后,会首先初始化网卡驱动,保证网卡可用,然后向本网段广播BOOTME的消息。所以,开发机器和开发板在设置IP地址时一定要注意,二者要设置为同一网段内的IP地址。

如果eboot启动成功,我们在开发机器的Visual Studio中“Ethernet Download Settings”对话框中会看到一个新的设备出现,选择该设备,此时设备名称会出现在上面的下拉菜单中。

返回上一个对话框,点击“Apply”,再点击“Close”。关闭对话框。此时我们的开发板就被映射为名为“MyTarget_Debug”的Target Device了。

需要注意的是,以上操作针对每块开发板只需要做一次。第二次需要进行Debug时就不需要重新添加设备了。

回到Visual Studio的主界面,我们可以选择“Target”菜单的“Attach Device”命令,或者选择菜单栏上的图标进行相同的操作。示例如下:

<shape id="图片_x0020_7" style="VISIBILITY: visible; WIDTH: 243pt; HEIGHT: 54.75pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1027"><imagedata o:title="target6" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image008.jpg"><font size="3"></font></imagedata></shape>

接下来,就会出现如下的对话框,将Build好的Image文件从下载到开发板上。需要注意的有两点:第一,如果在开发板上的Server IP地址(即开发机器的IP)没有设置对,则对话框会出现,但是很长时间都不会开始下载,一直在等待响应;

第二,下载的Image文件会保存在开发板的内存中,所以如果开发板掉电,则下载的Image会丢失。所以这个过程只是为了完成调试的,如果想将Image文件烧录到开发板上,还需要另外的操作。

整个下载的过程大概需要几分钟:

<shape id="图片_x0020_8" style="VISIBILITY: visible; WIDTH: 259.5pt; HEIGHT: 183pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1026"><imagedata o:title="target7" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image009.jpg"><font size="3"></font></imagedata></shape>

当下载完成之后,真正的Debug过程才会真正的开始。因为Debug的缘故,所以造成整个开发板中的操作系统运行比较慢,所以大家不要误以为这个速度就是Windows CE平台运行的正常速度了。

<shape id="图片_x0020_9" style="VISIBILITY: visible; WIDTH: 298.5pt; HEIGHT: 224.25pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1025"><imagedata o:title="startup" src="file:///C:%5CUsers%5Cv-nim%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image010.jpg"><font size="3"></font></imagedata></shape>

在系统启动的过程中,可能会有几个地方造成执行中断,这是由DEBUGCHECK的宏造成的,原因可能是Windows CE系统调用BSP中某个驱动程序时造成的问题,但是该问题不会影响系统的正常运行。所以我们可以直接按F5继续运行就可以了。

写在最后

到这里,我们就已经完整的说明了Windows Embedded CE 6,0的开发过程。如果没有实际开发板的朋友,可以考虑使用Device Emulator 的方法来开发CE 6.0的平台。

呼,终于在过年前把这个坑填完了。祝大家新年快乐,年后再填另外一个坑:

《XP Embedded开发出体验》

http://blog.csdn.net/aawolf/archive/2007/11/11/1879406.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics