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.

关于C6657的qmInfraMCExampleProject的问题



您好!

C6657的qmInfraMCExampleProject工程中实现的是core0发数据,core1接收数据。

我想请教:

1、针对这个工程,能不能实现core1向core0发数据,如果能,大概是哪些关键地方需要修改?直接将send_data()函数让core1执行好像不行?

2、测试结果中显示,每次core0发送数据后,core0和core1都要接收这个数据,为什么core0需要自己接收自己发送的数据?core1接收到数据是因为求出core0的hiPrioList的全局地址,然后从中找到传递的descriptors?

  • 请先看看multicore navigator user guide了解navigator使用原理,如果要修改core1向core0通信,可能涉及到中断事件路由的修改、RxFlow等的配置。

  • 这个例程我基本上看懂了,user guide 也看了,针对这个例程:我发现它并没有使用PKTADMA传输数据,而是像IPC原理一样地址传输,关键就在hiPrioList的地址传输,这样的话,并没有体现出QMSS&CPPI实现核间通信的优势

    我目前想实现的功能就是通过QMSS&CPPI实现core0和core1之间的互相通信,互相发送数据接收数据。所示请Andy您在这方面能不能给予我帮助,如果能提供一个demo,就更好了。

    谢谢您,Andy!期待您的回复!

  • 这个例程我基本上看懂了,user guide 也看了。

    1、针对这个例程:我发现它并没有使用PKTADMA传输数据,而是像IPC原理一样地址传输,关键就在hiPrioList的地址传输,这个例程并没有体现出QMSS&CPPI实现核间通信的优势。(我目前的应用中是通过IPC实现的core0和core1之间通信,但是现在通信的数据量很大了,所以继续用IPC效率比较低,所以才想换用QMSS&CPPI实现,硬件队列和DMA,耗用cpu资源就会大大降低)

    2、我使用  QMSS&CPPI实现core0和core1互相传输数据  这个方向是对的吗,能实现吗?还是要具体使用其他比如SRIO。

    3、我目前想实现的功能就是通过QMSS&CPPI实现core0和core1之间的互相通信,互相发送数据接收数据。所示请Andy您在这方面能不能给予我帮助,如果能提供一个demo,就更好了。

    谢谢您,Andy!期待您的回复!

  • 您好!

    在qminfraMCExampleProject工程中,core0向core1发送了数据,core1也正常中断接收了,紧接着core0又向core1发送数据,则运行到函数:Qmss_programAccumulator(Qmss_PdspId_PDSP1 , &cfg) 提示错误,返回值为:QMSS_ACC_CHANNEL_ALREADY_ACTIVE。

    如果第一次core1中断接收到数据后,core0延时一小会儿第二次再向core1发送数据,则core1第二次能正常接收。或者说我的发送频率最大不应超过多大?

    请问这是什么原因?谢谢,期待您的解答!