主题中讨论的其他器件:SysConfig
工具与软件:
大家好、我将根据示例 ipc_ex2_msgqueue_c28x1和 ipc_ex2_msgqueue_cm 测试 C28x 和 CM 之间的 IPC
当我在消息 RAM 段上定义缓冲区时、如果编译器更改了 ipc.c 缓冲区的位置、它将不起作用
以下是一个无法正常工作的示例的存储器映射:


下面是一个工作示例


如果编译器首先放置 Put 缓冲区、在"MSGRAM_CPU_TO_CM"开头、则会起作用。
这对于 cm 和 CPU 都有效、输入/获取缓冲区需要位于段的开头。 我如何强制编译器首先放置 driverlib 的 Push/Get 缓冲区? ipc.c
这是 driverlib 中的错误吗、或者我在构建配置中是否漏掉了某些信息? 我认为 driverlib 应该避免使用段名称并修复内存、否则我必须为我的变量创建一个新段。
现在我的代码能否正常工作取决于编译器。
我想您可以复制 ipc_ex2_msgqueue_c28x1.c 中将 ReadData[10]更改为 ReadData[200]的行为、这会将第一个 ReadData 放入存储器中。 示例在读取时会被阻止。
我们应该如何解决此问题? 提前感谢您