Other Parts Discussed in Thread: AM2434, SYSCONFIG
主题: SysConfig 中讨论的其他器件
工具/软件:
您好、
我正在使用 AM2434 EVM 板、我正在尝试制作软件 IPC、而不使用硬件 IPC 以及可用的 API(如 IPC_Notify 或 IPC_RP_Message)。
我需要的是有关如何执行以下操作的任何指导(如果可用):
-在内核之间创建一个共享存储器。
-访问创建的存储器部分。
-从记忆区读取。
提前感谢您。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: AM2434, SYSCONFIG
工具/软件:
您好、
我正在使用 AM2434 EVM 板、我正在尝试制作软件 IPC、而不使用硬件 IPC 以及可用的 API(如 IPC_Notify 或 IPC_RP_Message)。
我需要的是有关如何执行以下操作的任何指导(如果可用):
-在内核之间创建一个共享存储器。
-访问创建的存储器部分。
-从记忆区读取。
提前感谢您。
您好、
以下指南将为您提供帮助: 【常见问题解答】PROCESSOR-SDK-AM64X:如何仅与两个内核进行 IPC 通信? (例如 R5FSS0-0 和 R5FSS1-1)。
谢谢、
Vaibhav
另请参阅来自 MCU+ SDK AM243 的现有 IPC 示例。 您可以在 SDK_INSTALL_PATH/examples/drivers/ipc 中找到它们
MCU+ SDK 示例链接至 IPC: https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/EXAMPLES_DRIVERS_IPC_NOTIFY_ECHO.html
希望这有所帮助。
尊敬的 Vaibhav:
是的、我想先用一个简单的 uint32_t var 作为起点。 我尝试了示例示例 (ipc_spinlock_sharedmem)、但将其放入具有两个内核的系统项目中时、这种方法并不起作用。 我不确定问题实际上是什么、但我创建的变量在某种程度上被其他内核看不到、它仍然是本地的、不是共享的。
这就是我在代码中创建变量的方式:
Volatile uint32_t mySharedVar___attribute__(aligned (128)、section (.bss.user_shared_mem“)));)
这就是我在前面提到的示例中发现它创建的方式。
提前感谢您。
您好、
我想验证您是否看到最新的 AM243 11.1 SDK 中提供了默认示例成功?
您是否看到 gUserSharedMem 的不同值和如下所示的输出:

谢谢、
Vaibhav
「我没有,我没有。 以下是我执行的步骤:
-使一个空的系统项目包含 2 个核心项目。
-将 spinlock 代码复制到两个核心。
-运行整个项目。
症状是每个内核看不到共享区域、只能将变量作为局部变量使用。
经过一些调查,我发现了这个问题。 问题在于缺少 MPU 配置。
以下是解决方案(缺少的配置):
-从的“内存区域“部分 s. ysconfig :我们可以看到 USER_SHM_MEM 起始地址和大小。
-现在、我们需要做的是转至中的“MPU ARMv7“部分 其中概述了 SysConfig 、选择覆盖 USER_SHM_MEM 范围的内存区域、然后将其设置为 S 很好。
-这解决了我的问题,两个核心现在正正确地访问变量。
感谢您的帮助 Vaibhav

