Windows Embedded CE 6.0开发初体验(三)设置Boot-loader

上一篇《Windows Embedded CE 6.0开发初体验》之“CE开发环境”:

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

Digi CC 9P开发板中已经预置了Boot-loader和一个CE 6.0的系统,所以,我们直接启动开发板,就可以运行一个CE 6.0的操作系统。不过,我们的最终目的是要开发一个自己的CE 6.0平台,所以我们需要对Boot-loader中的一些系统变量进行设置。

Boot-loader相当于PC中的BIOS,当硬件被reset之后,首先执行的就是boot-loaderBoot-loader首先对硬件进行初始化,然后引导操作系统运行。Boot-loader是嵌入式开发中相当重要的程序,因为它与硬件设备密切相关,所以Boot-loader的开发是由硬件厂商完成,它也是BSP的一部分。这也决定了不同的硬件厂商对Boot-loader有不同的实现,我们这里以Digi为例,涉及到对boot-loader的设置仅对Digi的开发板有效。如果使用了其他厂商的开发板,请参考相关的说明文档。

Digi开发板支持从串口输出一个命令行来对Boot-loader的行为进行控制,以及设置一些环境变量。所以我们需要通过“超级终端”,来进行设置。

<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="图片_x0020_2" style="VISIBILITY: visible; WIDTH: 198pt; HEIGHT: 167.25pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1029"><imagedata o:title="hy1" src="file:///C:%5CDOCUME~1%5Cv-nim%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg"></imagedata></shape>

将开发板的串口与开发机器的串口相连,如果没有串口则需要一个USB到串口的转换器。需要主意的是,在Vista中没有“超级终端”,我们可以从XP上将hypertrm.exehypertrm.dll拷贝到Vista中。

创建一个新建连接后,输入连接名称,然后选择COM口。

<shape id="图片_x0020_3" style="VISIBILITY: visible; WIDTH: 201.75pt; HEIGHT: 212.25pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1028"><imagedata o:title="hy2" src="file:///C:%5CDOCUME~1%5Cv-nim%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image002.jpg"><font size="3"></font></imagedata></shape>

然后设置串口的波特率为38400,数据位8,无奇偶校验,停止位1,数据流控制None。最后点击确定,我们就进入了超级终端的主界面。

<shape id="图片_x0020_4" style="VISIBILITY: visible; WIDTH: 320.25pt; HEIGHT: 211.5pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1027"><imagedata o:title="hy3" src="file:///C:%5CDOCUME~1%5Cv-nim%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image003.jpg"><font size="3"></font></imagedata></shape>

确认开发板的电源、与PC串口等连接正确,打开开发板的电源。Boot-loader会从超级终端中输出命令行。如果我们不进行干预,Boot-loader会启动Flash Rom中的CE 6.0系统。我们为了设置环境变量,所以要中断启动过程,在命令行提示“Hit any key to stop autoboot”时,我们按任意键,就会出现一个命令行提示符。

我们在命令行里输入:

setenv ipaddr 192.168.0.150

setenv netmark 255.255.255.0

setenv serverip 192.168.0.198

saveenv

第一句是设置开发板的IP地址,第二句是设置开发板的子网掩码,第三句是告诉开发板,开发PCIP地址。如果不知道开发PCIP地址,可以在命令行里输入ipconfig获得。因为我们将开发PC和开发板用带DHCP的路由器连接,所以,路由器会自动为开发PC设置一个IP地址。最后要调用saveenv,讲系统设置写入到Flash中。

为了让开发板重新启动,在命令行中输入reset。当超级终端中再次显示“Hit any key to stop autoboot”提示时,我们不要按任何键,让开发板内置的CE操作系统启动。

CE 6.0操作系统运行之后,显示器将会显示如下的画面:

<shape id="图片_x0020_1" style="VISIBILITY: visible; WIDTH: 308.25pt; HEIGHT: 231pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1026"><imagedata o:title="121211 20071010" src="file:///C:%5CDOCUME~1%5Cv-nim%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image004.jpg"><font size="3"></font></imagedata></shape>

为了确定开发板与PC的网络连接是否正确,我们在PCIE中输入“http://192.168.0.150,也就是开发板的IP地址。IE浏览器将会访问开发板中的Web Server。如果出现下面的画面,则说明网络连接正确。

<shape id="图片_x0020_5" style="VISIBILITY: visible; WIDTH: 262.5pt; HEIGHT: 220.5pt; mso-wrap-style: square" type="#_x0000_t75" o:spid="_x0000_i1025"><imagedata o:title="app6" src="file:///C:%5CDOCUME~1%5Cv-nim%5CLOCALS~1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image005.jpg"><font size="3"></font></imagedata></shape>

当开发板设置完成之后,接下来,我们就可以进行自己的开发工作了。

下一篇《Windows Embedded CE 6.0开发初体验》之“跑个应用程序先”:

http://blog.csdn.net/aawolf/archive/2007/10/19/1833230.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值