Hi,
unfortunately my old thread was locked during the holidays, so I create this follow up thread.
I can confirm that the proposed way from Dec 7th works for now, but what is not clear to me:
Following your solution, we carve out 320 MB for the C7x Scratch and Heap section from the shared mem section, but leave the other cores as they are.
Doesn't that mean that the other cores may write in their shared mem section which includes the carved out memory on C7x? In my understanding that leads to unpredicted behavior, even though in my small demo app the other cores don't seem to use so much shared mem.
I tried limiting the shared mem for all other cores to 256 MB (like for the C7x, so our new section should be save from memory accesses by other cores), but when sourcing opt/vision_apps/vision_apps_init.sh, I could see that the cores could not allocate their memory any more and my application stopped working. So I probably failed in seeing all the implications of limiting the shared mem size.
On the other hand, I tried increasing the new memory section even further and found sizes of up to 560 MB to work. With an even greater size, the C7x failed allocating during init.
So I have two questions remaining:
1) Is my understanding correct that the proposed way is highly dangerous? What would I have to change to limit the other cores' shared mem sections accordingly and rule out any interference of memory accesses?
2) Is there a reason to limit the new memory section size to 320 MB as proposed in your solution or can I increase it to 560 MB or even further? Naively thought, there should be 0x100000000 - 0xCC000000 = 832 MB left (4 GB of memory in the system), but I see it only working up to 560 MB (So the section ends at memory location 0xEF000000)
Thanks and Regards
Dom