Wince5.0下如何将下的代码移植到BSP下,以USB流驱动为例

参考的:http://blog.csdn.net/gooogleman/article/details/3338912

将Public下的驱动移植到BSP下比较容易,实际上PB也提供了相关的工具:Sysgen_capture(参考MSDN:Cloning the Microsoft Public Common Code)。那么如何来用这个工具呢? 下面就以PRINTER为例子来介绍一下:首先把WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS下的PRINTER文件夹拷贝到<Platform>/SRC/DRIVERS/路径下。然后在命令行中设置到该路径下,键入sysgen_capture usbprn之后回车。那么在该文件夹下出现一个sources.usbprn打开该文件有如下的设置:

TARGETNAME=usbprn

TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM
SYNCHRONIZE_DRAIN=1

DLLENTRY=DllEntry

DEFFILE=$(_PUBLICROOT)\common\oak\lib\$(_CPUINDPATH)\usbprn.def

SOURCELIBS=

TARGETLIBS=\
    $(_PUBLICROOT)\common\oak\lib\$(_CPUINDPATH)\usbprn_lib.lib \
    $(_PUBLICROOT)\common\oak\lib\$(_CPUINDPATH)\usbclient.lib \
    $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\usbd.lib \
    $(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib

SOURCES=

把这个DEFFILE的值直接改成usbprn.def

之后看TARGETLIBS下的东西,可以看到有个usbprn_lib.lib这个lib就是PRINTER下的源码所生成的,所以直接把这个拿掉

最后修改过的文件如下:

TARGETNAME=usbprn

TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM
SYNCHRONIZE_DRAIN=1

DLLENTRY=DllEntry

DEFFILE=usbprn.def

SOURCELIBS=

TARGETLIBS=\
    $(_PUBLICROOT)\common\oak\lib\$(_CPUINDPATH)\usbclient.lib \
    $(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\usbd.lib \
    $(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib

SOURCES = \
 USBPRN.C \
    LPT.C

CDEFINES = $(CDEFINES)

MSC_WARNING_LEVEL = $(MSC_WARNING_LEVEL) /W3 /WX
 
!IF "$(BUILD_BROWSE)"=="1"
CDEFINES = $(CDEFINES) -FR
!ENDIF

#xref VIGUID {a43d90c5-c1cd-4516-bac0-bdb8f1d44e8a}
#xref VSGUID {bd8488e3-a124-405f-8031-c45ae314bfc5}

原文地址:https://www.cnblogs.com/sankye/p/2777565.html