前一篇记录了初始化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的工程”,如下图,
BSP一定要选择CEPC:x86。
然后选择设计模板,这里吃了很大的亏,由于不懂内核选项之间的关系,以为Custom Device自由去选择组件很自由,结果就是所选的Item生成的内核起不来,在虚拟机中黑屏,虽然猜测是Display Driver的问题,但是不知其所以然,导致任何调整都不管用,所以为了测试起见,此处使用默认的模板,先不去修改任何内容,一路Next,接着就可以build了
build之前有一个选项需要留意,如果出现错误提示:
Error: Image is too large for current RAM and RAMIMAGE settings
就在工程属性里将这个选项打开(图来自互联网):
编译后默认生成的是debug版本,没有关系,找到生成的NK.bin,拷贝到U盘,然后将U盘切入先前的虚拟机,用第一个已经可以使用的CE系统去拷贝新的内核(为了使用方便,可以定制启动界面方便选择系统,方法在最后截图说明),自己定制的系统,启动后就长这样:
明显usb驱动没有配置,文件系统不能支持,这两个地方以后有时间再去折腾,先来看看启动界面怎么配置。这段是参考其他人的成果,但不涉及版权:将config.sys改为下面内容,我理解就是建立一个menu,添加两个选项,一个用来启动现成的内容,一个用来启动自己定义的内核
然后在autoexec.bat中,根据选择的不同,执行不同的启动操作
nk.bin是自己编译的,nk6.bin是利用前辈的。最终的启动显示画面如下
很灵活,想用哪个选哪个。
后记:
站在巨人的肩膀上,不一定会变成巨人,但是一定会比别人看得远。要是自己从头摸索,恐怕一个月的时间都不一定能做出来这套虚拟系统,但是有了前辈的经验,一切就变得简单多了,但是没有巨人的坚实,也是很难经得起推敲的。最后,共享做好的虚拟机:链接:http://pan.baidu.com/s/1nurM3H3 密码:lofi
参考资料:
如何安装wince开发环境参考:http://www.cnblogs.com/hust_wsh/archive/2010/12/01/1893283.html
创建虚拟机参考前篇:创建WinCE虚拟机
大佬好,请问"做好的虚拟机"还有新的链接吗?原来链接失效了....
试试这个:
链接: https://pan.baidu.com/s/1_U8s8lxt0PL25jbh1unBFw 提取码: e87n
这个链接可以访问,谢谢您!