Re: Fast performing Timer APIs in WinCE...



hi,
Thank you for all of your replies.I am sorry for not giving a clear
picture of what I am trying to accomplish.

During Read/Writes from the NAND flash we use interrupt(interrupt gets
signalled once NAND flash is ready)to determine if NAND flash is ready
for accepting the next command/address/data.Each Read/Write consists
of a sequence of command,address and data input.Thus each read/Write
consists of waiting for the interrupt several times .For each command/
address/data input we start a timer with a maximum timeout value(ready
busy time of NAND) and wait for the interrupt to occur to determine if
NAND flash is ready. Once the interrupt occurs, we check if our timer
is still running. If running, we stop the timer and return TRUE else
we return FAILURE. Thus as waiting for the interrupt and checking
timeout occurs several times during a read/write the read/write
performance gets hindered.We do absolutely nothing in the callback
except for stopping the timer,if it has not already been stopped.But
the callback will not be called in our case since maximum timeout has
been given. I use interlocked functions to update a timer status
variable to STOP,RUNNING etc..Could this degrade the performance?

I get around 6 Mbps and 4.50 Mbps for read and write while using
interrupt without timer whereas i get only 4.07 and3.59 Mbps while
using timers.I would really appreciate if someone could throw me some
light on how to use the timer interrupts?

Regards,
Kamali
.



Relevant Pages

  • Re: Fast performing Timer APIs in WinCE...
    ... signalled once NAND flash is ready)to determine if NAND flash is ready ... for accepting the next command/address/data.Each Read/Write consists ... consists of waiting for the interrupt several times .For each command/ ... NAND flash is ready .once the interrupt occurs we check if our timer ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Fast performing Timer APIs in WinCE...
    ... During Read/Writes from the NAND flash we use interrupt(interrupt gets ... for accepting the next command/address/data.Each Read/Write consists ... consists of waiting for the interrupt several times .For each command/ ... NAND flash is ready .once the interrupt occurs we check if our timer ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Fast performing Timer APIs in WinCE...
    ... with some timeout value and i need a callback to be signalled after ... storage driver .Since it is a driver we cannot use the Timer APIs like ... for accepting the next command/address/data.Each Read/Write consists ... consists of waiting for the interrupt several times .For each command/ ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Fast performing Timer APIs in WinCE...
    ... you are the OEM, if your CPU has an extra timer interrupt that you can use, ... then use one of the timer interrupts. ... During Read/Writes from the NAND flash we use interrupt(interrupt gets ... for accepting the next command/address/data.Each Read/Write consists ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Fast performing Timer APIs in WinCE...
    ... with some timeout value and i need a callback to be signalled ... our storage driver .Since it is a driver we cannot use the Timer ... for accepting the next command/address/data.Each Read/Write consists ... consists of waiting for the interrupt several times .For each command/ ...
    (microsoft.public.windowsce.platbuilder)