來自
http://jkflyfox.spaces.live.com/?_c11_blogpart_blogpart=blogview&_c=blogpart&partqs=cat%3d%25e7%25a8%258b%25e5%25ba%258f%25e6%258a%2580%25e5%25b7%25a7分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 <Path>\<File name> %_FLATRELEASEDIR%\<File name>
比如test.txt放在我電腦上的e盤根目錄下,那么語句是這樣的:
copy?E:\test.txt?%_FLATRELEASEDIR%\test.txt
加上這個步驟后,再按第二種方法就可以達到目的了。