03-21-2019 02:20 AM
Hi, I'm following a tutorial (ug1165 chapter5) that uses cdma to move data from ddr to another part of ddr. It said that I need to connect the cdma master port to slave hp port of the processing system. So I suppose that hp port give pl access to ddr. Now I have a few questions about this tutorial:
1. Why do we assign only a part of the memory to slave hp? Is it only for protection porpose? If we want max flexibility, can we assign all 4GB memory to hp port? Will this cause problem?
2. Does enabling HP port effect the processing system?
3. In the tutorial, it uses dev/mem and mmap to map 512 MB physical memory and write data to it. With virtual memory, isn't it dangerous? Some other processes may already use part of this physical memory, as far as I know, writing to these physical memory will damage these processes. How can we avoid this if we do need a large chunk of physical memory?
03-23-2019 02:37 AM
1. It probably also saves resources to limit the range. And I'm not sure the HP port can access the peripherals on the bus.
2. Not as long as you don't use it, I suppose. Under heavy use it will affect bandwidth to DDR for the PS.
3. Yes, you should reserve the memory. Under linux CMA could be used. Or you can reserve memory in the devicetree.
03-23-2019 02:37 AM
1. It probably also saves resources to limit the range. And I'm not sure the HP port can access the peripherals on the bus.
2. Not as long as you don't use it, I suppose. Under heavy use it will affect bandwidth to DDR for the PS.
3. Yes, you should reserve the memory. Under linux CMA could be used. Or you can reserve memory in the devicetree.