Robert Kern wrote:

> On Fri, Jan 9, 2009 at 06:05, Neal Becker <ndbeck...@gmail.com> wrote:
>> I'm working on interfacing to a custom FPGA board.  The kernel driver
>> exposes the FPGA memory via mmap.
>>
>> It might be nice to use numpy memmap to read/write data.  One issue is
>> that I think I will need to create the memmap array from a fd, not a file
>> name.  The reason is I wrote the driver to only allow 1 exclusive open,
>> and I already have it open for other reasons.  Any chance to create a
>> memmap array from a fd?
> 
> Use os.fdopen(fd) to create a file object which can be passed to the
> memmap constructor.
> 

Looks like this is not going to work without some change to memmap.  The 
problem is, I need read/write access.  The only choice in memmap is 'w+'.

But this does:
        if (mode == 'w+') and shape is None:
            raise ValueError, "shape must be given"

        fid.seek(0,2)
 
My device has hijacked 'read' to mean something entirely different than you 
might expect.  The seek call invokes 'read'.

It looks like the purpose of this code is to find the size of the mappable 
area.  The best solution I think is just throw it away.  Consistent with mmap 
semantics, attempting access outside the mappable area should cause and error - 
but I don't think there is any reliable way to know the length of the mappable 
area apriori.

Any thoughts?

_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to