Hi,
Regarding the MPU, each core has it's own MPU to configure the memory properties. So both core0 and core1 should call the MPU API to configure the sharable memory, described in the Mpu_M7_Config.pRegionConfigArr[10], for dual-core communication IPCF.
The region number here is 14 is because region0~region13 have been configured at the silicon startup stage, you can find in the system.c
The reason that we just use the region10 but with a 11 size configuration table is when you adding the MPU module to the project, some default configurations will be added automatically, but we do not use them. We just added the region10 behind the default configurations for more comprehensive.