logo

Could not compile stylesheet for simplistic. Using last compiled stylesheet.

DMA for copying memory buffers

posted in Programming
Wednesday, August 08 2012, 09:49 AM
0
Hi,

I have a working version of memory copy using DMA transfers, but it only works fine if the buffers are using continuous memory. Can anyone give me some hints on how to proceed with non-continuous memory?

I guess I have to find out which is my memory page size first and then perform partial copies based on this size to ensure "continuity". Is my hypothesis correct? Any idea on how to do this?

I attach my code so anyone can reproduce the same conditions.
Attachments:

Accepted Answer

mcaro
mcaro
Offline
Wednesday, August 08 2012, 11:25 AM - #permalink
0
I have a working version of memory copy using DMA transfers, but it only works fine if the buffers are using continuous memory.

Yes, continuous and physical memory address ...

Can anyone give me some hints on how to proceed with non-continuous memory?
If you've using malloc then you should traslate the address to a physical address, malloc returns a MMU based address ...

The DMA needs a physical src & dest address and it not work with traslated address ... all linux process has self own memory space and MMU protects about all outside memory space corruption, CMEM provides a window to the physical memory directly without MMU ...

Cheers
Manel
The reply is currently minimized Show
Responses (0)
  • There are no replies here yet.
Your Reply

SUPPORT


This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
IGEP Community Wiki
IGEP Community Forum
IGEP Community Online Chat