Re: Fast performing Timer APIs in WinCE...



hi,
Thankyou for your replies.I am sorry for not giving a clear picture
of what i am trying to do.During Read and Write from the NAND flash we
use interrupt(interrupt gets signalled once nand flash is ready)to
determine if the NAND flash is ready for accepting the next command/
address/data.So each Read and Write consists of a sequence of
command,address and data inputs . Hence each read/Write will consist
of waiting for the interrupt several times.We start a timer with some
maximum time out value (maximum ready/busy time) and wait on the
interrupt which indicates if NAND is ready.After interrupt occurs we
check if the timer is still running.If running then we stop the timer
and return success .otherwise if the timeout occurs we indicate
failure .We do absolutely nothing in the callback except for stopping
the timer .But in our case the callback will never be called as we
give the maximum timeout value which will almost never occur.So since
the timer APIs need to be called for every sequence of command,address
and data issue the read/Write performance is getting hindered.I get
around 6.00Mbps for read and 4.50 Mbps for write when using interrupt
without timer.Wheras if i use the timer i get only 4.07Mbps for read
and 3.58 Mbps for write.I would really appreciate if you could give me
some llight into how to use the timer interrupts?



On Oct 24, 8:24 pm, Valter Minute
<v_a_l_t_e_r.m_i_n_u_t_e@xxxxxxxxxxxxx> wrote:
kamali.sriniva...@xxxxxxxxx wrote innews:4412b29f-d25d-4be6-9b74-3d84b95a1f5b@xxxxxxxxxxxxxxxxxxxxxxxxxxx
m:

hello,
     I am looking for Timer APIs in WinCE6.0.I need to start a
     timer
with some timeout value and i need a callback to be signalled
after the timeout value expires.We need to use these timer APIs in
our storage driver .Since it is a driver we cannot use the Timer
APIs like SetTimer ,KillTimer as they are application timers and
require a message loop.Thus we went in for using the timer driver
APIs (Mmtimer library) like timeSetEvent() and timeKillEvent() but
on using them the read/Write performance of the storage driver is
bad even after disabling the cache manager.Is there any other
timer APIs which would speed up the performance.I would really
appreciate if someone could help me out.

What's the resolution that you need for those timers?
If you need milliseconds you may use Sleep() in a high-priority
thread.

--
Valter Minutewww.fortechembeddedlabs.it
Training, support and development for Windows CE
(the reply address of this message is invalid)

.