发 帖  
[问答] 关于6678多核通信例程,变量NUM_ITERATION尝试将之改成2 * NUM_CORES,core0发送数据后就无法触发任何中断,请问为什么?
2018-7-11 03:15:04  136 C6678
分享
    最近研究了一下PDK中6678多核通信的例程InfrastructureMCExampleProject,有几个疑问想请教各位:
    1. 每个核都需要绑定一个中断和通道,core0向其他核发送数据,就是通过哪个通道发送,然后接受核会先触发中断,然后接受数据。不知道这样理解是不是正确。
   2. 例程中有一个变量NUM_ITERATION,设定是1 * NUM_CORES,我尝试将之改成2 * NUM_CORES,循环的第一遍正常,第二遍每个核也都注册了中断和通道,但是core0发送数据后就无法触发任何中断,不知道这是为什么?
    请各位多多指教,谢谢!
0
2018-7-11 03:15:04   评论
2 个讨论
pdk提供的只是一个例子,具体还的理解了Navigator的原理,然后根据自己的应用区使用,没有一个规定该如何使用。
在使用navigator进行核间通信时,如果需要发送数据,则可以使用infrastructure pktdma进行数据搬运,将接受队列设置为一个可以产生中断的queue如High priority accumulator queue,在搬完数据后硬件会将描述符放到指定的接受queue,然后产生中断通知对方;如果只是核间通信,不传输数据的话,可以直接将描述符push到一个可产生中断的队列即可。
至于你说的问题可能是程序的可移植性不够完善,可以跟踪代码调测查出具体问题。
                                                                          

2018-7-11 03:32:09 评论

举报

zbb9612 发表于 2018-7-11 03:32
pdk提供的只是一个例子,具体还的理解了Navigator的原理,然后根据自己的应用区使用,没有一个规定该如何使用。
在使用navigator进行核间通信时,如果需要发送数据,则可以使用infrastructure pktdma进行数据搬运,将接受队列设置为一个可以产生中断的queue如High priority accumulator queue,在搬完数据后硬件会将描述符 ...

感谢解答!
2018-7-11 03:42:41 评论

举报

只有小组成员才能发言,加入小组>>

37个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表