Part Number:DRA821U
A72跑的是linux,申请了一段共享内存写入指定数据,通过IPC 把地址和长度发送给R核.R核收到地址使用 CacheP_Inv(addr,len)函数同步cache,以上方法对MCU2_0和mcu2_1可以实现数据同步,但是对于MCU1_0不好用,A核申请内存的时候使用了 mmap(NULL, size, PROT_READ | PROT_WRITE | O_SYNC , MAP_SHARED, fd, 0) ,有什么好的解决方案吗?
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,温馨提示您由于圣诞节及新年假期,英文论坛的回复将稍晚。敬请谅解!
,
Cherry Zhou:
您好,这个问题目前在SDK中的确存在,,建议您可以先搜寻论坛中的相关帖子,应该会对您有所帮助.
,
li hao:
那为什么IPC通信对1-0没有问题呢,还有我看对应的ResourceTable更新也是使用的CacheP_Inv(addr,len)这个函数也没有问题呢。
uint8_t Ipc_isRemoteReady(uint16_t procId) {uint8_tretVal = TRUE;Ipc_ResourceTable *rsc= NULL;if(TRUE == Virtio_isRemoteLinux(procId)){rsc = (Ipc_ResourceTable*)rscTable;CacheP_Inv(rsc, sizeof(Ipc_ResourceTable));if(rsc->rpmsg_vdev.status != 0x7U){retVal = FALSE;}}return retVal; }
,
Cherry Zhou:
您好,您可以参考下之前的一些讨论以及已发布的external JIRA 。
MCU1_0 是特殊的,其引导方式与其他主 R5F 内核非常不同。 MCU1_0 是一个boot processor,同时还提供了一个中央器件管理功能。