Eboot里调用的VFL_Init()等函数在哪里定义的呢?我用file_in_file查找在PseudoVFL.c中有这个函数的定义,但是我发现调用这个函数的时候根本不是进那里面,难道在别的地方还有定义吗?怎么都找不到?
------解决方案--------------------
对整个WINCE600搜索VFL_Init
------解决方案--------------------
还是找不到呀,奇怪了?
------解决方案--------------------
我这边找到的是
INC\VFL.h(58):INT32 VFL_Init(VOID);
PSEUDOVFL\PseudoVFL.c(132):VFL_Init(VOID)
估计你在VS搜的时候,没有选对文件来搜,或者你那边木有这个定义
------解决方案--------------------
这个我也找到了,路径是C:\WINCE600\PLATFORM\SMDK6410\SRC\WHIMORY\PUBLIC\PSEUDOFTL
但是Eboot中调用的却不是这里的函数,我在VFL_Init()的调用函数添加打印信息确实打印不出来,source文件中可知道此文件生成PseudoVFL.lib,在Eboot的source中并没有引用这个库,说明调用的并不是这个函数啊。
Eboot中调用VFL_Init()后串口有打印信息:
[VFL:INF] Init VFL (27-JULY-2009) : V1.00
我用的是real6410的BSP
------解决方案--------------------
就是在这个位置的,如果你的打印没有出来,说明你没有成功把这个驱动编译到NK中,或者说是你的这个驱动编译了,但是没有拷贝生成的文件到指定的目录,导致其他调用该库的驱动引用了之前的库,所以看不到你添加的调试信息
------解决方案--------------------
我把在WINCE600中搜索到的PseudoVFL.lib全删了,然后重新编译生成PseudoVFL.lib,同样是没有效啊?如果其他驱动一直引用之前的库,我把WINC600下的PseudoVFL.lib删了,也肯定会报错的吧?
------解决方案--------------------
在这个库VFL_MLC.lib里面也有定义,难怪一直找不到,这是一个不开源的东西。。。结贴