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

关于 multicore navigator传输数据的目的地址的问题

1、 multicore  navigator 是可以实现数据的搬移的,比如 从core0LL2 0X1080 0100 –core1LL2 0X1180 2000,那么在navigator 中肯定有地方指定源地址和目的地地址的,我在看user guide时,看到了host packet descriptor中有 buffer 0 pointer可以指定源地址,但是没有看到在哪里指定目的地地址。RX Flow中register A  可以指定 RX_DEST_QNUM但是没有目的地址。

2、在6678中,可以使用 multicore  navigator 完成数据在 core0  core1…..core7, SRIO之间的传输,但是packet在push进一个TX队列后,它怎么知道传给谁? descriptor 中没有相关的描述。    比如core0 要将数据传给 core3,  core0怎么知道是传给了core3而不是别的core。

Allen35065:

1. descriptor里的buffer地址决定了接收的数据放在什么地方,RX收到一个包,就从FDQ里取一个desc,分析desc的buffer pointer指向何处,然后把数据拷贝过去;

2. TX queue的映射是固定的,详见Navigator 5.1节Queue map。

Annie Ren:

回复 Allen35065:

谢谢Allen Yin 的回答 !

但还是有些不清楚:

对于1、是说descriptor 中的 buffer 0 pointer中存储的是data要存储的目的地址,而不是源地址吗? 

              那它怎么知道从哪里取数据(data的源地址在哪定义)?

对于2、我知道对于TX queue是固定的,向特定的queue中push descriptor就可以进行传输,但是它向谁传输(core 还是peripheral)怎么定义的?

Annie Ren:

回复 Allen35065:

谢谢Allen Yin的回答 !

对于1、是说TX queue中的descriptor决定了要transfer的data从哪来,RX queue中接收的descriptor决定了进来的data存在哪里,这样理解对吗?

        2、我之前理解的是比如SRIO 要传 data给 core0  就用 SRIO TX queue作为发送队列呢,跟您说的刚好相反。。。真是大错特错了。

Allen35065:

回复 Annie Ren:

是的,你的理解没有问题。

Annie Ren:

回复 Allen35065:

   万分感谢!!

赞(0)
未经允许不得转载:TI中文支持网 » 关于 multicore navigator传输数据的目的地址的问题
分享到: 更多 (0)