大家好、
使用的 SDK:
TI-processor-sdk-linux-rt-am57xx-evm-06.03.00.106-linux-x86
TI-processor-sdk-rtos-am57xx-evm-06.03.00.106-linux-x86
引导介质:
使用 LINS-SDK 创建的 Linux SD 卡(默认配置)
目标:
-在 Linux 下的 A15上运行两个通过 TI IPC (特别是 MessageQ)进行通信的并行 Linux 进程
-一个进程是服务器,它通过 MesageQ 接收消息,另一个进程是发送消息的客户端
-我在 Linux 下使用 IPC 的开箱即用标准配置
- RTOS 完全不参与此模拟信息
当我在两个进程中调用时:
IPC_transportConfig()
IPC_START()
- MessageQ 被创建/打开(无错误消息/代码)
-客户端发送其消息(无错误消息/代码)
-服务器从不接收消息,并且 MessageQ_get()结束时出现超时错误
我在两个进程中调用时的值
IPC_transportConfig()
IPC_START()
3. IPC_Attach (0)在循环中、直到它返回>= 0 (0是我使用 MultiProC_Getid ("host")获得的值)
两个进程都在 IPC_ATT()失败,该函数返回 IPC_E_INVALIDARG
问题:
从我阅读的文档和文献中我得到了这样的印象:IPC 可以用于此方案(同一处理器上有两个 Linux 进程)。 是这样吗?
-在这种情况下,默认堆0是否可用于 MessageQ_alloc()(如 ex02_MessageQ 示例中),或者我是否必须使用 cmem 等创建一些内容?
-我必须按哪一顺序调用上述三个函数,这两个进程中的哪一个? 我找到的所有示例和文档都仅引用 Linux <-> RTOS 案例(或仅 RTOS)
-这种纯 Linux 用例是否有一个示例?
提前感谢您、Tilo