WinCE中如何向image中添加文件

今天本来想说下如何让WinCE直接启动我们自己的程序的,但是要用到这个,所以先说说这个

我想这里分3种情况来说明如何添加

第一种,就是image已经在CEPC或者终端上跑起来了,那么这个时候要想添加文件可以通过PB或者EVC提供的remote file viewer,这个比较简单,看着界面操作就行了。

第二种,就是对定制的image已经build过了,现在想往里面添加文件的话,可以在你对应平台的release文件夹里面直接添加文件,然后修改平台配置文件project.bib,然后再make image,也可以将文件添加到image中去,将image启动后,会出现在windows文件夹下面

比如你想将test.txt添加到image中,则首先需要将此文件拷贝到平台release目录下面

(平台release目录也就是环境变量_FLATRELEASEDIR的值,_FLATRELEASEDIR的 = %_WINCEROOT%/PBWorkspaces/%_TGTPROJ%/RelDir/%_TGTPLAT%/%_TGTCPUFAMILY%_Release,也就是realease目录,(_TGTPLAT为平台名,_TGTCPUFAMILY为CPU名)。我新建的平台为shellTest,其值为E:/WINCE500/PBWorkspaces/ShellTest/RelDir/MyCEPC_x86_Release )

然后按照以下修改project.bib:

在其中添加类似这样一行

test.txt$(_FLATRELEASEDIR)/test.txt NK S

这句话的意思是说将平台release文件夹下面的test.txt文件添加到image中,文件属性为系统文件,关于bib文件的格式,请查阅WinCE的帮助

修改好project.bib后,保存,然后在pb的bulid菜单下选择make image,成功后下载到终端或CEPC,就可以看到添加的文件了。

第三种,就是平台定制都没做好,或者做好了需要修改,那么如果你直接按照第二种来做,然后选择build菜单的sysgen and build的话,你会发现根本不会讲test.txt拷贝到image中,这个也是我的惨痛教训,花了好些时间才知道原因。

为什么呢?从build image时的output窗口,我每次都可以看到clean up项目release目录的输出,看来我直接把文件复制到release目录是不行的,因为在sysgen and build的过程中此文件夹会被清空,自然我的test.txt也被清掉了。那该怎么办呢?
这里缺少一个步骤,那就是要在平台设置中,作一些配置,从而让Release目录在被清空以后能将目标文件从本地硬盘动态复制到release目录

修改配置以便拷贝文件到Release目录的主要步骤如下:
1 pb中从platform菜单选setting
2 在弹出对话框中Configuration一项确保正确,一般默认就是正确的。
3 Custom Build Actions选项卡中的Build step下拉框,选择Pre-Make Image (有四个选项,分别为Pre-Sysgen,Post-Sysgen,Pre-Make Image,Post-Make Image,意思如其名) ,然后New,在弹出的Custom Build Action对话框中输入类似以下的语句:
copy / %_FLATRELEASEDIR%/

比如test.txt放在我电脑上的e盘根目录下,那么语句是这样的:

copy E:/test.txt %_FLATRELEASEDIR%/test.txt


加上这个步骤后,再按第二种方法就可以达到目的了。 

你可能感兴趣的:(WinCE中如何向image中添加文件)