工具与软件:
大家好、团队成员:
我们正在试验在 A72和 MCU R5f 内核(不是大陆内核)之间创建共享存储器。
首先、我们为 Linux 创建了一个简单的独立应用程序(引用 rpmsg_char_simple)、而对于 MCU R5F0 _1内核、我们软链接到 IPC_Linux Echo_Test (最初软链接到视觉应用)。
借助此设置、我们能够在 A72与 MCU1_1 R5F 内核之间进行通信。
现在开始介绍共享存储器、我们参考了示例应用程序(main_mem.c)并修改了 Linux 示例应用程序以分配存储器:
- 在这种情况下,我们尝试使用 appMemAlloc()来分配几个字节的数据,该数据在 app_utils\utils\mem\app_mem_linux_dma_heap.c 中定义 src
- 我们在 同一路径 APP_UTILS\utils\mem\app_mem_linux_dma_heap.c 中调用 appMemGetVirt2PhyBufPtr () src 来生成物理内存(0x9000000000000.)
- 我们复制了4字节的数据(0x55555555)、并通过 IPC 将相应的物理地址发送到 MCU1_1内核
现在在 R5F 内核上、
- 我们接收数据并存储相同数据、然后将其写入本地 uint32_t 变量、并通过 IPC 将该 uint32数据发送回 A72
观察到:
我们观察到一些不同于我们发送的值(0x5555 5555)。

查询:
- 我们假设所有内核都可以访问 dma_heap 地址
- 这种行为是否是因为我们已为视觉应用构建了其他内核、并且仅 MCU R5F 内核更改为 Echo Test、因此需要更改一些存储器映射文件?
- 与 RAT 转换有什么关系呢?
任何关于这方面的快速指示都将提供真正的支持!!
我们为 ADAS 图像生成了 Yocto 目标。
