How to share memory from OAL to the user mode/kernel driver RRS feed

  • General discussion

  • I can share the memory mapped driver registers from the kernel mode to user mode by using MmMapIoSpace and VirtualAllocCopyEx. But how can I share the memory residing in OAL to the user mode. The reason I want to do is that the interrupt service thread is very slow therefore I want to signal the interrupt from OEMInterruptHandler to the user mode code. Currently when I catch the interrupt in IST and then signal the user event,  my latency is 40 microsecond which is very large for my system. I am using Windows CE Embedded Compact 2013 and my platform is Xilinx704 board.



    Friday, June 27, 2014 5:00 PM

All replies

  • Did you tried with increased thread priority with "CeSetThreadPriority()" to lower value preferably 0-10


    ... and making the thread quantum to zero using CeSetThreadQuantum() to zero so that the thread will run without interruption

    Refer these blog for an explanation :

    The approach which you want to implement is not possible.

    --- Misbah

    Senior Design Engineer T.E.S Electroni Solutions (Bangalore-India)

    Sunday, June 29, 2014 11:46 AM
  • Yes. The priority of the IST is 0, user mode interrupt handler is 0. The priority of the interrupt in GIC distributor is also zero.  

    I have tried all the techniques I can imagine. The IST is not responsive if I do it in the OEMInterruptHandler at the OAL layer, I get 2 micro second max latency.

    • Edited by Charvak Monday, June 30, 2014 12:40 PM
    Monday, June 30, 2014 12:39 PM