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.

DSP6670多核导航 收数相关问题,恳请解答一下 ,谢谢



您好,我现在在多核导航出遇到一个问题,我用0核给核1通过多核导航发送数据,配置的接收队列为高优先级累加器队列,发送端我测试过没有任何问题,数据正常写入到描述符的BUFFER区域,当我压入到发送队列,核1也正常产生中断,但是却在接收队列或者配置的高优先级累加器的pingpong区域提取不到描述符,也就无法正常提取数据。。

根据之前对多核导航的理解,正常情况下核1产生了中断,说明描述符压入到了高优先级累加器接收队列中,但是却在里面找不到描述符,请问这个一般是什么情况造成的,就是能收到中断但是却找不到描述符。非常谢谢

  • 能够正常地产生中断说明accumulator已经检测到了接收队列中有包,并把包pop出来放在用户指定的ping-pong buffer当中了。这时候你去接收队列中去找包肯定是找不到,包应该在ping-pong buffer当中。当你在ping-pong buffer中找不到包需要仔细检查一下accumulator的设置(门限,buffer地址等)。

  • 您好,其实我单独跑多核导航程序的时候是没有任何问题的,但是因为老师要求,需要把网口的程序和多核导航的合在一块,在合的过程中会遇到acc48_le重复定义的问题,网口初始化中有看到对固件的加载,所以在多核导航初始化中就把固件加载删掉了,感觉像是这里出了问题,请问是否是所有用到多核导航的模块的固件是一样的还是都需要进行加载?在下面这个报错中,我看多核导航和网口工程中用到的acc48_le是在同一个头文件中,就没弄懂哪里重复定义了,要是这个问题请问在哪里做修改?

  • 你首先要确认不同工程中使用的是否是同一个固件,可以在代码中搜这个数组定义的原始的地方。通过比较数组的内容你可以判断两个固件是否是一样的。
    然后再分析注释掉后一个固件的下载是否有问题。
    这种将两个工程合成一个的工作很容易产生资源的冲突,一定要完全理解原始工程的资源分配,再开始合并的工作。