Shared DDR RAM access on AMP system
Edward Wingate
edwingate8 at gmail.com
Thu Dec 14 18:27:23 EST 2017
On a dual-core ARM SOC (Zynq7020), I have Linux running on core0 and
an RTOS running on core1. I share data between the two cores with a
4MB block of DDR RAM that I've marked in the MMU as shareable and
non-cacheable. I use an entry in the device tree and the
uio_pdrv_genirq driver to create an uio device (/dev/uio0) in Linux.
With this device, I can use mmap to read/write the block of DDR RAM
from Linux.
Even though it's meant for memory mapped devices, the uio_pdrv_genirq
driver seems to work for accessing shared DDR RAM. Are there any
potential issues that may arise from using this driver for accessing
shared DDR RAM?
Is the uio_dmem_genirq driver more appropriate for this? I couldn't
get it to work though, perhaps because of this bug:
https://forums.xilinx.com/t5/Embedded-Linux/Bug-in-uio-dmem-genirq-UIO-driver-support-for-device-tree/td-p/569120
Thanks for any advice/help.
Ed
More information about the Kernelnewbies
mailing list