K
Fri May 16 11:19:55 PDT 2008
As Paul's clarification, you may also want to try the following command in
build window for compositing a SOURCES file from CESYSGEN\makefile
sysgen_capture -p common pcx500
For more details about sysgen_capture utility and cloning modules you could
refer the following link
http://msdn.microsoft.com/en-us/library/aa924385.aspx
"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:e8zuqh2tIHA.3680@TK2MSFTNGP05.phx.gbl...
> That's just the way the build system works. The library is made into the
> DLL during the Sysgen process. The actual instructions for building the
> DLL are in \WINCE500\PUBLIC\COMMON\CESYSGEN\makefile. Search for pcx500
> and you'll see it. It's included in various rules to set up the right
> values of TARGETLIBS, DLLENTRY, etc., causing it to get built correctly.
>
> Since you've cloned the code, alter the SOURCES file to tell the build
> system how to build your stuff as a DLL directly, rather than building the
> LIB file, etc.
>
> Paul T.
>
> "Swapnil Manglekar" <SwapnilManglekar@discussions.microsoft.com> wrote in
> message news:64C9035C-0ECD-4DAD-97D8-9F24B49BEBE5@microsoft.com...
>> Thanks to reply Huang,
>>
>> The PCX500 driver from private folder is create PCX500.lib file. My aim
>> is
>> to create DLL already there is DLL but i am changing some code as to
>> recognize my device all guys told that my device is supported to
>> islp2nds
>> driver but on my board it is not supported.
>>
>> I am creating my SESPCX500.DLL as :
>>
>> TARGETNAME=sespcx500
>>
>> TARGETTYPE=DYNLINK
>> RELEASETYPE=PLATFORM
>> SYNCHRONIZE_DRAIN=1
>>
>> DLLENTRY=DriverEntry
>>
>> DEFFILE=$(_TARGETPLATROOT)\Src\Drivers\pcx500\Source\pcx500.def
>>
>> SOURCELIBS=
>>
>> TARGETLIBS=\
>> $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\sespcx500.lib \
>> $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\ndis.lib \
>> $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
>> $(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\coredll.lib
>>
>> SOURCES=
>>
>>
>> The above three ndis.lib, ceddk.lib and coredll.lib files i copied into
>> local target lib because it gives some problem of taking lib from that
>> locations, i have taken three lib's as your told locations.
>>
>> And my PCX500 Driver source file is :
>>
>> PREPROCESSDEFFILE=1
>>
>> DEFFILE=pcx500.def
>>
>> TARGETDEFNAME=pcx500
>>
>> TARGETNAME=sespcx500
>>
>> TARGETTYPE=LIBRARY
>>
>> CDEFINES=$(CDEFINES) -DNDIS_MINIPORT_DRIVER -DRTFAST -DWIN_CE -DUNDER_CE
>> -DNDISVER=5
>>
>> #
>> # For platforms that don't support QueryPerformanceCounter()
>> #
>> !IFDEF QUERY_PERFORMANCE_COUNTER_NOT_SUPPORTED
>> CDEFINES=$(CDEFINES) -DCE_FLAG_USE_NDISM_SLEEP
>> !ENDIF
>>
>> INCLUDES= \
>> ..\inc;
>>
>> SOURCES=\
>> aironet.cpp \
>> card.cpp \
>> driver.cpp \
>> Support.cpp \
>> CardX500.cpp \
>> CmdX500.cpp \
>> oidX500.cpp \
>> flash.cpp \
>> pci.cpp \
>> debug.cpp \
>> Send.cpp \
>> Receive.cpp \
>> pcx500.cpp \
>> alloc.cpp \
>> profile.cpp \
>> wince.cpp
>>
>>
>> WINCETARGETFILE0=$(_RELEASELIBDIR)\$(TARGETDEFNAME).def
>>
>>
>>
>> I Exactly don't know who created PCX500.DLL because normally if any one
>> want
>> to create dll then there should be entry in source file, i have searched
>> all
>> source files but i couldn't get any entry related to PCX500.
>>
>> I have changed only wince.cpp file from PCX500 folder as :
>>
>> REG_VALUE_DESCR DetectKeyValues[] =
>> {
>> (TEXT("Dll")), REG_SZ, (PBYTE)(TEXT("sespcx500.dll")),
>> (TEXT("Entry")), REG_SZ, (PBYTE)(TEXT("DetectSESPCX500")),
>> NULL, 0, NULL
>> };
>>
>>
>> //
>> // Values for [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\SESIntersil]
>> //
>>
>> REG_VALUE_DESCR PcmKeyValues[] = {
>> (TEXT("Dll")), REG_SZ, (PBYTE)(TEXT("ndis.dll")),
>> (TEXT("Prefix")), REG_SZ, (PBYTE)(TEXT("NDS")),
>> (TEXT("Miniport")), REG_SZ, (PBYTE)(TEXT("SESIntersil")),
>> NULL, 0, NULL
>> };
>>
>>
>> //
>> // Values for [HKEY_LOCAL_MACHINE\Comm\SESIntersil]
>> // and [HKEY_LOCAL_MACHINE\Comm\SESIntersil1]
>> //
>>
>> REG_VALUE_DESCR CommKeyValues[] =
>> {
>> (TEXT("DisplayName")), REG_SZ, (PBYTE)(TEXT("Intersil Prism2 WLAN
>> PCMCIA")),
>> (TEXT("Group")), REG_SZ, (PBYTE)(TEXT("NDIS")),
>> (TEXT("ImagePath")), REG_SZ, (PBYTE)(TEXT("sespcx500.dll")),
>> NULL, 0, NULL
>> };
>>
>>
>> //
>> // Values for [HKEY_LOCAL_MACHINE\Comm\SESIntersil1\Parms]
>> //
>>
>> REG_VALUE_DESCR ParmKeyValues[] =
>> {
>> (TEXT("BusNumber")), REG_DWORD, (PBYTE)0,
>> (TEXT("BusType")), REG_DWORD, (PBYTE)8,
>> (TEXT("InterruptNumber")), REG_DWORD, (PBYTE)03,
>> (TEXT("IoBaseAddress")), REG_DWORD, (PBYTE)768, // 0x0300
>> (TEXT("InfrastructureMode")), REG_DWORD, (PBYTE)1, // Infrastructure
>> (TEXT("TransmitPower")), REG_DWORD, (PBYTE)100,
>> (TEXT("PowerSaveMode")), REG_DWORD, (PBYTE)0, //CAM
>> (TEXT("CardType")), REG_DWORD, (PBYTE)6, //4800
>> (TEXT("DriverMajorVersion")), REG_DWORD, (PBYTE)DRIVER_MAJOR_VERSION,
>> (TEXT("DriverMinorVersion")), REG_DWORD, (PBYTE)DRIVER_MINOR_VERSION,
>> (TEXT("Associated")), REG_DWORD, (PBYTE)0,
>> NULL, 0, NULL
>> };
>>
>>
>> //
>> // Values for [HKEY_LOCAL_MACHINE\Comm\SESIntersil1]
>> //
>>
>> REG_VALUE_DESCR LinkageKeyValues[] =
>> {
>> (TEXT("Route")), REG_MULTI_SZ, (PBYTE)(TEXT("SESIntersil1")),
>> NULL, 0, NULL
>> };
>>
>> PREG_VALUE_DESCR Values[] =
>> {
>> PcmKeyValues,
>> CommKeyValues,
>> CommKeyValues,
>> ParmKeyValues,
>> LinkageKeyValues
>> };
>>
>> LPWSTR KeyNames[] =
>> {
>> (TEXT("Drivers\\PCMCIA\\SESIntersil")),
>> (TEXT("Comm\\SESIntersil")),
>> (TEXT("Comm\\SESIntersil1")),
>> (TEXT("Comm\\SESIntersil1\\Parms")),
>> (TEXT("Comm\\SESIntersil\\Linkage"))
>> };
>>
>>
>>
>> and i have created my own PCX500.Reg file as:
>>
>> [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\SESIntersil]
>> "Prefix"="NDS"
>> "Dll"="ndis.dll"
>> "Miniport"="SESIntersil"
>>
>> [HKEY_LOCAL_MACHINE\Comm\SESIntersil]
>> "DisplayName"=mui_sz:"netmui.dll,#9005"
>> "Group"="NDIS"
>> "ImagePath"="SESpcx500.dll"
>>
>> [HKEY_LOCAL_MACHINE\Comm\SESIntersil\Linkage]
>> "Route"=multi_sz:"SESIntersil1"
>>
>> [HKEY_LOCAL_MACHINE\Comm\SESIntersil1]
>> "DisplayName"=mui_sz:"netmui.dll,#9005"
>> "Group"="NDIS"
>> "ImagePath"="SESpcx500.dll"
>>
>> [HKEY_LOCAL_MACHINE\Comm\SESIntersil1\Parms]
>> "BusNumber"=dword:0
>> "BusType"=dword:8
>> "InterruptNumber"=dword:03
>> "IoBaseAddress"=dword:0300
>> "Transceiver"=dword:3
>> "CardType"=dword:1
>>
>> [HKEY_LOCAL_MACHINE\Comm\SESIntersil1\Parms\TcpIp]
>> "DhcpInitDelayInterval"=dword:0
>>
>> [HKEY_LOCAL_MACHINE\Drivers\PCMCIA\Detect\40]
>> "Dll"="sespcx500.dll"
>> "Entry"="DetectPCX500"
>>
>>
>> These only i have changed and created my own.
>>
>> Is any problem in that above files?
>>
>> Thanks
>> Best Regards
>>
>> Swapnil
>>
>>
>>
>> "K. S. Huang" wrote:
>>
>>> The PCX500 driver is *not* platform specific which mean no matter it is
>>> x86,
>>> ARM, even MIPS SHx it should still be working.
>>> And in the other hand, which code have you changed and how it you
>>> SOURCES
>>> file looks like?
>>
>
>