Jump to content
  • 0

[Zynq] dual arm core system, accessing DDR region from the other ARM core


tommienator

Question

Hey All,

So I have an application running on both ARM cores with each their specific available memory region (split in half):

  • ARM core 0 base address: 0x100000 and size 0xFF800000
  • ARM core 1 base address: 0x10080000 and size 0xFF800000

Now I have a data acquisition system running on core 0 which receives data from another system and stores the received data in DDR memory and holds a pointer + length (in bytes) of the data. This pointer and length is passed to core 1 which needs to access the data in DDR for further processing and offload it to accelerators which are controlled and sequenced by core 1.

Since this memory region that holds the data is mapped to core 0, how can I access it via core 1? Since it's quite a large quantity of data transferring the data from 1 region towards another one would be an expensive operation. Can an direct access be issued in this case from core 1 towards the memory mapped region of core 0?

Thanks && kind regards.

Edited by tommienator
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Could resolve it by splitting up the DDR memory in different regions:

* 1 region for the heap/stack and all other things for core0
* 1 region for the heap/stack and all other things for core1
* 1 region that is common between both regions and can be accessed from the different CPU-cores. Using semaphores to lock certain resources so that overwriting can't occur. 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...