Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
上一篇《Windows Embedded CE 6.0开发初体验》之” 平台定制”
https://blog.csdn.net/aawolf/archive/2008/01/12/2039866.aspx
在完成Catalog选择之后,平台定制的工作告一段落,接下来,我们就要进入变数最多的环节——“编译和调试”平台了。编译的操作简单,但是想通过编译却有很多变数。
编译平台的第一步是选择Debug或者Release版本。选择 Build菜单中的Configuration Manager,在弹出的对话框中选择Debug还是Release版本。如下图,红圈部分所示:
在Build菜单中选择“Build Solution”,就可以开始进行平台的编译了。编译的时间依照开发机器的性能不同而不同,从几十分钟到几个小时不等。如果几次编译不成功,的确是一件让人比较抓狂的事情……
直到我们在Output窗口中看到下边的输出,就说明你功德圆满了,终于完成了Image文件的编译,可以调试了。
等编译好之后,我们就可以将Image文件下载到开发板中,并开始调试了。这个过程也是比较复杂的。在第一次进行下载前,我们要首先在Visual Studio中创建一个供下载用的设备。具体过程如下:
第一步,选择“Target”菜单中的“Connectivity Options”,打开连接选项的对话框:
第二步,在对话框中选择“Add Device”,创建一个新的设备,设备名称为“MyTarget_Debug”,这个名称没有任何限制,可以取任意的名字。“Associated OS Design/SDK”选项中,设置为“None”。
在之后出现Target Device设置的界面中,确认“Downlaod”设置为“Ethernet”,即以太网。然后点击其后的“Settings”按钮。
在Vista或者XP上开发时,会有一个安全警告出现,点击“解除锁定”选择,否则调用会失败。
接下来会出现“Ethernet Download Settings”对话框,如下图:
这时,我们要通过超级终端对开发板进行设置:将开发板电源关闭,确认串口连接,并且超级终端处于连接状态后,打开电源。当超级终端出现提示“Hit any key to stop autoboot”时,按任意键停止自动加载过程。然后在命令行中输入:
dboot eboot flash
dboot是Digi开发的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”命令,或者选择菜单栏上的图标进行相同的操作。示例如下:
接下来,就会出现如下的对话框,将Build好的Image文件从下载到开发板上。需要注意的有两点:第一,如果在开发板上的Server IP地址(即开发机器的IP)没有设置对,则对话框会出现,但是很长时间都不会开始下载,一直在等待响应;
第二,下载的Image文件会保存在开发板的内存中,所以如果开发板掉电,则下载的Image会丢失。所以这个过程只是为了完成调试的,如果想将Image文件烧录到开发板上,还需要另外的操作。
整个下载的过程大概需要几分钟:
当下载完成之后,真正的Debug过程才会真正的开始。因为Debug的缘故,所以造成整个开发板中的操作系统运行比较慢,所以大家不要误以为这个速度就是Windows CE平台运行的正常速度了。
在系统启动的过程中,可能会有几个地方造成执行中断,这是由DEBUGCHECK的宏造成的,原因可能是Windows CE系统调用BSP中某个驱动程序时造成的问题,但是该问题不会影响系统的正常运行。所以我们可以直接按F5继续运行就可以了。
写在最后
到这里,我们就已经完整的说明了Windows Embedded CE 6,0的开发过程。如果没有实际开发板的朋友,可以考虑使用Device Emulator 的方法来开发CE 6.0的平台。
呼,终于在过年前把这个坑填完了。祝大家新年快乐,年后再填另外一个坑:
《XP Embedded开发出体验》
https://blog.csdn.net/aawolf/archive/2007/11/11/1879406.aspx