Memory mapped IO to PCI driver



Hello,

I like .NET CF 2.0. I love speed. I need both.

Situation: PCI device on CE 5.0. Memory mapped IO connectivity to
device.

Desires:

o I want to have my driver init routine return an address pointing to
the user mode address of the memory mapped region in the hardware.

o I want to PInvoke into this code to grab that pointer and load it
into an unsafe block in c#.

o I want to manipulate things in the hardware via .NET by using this
unsafe block to change values in the memory region I got from the prior
step.

I think this all works, but I am not peaked on the performance issues.
I belive that I can avoid all the pinvoke business this way (except for
the first one that sets things up) and do fast .NET access to the
hardware.

Can anybody comment on my peculiar approach? I am willing to take the
risks, but I am looking for people who understand the thing I am doing
at a CE internals level who may know reasons this is bad bad bad.

Thanks,

Paul

.



Relevant Pages

  • Re: virtual HW into kernel (SystemC)
    ... we plan to develop a pci device driver to act as a bridge ... >> subsystem and link to a daemon to user space to run SystemC simulations? ... This way your hardware simulator doesn't have ... Write an interface specification (API to driver). ...
    (Linux-Kernel)
  • Re: Does anyone know how Windows XPe enumerates network adapters?
    ... An XPe build may re-install a PCI device driver if your cloned hardware ... has a different revision device than your FBA hardware. ...
    (microsoft.public.windowsxp.embedded)
  • RE: Hardware test submission to Winqual problem
    ... > I am creating a submission for a hardware product, a PCI device, for my ... During creating the submission as a 'First-time hardware and driver test ...
    (microsoft.public.development.device.drivers)
  • pci device
    ... After I load the image, ... It say found new hardware, ... but cannot install hardware because required software is not ... It also gives this message about for "pci device". ...
    (microsoft.public.windowsxp.embedded)