创建WinCE的NK.bin

前一篇记录了初始化WinCE虚拟机的步骤,用已有的NK.bin可以正常启动,今天自己build一个NK.bin试试,看看效果如何。首先要安装一系列的软件:

1.VS2005,这个是硬需求,没得选

2.Visual Studio 2005 Service Pack 1

3.Windows Embedded CE6.0 Evaluation Edition

4.Windows Embedded CE 6.0 Platform Builder Service Pack 1

5.Windows Embedded CE 6.0 R2

6.Windows Embedded CE 6.0 R3

基本上就这六个,其余的模拟器和补丁类请参考最后面引用的网址里介绍的内容,比较详细,此处只理个大概的过程。在win7系统上安装Embedded CE6.0时可能会遇到下面的错误提示:

ToolsMsmCA(Error): Setup package issue or CoreCon DataStore corrupted: DeviceSDKInstComp Add/Remove failed. HR=0x8007005

解决方法是右键cmd选择用管理员权限打开,然后在cmd里面启动程序。

开始正式操作,首先打开VS2005,新建一个“Platform Builder for CE6.0的工程”,如下图,

wince2_2

BSP一定要选择CEPC:x86。

wince2_3

然后选择设计模板,这里吃了很大的亏,由于不懂内核选项之间的关系,以为Custom Device自由去选择组件很自由,结果就是所选的Item生成的内核起不来,在虚拟机中黑屏,虽然猜测是Display Driver的问题,但是不知其所以然,导致任何调整都不管用,所以为了测试起见,此处使用默认的模板,先不去修改任何内容,一路Next,接着就可以build了

wince2_designtempletewince2_designtemplete2

build之前有一个选项需要留意,如果出现错误提示:

Error: Image is too large for current RAM and RAMIMAGE settings

就在工程属性里将这个选项打开(图来自互联网):

wince2_6

编译后默认生成的是debug版本,没有关系,找到生成的NK.bin,拷贝到U盘,然后将U盘切入先前的虚拟机,用第一个已经可以使用的CE系统去拷贝新的内核(为了使用方便,可以定制启动界面方便选择系统,方法在最后截图说明),自己定制的系统,启动后就长这样:

wince2_1

明显usb驱动没有配置,文件系统不能支持,这两个地方以后有时间再去折腾,先来看看启动界面怎么配置。这段是参考其他人的成果,但不涉及版权:将config.sys改为下面内容,我理解就是建立一个menu,添加两个选项,一个用来启动现成的内容,一个用来启动自己定义的内核

wince2_config.sys

然后在autoexec.bat中,根据选择的不同,执行不同的启动操作

wince2_autoexec.bat

nk.bin是自己编译的,nk6.bin是利用前辈的。最终的启动显示画面如下

wnice2_startup

很灵活,想用哪个选哪个。

后记:

站在巨人的肩膀上,不一定会变成巨人,但是一定会比别人看得远。要是自己从头摸索,恐怕一个月的时间都不一定能做出来这套虚拟系统,但是有了前辈的经验,一切就变得简单多了,但是没有巨人的坚实,也是很难经得起推敲的。最后,共享做好的虚拟机:链接:http://pan.baidu.com/s/1nurM3H3 密码:lofi

参考资料:

如何安装wince开发环境参考:http://www.cnblogs.com/hust_wsh/archive/2010/12/01/1893283.html

创建虚拟机参考前篇:创建WinCE虚拟机

发表评论

电子邮件地址不会被公开。 必填项已用*标注