开发环境:
.WIN7 64bits + VS2005 + WINCE6.0+tiny210
.CE目录:C:\WINCE600\
.自启动应用程序:MyAutoRun.exe
一、 修改project.bib文件,且编译内核
1. 在FILES 段,增加如下文字:
MyAutoRun.exe $(_FLATRELEASEDIR)\ MyAutoRun.exe NK
其中MyAutoRun.exe是要执行的自启动程序。这样MyAutoRun.exe会被加入到目标板默认\windows\目录。当然,也可以修改project.dat文件,使其定位到其他目录。
2. 把MyAutoRun.exe拷贝到:
C:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\OAK\files
或
C:\WINCE600\OSDesigns\Mini210\Mini210\RelDir\Mini210_ARMV4I_Release
3. 执行Copy Files to Release Release Derictory。
二、 对project.bib修改后的编译注意事项
注意,如果修改了project.bib或project.dat等配置文件,必须把修改后的配置文件重新拷贝到Release Derictory中。否则,所做的修改针对makeimg无效。
通过如下的操作可查看到project.bib或project.dat配置文件的所在目录,即目录:
C:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\OAK\files
而makeimg是在目录:
C:\WINCE600\OSDesigns\Mini210\Mini210\RelDir\Mini210_ARMV4I_Release
下执行操作。所以如果修改了project.bib或project.dat等配置文件,必须针对修改过的文件执行Copy Files to Release Release Derictory,然后再执行makeimg才有效
执行如下图的命令:
输出结果如下:
ToolsInstall Dir in registry is missing.
DoneGenerating PBWorkspace localization and project files
BUILDREL:Copying SYSGENED binaries fromC:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\cesysgen\oak
BUILDREL:Copying SYSGENED files fromC:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\cesysgen\oak\files
BUILDREL:Copying PROJECT(Mini210) binaries fromC:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\oak
BUILDREL:Copying PROJECT(Mini210) files fromC:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\oak\files
BUILDREL:Copying PLATFORM binaries from C:\WINCE600\platform\Mini210
BUILDREL:Copying PLATFORM files from C:\WINCE600\platform\Mini210\files
BUILDREL:Copying PLATFORM cesysgened files fromC:\WINCE600\platform\Mini210\cesysgen\files
BUILDREL:Copying PLATFORMCOMMON binaries from C:\WINCE600\platform\common
执行了Copy Files to Release Release Derictory,会把目录:
C:\WINCE600\OSDesigns\Mini210\Mini210\Wince600\Mini210_ARMV4I\OAK\files
下的所有文件拷贝到目录:
C:\WINCE600\OSDesigns\Mini210\Mini210\RelDir\Mini210_ARMV4I_Release
但针对platform.bib和platform.dat的修改,即使执行了Copy Files to Release Release Derictory,
所作的修改针对makeimg还是无效。(但上面的输出结果明明执行了Copying PLATFORM filesfrom C:\WINCE600\platform\Mini210\files,而platform.bib和platform.dat就在该目录下。) 下面还要讲到,当修改了platform目录下的配置文件后,可以手动拷贝到上面的Release目录下。
三、修改注册表platform.reg
上图中的Lauch160即是包含自启动程序的项。 其中 data栏就是我们要自启动的程序。需要说明的是,Lauch后的数字越大,表示启动的顺序越靠后。
然后手动拷贝platform.reg 到目录:
C:\WINCE600\OSDesigns\Mini210\Mini210\RelDir\Mini210_ARMV4I_Release
且执行makeimg(或命令行执行之)
四、 检查OS内核镜像文件
生成NK.bin后,可以使用viewbin查看生成的内核镜像,检查我们在project.bib加入的文件是否包含进了OS内核镜像中。
注意必须在viewbin文件所在目录下运行viewbin(win7 64bits下是如此),即
c:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\viewbin –t NK.bin
可写成一个如下的批处理:
c:\WINCE600\PUBLIC\COMMON\OAK\BIN\I386\viewbin -t .\NK.bin >.\aa.txt
上面的命令假定NK.bin和批处理文件在同一个目录。
另外OS内核镜像烧写并运行成功后,可在目标板的\windows\目录下找到MyAutoRun.exe
五、 使CE启动后直接显示自动运行程序(略过shell的explorer)
1. 查看关于explorer.exe的自启动相关注册表项
public--->ie--->Parameter Files--->ie.reg
下图是ie.reg中init注册表项:
可以看到explorer.exe的Lanch顺序是50。可以修改该项目,使其Data值为我们的应用程序,如MyAutoRun.exe,修改后结果如下图:
重复上面的步骤,编译,下载之