我们希望创建一个项目,将以太网/IP数据传输到另一个内核进行处理。
因此,我尝试使用IPC传输数据。
假定采用以下配置。
r5fs0-0 "以太网/IP通信"
r5fs0-1"应用程序处理"
我们已将IPC处理技术融入到我们的以太网/IP项目中。
但是,当我们尝试操作IPC (ICP_rpmsg_echo)和PRU-ICSSG (Ethernet/IP)时,会出现数据中止"Hwip_data_abort_handler"。
我们进行了一些研究,发现MPU设置正在影响它。
当在"example.syscfg"的MPU设置中删除IPC (0x701D0000)区域时,不再发生数据中止。
当然,IPC不可能进行数据传输。
IPC的区域:
MPU_armv75.$name ="CONFIG_MPU_REGION4";
mpu_armv75.attributes ="设备";
mpu_armv75.allowExecute =假;
mpu_armv75.baseAddr = 0x701D0000;
mpu_armv75.size = 16;
作为附带说明,在"EtherNetIP_adapter_demo"中,来自0x7000万的64 KB 用于与PRU-ICSSG通信,作为MPU设置。
PRU-ICSSG区域:
MPU_armv75.$name ="CONFIG_MPU_REGION4";
mpu_armv75.size = 16;
MPU_armv75.baseAddr = 0x7000万;
mpu_armv75.attributes ="缓存+可共享";
所以我有一些问题。
问题1 :使用PRU-ICSSG (以太网/IP)和IPC时,应如何设置MPU?
问题2是否有使用PRU-ICSSG和IPC的示例项目?
我们期待您的回复。