[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [microblaze-uclinux] optimized memcpy() based on DMA transfer



Hi Falk,

Brettschneider Falk wrote:

> We want to constantly copy much image processing data or parts of it. The C
> application is cross-platform and also runs on e.g. SuSE Linux, that's why
> I'd like to use a common library function (like memcpy()). But it seems we
> have to create our own special DMA engine in the FPGA (with a bigger buffer)
> and a myMemcpy() function which uses that DMA engine to get things fast
> enough on the device with the microblaze. Right? I just want to prevent the
> reinvention of the wheel before we start doing such stuff, that's why I'm
> asking if we don't see feature which are already ready to use.

It will be helpful to distinguish your system architecture into kernel 
and user space.  Are you planning to write a conventional linux-style 
device driver, exporting open/read/write/ioctl functionality via a /dev 
entry?  In that case, you can make the driver itself "aware" of your DMA 
functionality.

I presume you also have significant support libraries and application 
code as well?  Even though you can do it in uClinux (no memory/IO space 
protection), it's generally not a good idea to have user or library code 
accessing HW directly (such as a DMA engine).  This certainly would not 
be portable across to Suse on a desktop!

Cheers,

john


___________________________
microblaze-uclinux mailing list
microblaze-uclinux@itee.uq.edu.au
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/