HI,您好。
我目前正在C6678上,使用srio的tmessage passing中的ype9以及type11进行数据发送,但目前遇到两个问题,希望您能帮忙解答一下疑问。
问题1:我看ti 官方文档里介绍,srio type11模式下数据传输只能一个描述体对应一个消息包,我的问题是:type11发送的数据包是否不能超过描述体对应的缓冲区大小?
问题2:ti 官方文档里介绍,srio type9模式下数据传输可以多个描述体对应一个消息包,我的问题是:type9模式是否可以发送大于描述体缓冲区大小的数据包?若可以发送,能否讲下具体实现的过程,如发送端一个消息包如何分配到多个描述体,接收端如何将多个描述体组合到同一个消息中,本人比较想知道它传输方式是否与网络中对大的数据包进行拆包以及组包的过程类似;
目前,本人所了解的type9以及type11模式都是通过描述体进行数据传输,发送以及接收端都通过相应的队列控制数据的收发。如果本人如果哪里有说的不对的地方希望帮忙指正一下,也希望您能个答复,谢谢。
user5140721:
回复 Thomas Yang1:
谢谢您的回复,Thomas Yang, 我现在还有一个疑惑:我在测试Type9模式时,当以一个链式的描述符发送数据,它只回收了链式描述符的首个描述符,而没有回收其它描述符。接收端是可以正常接收到整个链式描述符所携带的数据包。目前我使用的是Ti实例代码。
因为Type9模式,发送端是自动回收描述符,所以我不是很明白它为什么只回收了一个,有什么办法能让它回收整个链式的描述符吗?
Thomas Yang1:
回复 user5140721:
我记得Queue里面只放host link descriptor的头描述符,链接的是不放的。您在发送的时候也是只pop的头描述符出来吧