Hi,
I'm using MPC5777C evaluation board to test the MPU on core1, i created a section in core1 where only read is allowed for core1 and i was trying to write into one memory region inside that section and it did actually allow me when it was supposed to not allow!!!
also when i try to define a section in core0 RAM and give only read access to core1 this time when i try to write from core1 it prevents me so I'm confused is MPU only allowing us to prevent other BUS masters that is outside the RAM area of the current BUS master?
PS: I'm only using MPU_0 instance
MPU0 can only protect PRAMC_0 (means address range 0x40000000–0x4003FFFF)
MPU1 can only protect PRAMC_1 (means address range 0x40040000–0x4007FFFF)
That's probably the point.
Hi,
Exactly i did just realized that, but now i have another problem, which is whenever i enable the MPU_1 without giving write access to the first 64 KB of the PRAMC_1 i always end up in the IVOR1, and my tasks are in that range, because my goal is to create tasks each with a specific PID then whenever i initiate a task i configure the an MPU region (overlapping with the first region) with what that tasks need to read/write but the problem is that these variable that these tasks needs to read are in that first 64kB and in there, everything is already allowed (read/write) so it is kind of the MPU always considering the permissions in the first region.
PS1: I don't enable PID for core1 in the configuration of the first region, but i do that for the tasks regions
PS2: My main goal goal is that for every task created it shall have only access to it stack unless otherwise given access to a specific variale
I am not sure if I understand your update completely, but overlapping MPU region lead in granting permission if there is a conflict in the setup.