四极管:wince快速编译修改过的PUBLIC代码

来自韦伯空间http://blog.csdn.net/Veabol/article/details/4658201


在WINCE的产品开发过程中可能会遇到修改PUBLIC下代码的情况,由于PUBLIC下的代码进行build之后生成的是相应的.lib文件,要在Sysgen阶段才能生成相应的DLL文件,修改完成后通过Build and Sysgen Current Project要用掉近十分钟的时间才能编译中相应的DLL(我的机器配置不怎么样),然后再进行make生成NK或者XIP,如果是边调试边修改实在是浪费太多时间,几个月前我修改USBFN的代码就是如此,刚刚找到一种快速编译修改PUBLIC代码的方法,实践了一下效率很高,拿我的USBFN的Mass Storage为例进行详细说明:

 

1、将PUBLIC目录下的USBFN文件夹复制到我的BSP的drivers中的USB文件夹中,USBFN的CLASS中只保留STORAGE就可以,并修改相应dir文件。

2、通过PB的Open Release directory输入命令设置路径到

WINCE500/PLATFORM/XXX/Src/Drivers/Usb/USBFN//STORAGE/TRANSPORT/BOT

输入命令sysgen_capture usbmsfn回车,这时在BOT目录下产生一个sources.usbmsfn内容如下:

 

TARGETNAME=usbmsfn

TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM
SYNCHRONIZE_DRAIN=1

DLLENTRY=DllEntry

DEFFILE=$(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/usbmsfn.def

SOURCELIBS=

TARGETLIBS=/
    $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/usbmsfn_lib.lib /
    $(_SYSGENOAKROOT)/lib/$(_CPUINDPATH)/scsi2dad.lib /
    $(_SYSGENOAKROOT)/lib/$(_CPUINDPATH)/ufnclientlib.lib /
    $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/storeapi.lib /
    $(_SYSGENSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib

SOURCES=

 

$(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/usbmsfn_lib.lib /是PB在sysgen过程中生成USBMSFN.DLL时需要的库,将此行删除。并按照此目录下原有的sources文件把相应的源文件和头文件加进来。最后用修改过的sources.usbmsfn替换掉原的有sources。

3、完成以上工程后像编译BSP中的其它driver一样选中Clean before building执行build current project,只需要几秒钟就可以生成新的usbmsfn,dll,再make run time image就可以了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值