Re: SDSynchronousBusRequest taking long time
- From: voidcoder <voidcoder@xxxxxxxxx>
- Date: Mon, 22 Oct 2007 09:52:25 +0100
>>device and nothing really shows up after I restart. Does the boot sequence
>>keep some log somewhere?
No, you can't get any boot log on retail WM device.
That is why I suggested you using a development kit
instead if you want full featured debugging capabilities ...
Keep in mind that some WM devices will not accept
unsigned binaries. You may need to sign your driver
binary first:
http://msdn2.microsoft.com/en-us/library/ms839681.aspx
>>Also are you available to help us this problem in person? Are you in Bay
>>area(San Francisco)?
I'm not in USA and not able to provide offline help.
Like most developers here, I'm full time on my own
projects.
--
Oleg
Advait wrote:
Yes I have "Show All files" turned on as other dlls show up. Also this dll does not show up when I connect the handheld to the cradle..
I tried using the SDBus.dll that I built. Changed the filename to SDBus.dll to SDBus_debug.dll and updated the registry to look at it and rebooted the device and nothing really shows up after I restart. Does the boot sequence keep some log somewhere?
Also are you available to help us this problem in person? Are you in Bay area(San Francisco)?
Thanks
-
Shiva
"voidcoder" wrote:
>>I cannot even see sdbus.dll in the
How do you see that? If you are using WM File Explorer
make sure "Show All Files" option is turned on.
>> when I try to copy it across it shows that the file is
>> in there and is being overwritten.
I'd suggest you to build the binary using different
file name and then patch registry under:
HKLM\Drivers\Builtin\SDBusDriver
"Dll"="My_SDbus_Driver_With_Debug_Output.dll"
--
Oleg
Advait wrote:Oleg,
I see the sdbus.dll built in my workspace but when I tried to copy it across to WM device it says access denied. I cannot even see sdbus.dll in the \Windows directory BUT when I try to copy it across it shows that the file is in there and is being overwritten.
Any suggestions on this.
-
Shiva
"Advait" wrote:
Oleg,
Thanks for all your replies.
We were wondering if you will be able to help us out in person. Are you in Bay Area? -
Shiva
"voidcoder" wrote:
It is definitely bad idea to modify public sources
in place. Instead copy SDCARD tree to your platform
directory and correct SOURCES files to build from
there. Or you can use sysgen capture tool (I'm not
a big fun of it):
http://msdn2.microsoft.com/en-us/library/aa459163.aspx
Sdcardlib is a statically linked library containing
various sdcard related functions that you are using
in your client driver. While sdbus driver is a true
standalone driver, sdbus.dll or something like that
on WM devices. I pointed you to the sources.
--
Oleg
Advait wrote:Yes other cards work fine and are recognized after a reboot.
How do I clone the sdbus and sdcard libraries? I was thinking of changing the source for these libraries and build their libs. Use these libs when I compile my dll. Will this NOT suffice? Are the sdbus and sdcard libraries a separate dll in the system?
"voidcoder" wrote:
> Associated with this I have some more questions. The SDIO card we have is
> NOT identified by the Symbol M70 running Windows Mobile 5.0 after a reboot.
> We have to remove the card and re-insert it back for the OS to recognize the
> card and load the driver dll.
Does M70 recognize any other sdcard after reboot, say sdmemory?
Try turning it off, then insert the memory card and power on.
Is the card detected?
>> 1. Are there sources in Platform Builder that I can add some print
>> statements and find out what is happening during the boot process when the
>> devices are being loaded?
In theory, you can clone sdbus driver/sdcardlib and add some
additional debug output to it. Next you can patch registry
on WM target to load your new sdbus driver instead of original
one. This may or may not work properly, do not forget that
WM is a bit different thing although it is based on CE core.
>> 2. Is it possible to write a EXE that I can run to force load the driver
>> instead of physically re-inserting the card.
No, you can't do that. The client drivers get loaded in response
to the slot state change notification initiated by the host
controller driver (which is normally triggered by the card
detection interrupt). Something what you don't have sources for.
--
Oleg
Advait wrote:Thanks for the much helpful info. We will follow your suggestions to find the problem.
Associated with this I have some more questions. The SDIO card we have is NOT identified by the Symbol M70 running Windows Mobile 5.0 after a reboot. We have to remove the card and re-insert it back for the OS to recognize the card and load the driver dll. The registry settings are right as the driver loads successully when we re-insert the card. So questions are:
1. Are there sources in Platform Builder that I can add some print statements and find out what is happening during the boot process when the devices are being loaded?
2. Is it possible to write a EXE that I can run to force load the driver instead of physically re-inserting the card.
"voidcoder" wrote:
> Can you suggest me how to go through the debugger? The code runs on a
> Windows Mobile device. Currently I am debugging by writing to a file. I
>
Well, if you have no possibility to debug on the target device
it is getting more complicated. There are not too much things
you can do about it on a ready made WM5 device. Especially because
the bottleneck may be in the lower level sdcard host controller
driver (device specific) and not in the sdbus driver
or sdcard lib (device independent thing). Try different
WM devices, try to analyze sdcard sources, fortunately you have
PB installed. Look here:
....\WINCExxx\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDBUS\*
It is definitely worth buying a development KIT if you
want to untie your hands. Try to google around, there
are enough devkits with SDCARD on board and Windows CE
support ...
--
Oleg
Advait wrote:Sorry I was not aware that I could taget multiple groups in "to" field.
Can you suggest me how to go through the debugger? The code runs on a Windows Mobile device. Currently I am debugging by writing to a file. I thought SDSynchronousBusRequest is a call in a library provided by Microsoft. How can I step through? I am new to Platform builder.
Thanks for your help.
"voidcoder" wrote:
Why not just step in debugger and see where
it spends so much time?
Also separate cross posting is evil. List all
target groups in "to" field if you want to post
to multiple groups.
--
Oleg
Advait wrote:Hi,
From the SDIO driver we get from Arasan they use SDSynchronousBusRequest() to issue a bus request to their chip.
We timestamp before and after calling this API, and it takes > 230ms. Why it takes so long and how can we make it
much faster? The following are the code sample:
SDSynchronousBusRequest(pDevice->hDevice, SD_CMD_IO_RW_EXTENDED,
argument,
SD_WRITE, ResponseR5,
&response, 1,
blockLength , pBuffer,
0);
where:
argument = BUILD_IO_RW_EXTENDED_ARG(SD_IO_OP_WRITE, SD_IO_BLOCK_MODE, pDevice->Function, wAddress, SD_IO_FIXED_ADDRESS, 1);
SD_COMMAND_RESPONSE response
Your kind responses are greatly appreciated.
- Follow-Ups:
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- References:
- Re: SDSynchronousBusRequest taking long time
- From: voidcoder
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- From: voidcoder
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- From: voidcoder
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- From: voidcoder
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- From: voidcoder
- Re: SDSynchronousBusRequest taking long time
- From: Advait
- Re: SDSynchronousBusRequest taking long time
- Prev by Date: Re: How to remote control the device using command line input from PC?
- Next by Date: Re: How to remote control the device using command line input from PC?
- Previous by thread: Re: SDSynchronousBusRequest taking long time
- Next by thread: Re: SDSynchronousBusRequest taking long time
- Index(es):
Relevant Pages
|
Loading