Other Parts Discussed in Thread: SYSCONFIG
Just a little breadcrumb for others...
The IPC RPMessage documentation does not show the full setup for IPC RPMessage. The R5F needs an additional MPU Region. There is a brief note in the 'important' section, but not the corresponding code:
MpuP_RegionAttrs regionParams;
uint32_t regionId = 0;
/* recommend to disable Cache and MPU before setting up MPU regions */
CacheP_disable(CacheP_TYPE_ALL);
MpuP_disable();
/* make all 4G as strongly ordered, non-cacheable */
MpuP_RegionAttrs_init(®ionParams);
regionParams.isEnable = 1;
regionParams.isCacheable = 0;
regionParams.isBufferable = 0;
regionParams.isSharable = 1;
regionParams.isExecuteNever = 1; /* dont allow code execution */
regionParams.tex = 1;
regionParams.accessPerm =MpuP_AP_ALL_RW
;
MpuP_setRegion(regionId, (void*)0x701D0000u, MpuP_RegionSize_64K, ®ionParams);
regionId++;
or the sysconfig equivalent:
mpu_armv77.$name = "CONFIG_MPU_IPC_RPMESSAGE";
mpu_armv77.allowExecute = false;
mpu_armv77.baseAddr = 0x701D0000;
mpu_armv77.size = 16;
mpu_armv77.attributes = "NonCached";