我想在编译CE5.0内核时候将mfcce400.dll文件加到内核文件中去. 这样运行应用程序时候就可以直接运行.而不需要事先将错就mfcce400.dll加到板子上的CE中去. 我在platform.bib文件中的module加上:
mfcce400.dll $(_FLATRELEASEDIR)\mfcce400.dll NK SH
然后将mfcce400.dll copy到我的release目录下. make image后.发现生成的内核还是没有mfcce400.dll文件.运行应用程序时候还的先copy mfcce400.dll文件到板上. PB如何加一个dll文件到内核呢?
你修改的platform.bib 也要copy到release下面再makeimg.
我在windows下面根本就没发现有mfcce400.dll这个文件.
同意一楼,试过可以
另:我是在FILES中添加的文件"FileOperation.exe $(_FLATRELEASEDIR)\FileOperation.exe NK U"
开始时我也是像你这样操作的,也是没有成功,后来我把要添加的文件复制到了BSP的FILES文件夹了,从新SYSGEN了一编就可以了,也没复制到release下,可能是卖给我开发板的公司在什么文件里添加了命令,把FILES 文件夹的文件统统copy到了release里面了,因为sysgen之后我的release文件夹里面包含了FileOperation.exe,祝楼主好运
现在是将dll文件copy到file目录下. platform.bib文件中的module加上:
mfcce400.dll $(_FLATRELEASEDIR)\mfcce400.dll NK SH
rebuild platform后OK.
to 楼主:
你也是copy到了BSP的files目录下吗,是不是也是点击Build Os->Sysgen编译的
问题找到\:
原因是当你在PB的IDE环境里修改Parameter View里面的Platform.bib文件时,你对应的文件是BSP目录下FILES文件夹的platform.bib,而并不能对应到$(_FLATRELEASEROOT)下的bib文件,所以你make image的话也是不会把你想添加到内核的文件添加上。在$(_FLATRELEASEDIR)文件夹下一共有三个bib文件涉及到文件添加,一个是platform.bib,一个是ce.bib,最后一个是postproc文件夹下的platform.bib文件,第一个bib 文件就是在系统编译的时候从BSP目录下FILES文件夹复制过去的。他是最根本的。第二个bib文件是是编译的时候所有bib文件汇总的结果,第三个现在还不知道,呵。在系统Sysgen或者make image的时候第二个和第三个bib 文件是根据第一个来生成的,而当你make image的时候BSP/FILES/下的platform.bib文件是不会复制到release下作为第一个bib文件的,这就是为什么在PB的IDE里修改platform.bib不会成功的原因(当然在编译的时候是有这个copy过程的,所以会成功)。so,当你想往内核添加文件的时候你要改的是release文件夹下的platform.bib文件,然后再把你想添加的文件copy到release下,最后再make image就OK了。
可惜我当初那一遍遍的Sysgen差一点被活活累死,呵呵
以上观点皆为胡思乱想,没有任何资料依据,若因此发生严重后果本人概不负责,^_^