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.

关于CPPI的工程core2core的几个问题



大家好:

最近在看CPPI的这个工程,有很多不懂的还请专家解释。

请问这个工程的payload的数据是从哪里传哪里的,我看TestCPPI里面的程序是不是说从FDQ_USED_FOR_SEND里取一个descriptor,然后加入payload数据,将这个descriptor推·入queue 800?这个怎么展示了core与core之间的通信呢?hostDescriptor->src_tag_lo= 0的作用是什么呢?

core2core_new1.zip
  • 您好!

    1. hostDescriptor->src_tag_lo= 0

       作用: 使用的Rxflow 号; 请楼主看下host descriptor 此部分的说明

    2.这个descriptor推入将会 触发 核间中断,形成通信。 楼主可以看下代码中的 中断处理部分。

  • 你好Bruce Chen

    我在void interrupt Exeception_ISR(void)函数内加入语句printf("enter isr\n");发现当工程运行时没有执行这一语句,请问是不是代表工程运行时没有发生中断服务程序?

    我发现目的地址是rpacketBuffer,可是这个地址还是在core 0的L2空间,怎么代表核间传输的呢?谢谢

  • 您好,

    你这个例子是是你自己写的么?

    在程序中没有配置中断,并且在push完descriptor后也没有等待数据搬运完成,就直接打印测试完成。如果要使用pktDMA实现核间数据搬运,配置RXFDQ中descriptor上挂的buffer的目的地址为你程序所需要的,同时配置完成中断对应关系就好。建议参考一下pdk中的例子qmInfraMCExampleProject,在如下链接中存在对该例子的说明。www.deyisupport.com/.../4899.aspx

  • Andy 你好

    这个例子是我论坛下载的

    www.deyisupport.com/.../9217.aspx

    这个例子没有配置中断可是实现了core 0的L2空间内数据的搬移。是不是QMSS 的packet DMA不需要设置中断的?

  • 可以通过查询和中断两种方式确定数据完成,你下载的例子写的没有任何一步就退出了,所以当程序运行完后不一定通信完成,你可以自己再完善修改一下。或者参考FAQ中的keystone navigator例子进行修改。