TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP 6670多核通信MessageQ

DSP 6670的CORE0和CORE1同时加载同一工程,CORE0创建一个堆为HeapMPBuf,CORE1打不开这个堆。出错信息为ti.sdo.ipc.MessageQ: line 135:Assertion failure: A_heapInvalid:heapId is invalid       xdc.runtime.Error.raise:terminating excution

Andy Yin1:

您好,

每个核度应该有独立的堆栈,不能共享堆栈。

lihaiyong:

核间通信需要使用共享内存,一个核创建堆,另外一个打开堆,采用的消息机制是MessageQ

lihaiyong:

回复 Andy Yin1:

核间通信需要使用共享内存,一个核创建堆,另外一个打开堆,采用的消息机制是MessageQ

Jarry Kranz:

回复 Andy Yin1:

你好,

“每个核度应该有独立的堆栈,不能共享堆栈。”,这句话的意思是指在使用MessageQ时,每个核心必需要自己分配/注册一个消息堆,然后只能从自己的消息堆上分配消息,再发给其他核心由其他核心释放吗?

但我在linux-c6x上的开发包中看到的MessageQ例程只是由Core0创建并通知其余Cores,其余Cores只是做了注册的动作。

我的MessageQ程序也是这样写的,但却出现了数据负载完全丢失的现象。

能否详细说明下linux+sys/bios时,MessageQ的具体使用方法?

赞(0)
未经允许不得转载:TI中文支持网 » DSP 6670多核通信MessageQ
分享到: 更多 (0)