Re: Getting a handle to a kernel driver (IISR) by Richard
Richard
Tue Apr 11 12:59:16 CDT 2006
I'm not sure I fully understand your problem, but it sounds like you may be
a little off the rails on the solution.
What is the source of your data? Since you report a latancy, I'm going to
assume it's an interrupt driven process, and that your 50 uSec latancy is
the turn-around for an empty IOCTL from user code (sounds a bit long, but my
experience is MIPS and X86, not PXA-225).
You may be able to use a custom Installable ISR (IISR) and work though
shared memory between the IISR and your user code. That would significantly
reduce the read overhead.
Yous should study the ISR6550 code, which does create a shared circular
buffer to arbitrarily extend the serial port FIFO though software. There is
really nothing that requires you to have a separate device driver loading
the IISR, provided that your application does not need to unload and restart
(IISRs do not like to be multiply loaded).
Debugging IISRs is not much fun. You might slurp printf code out of the boot
loader if you have an available serial port for debug messages, but be
careful, as you cannot link any coredll bits into an IISR.
Good Luck!
--Richard R. Lee eMVP