由于春节假期,帖子审批以及工程师回复将会有所延迟,敬请谅解.

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.

TMS320C6678: 不同的PDK版本和CCS版本中测试pa_emac的以太网发送udp包的速率不同

Part Number: TMS320C6678
Other Parts Discussed in Thread: MATHLIB

各位工程师好:

使用的是创龙的开发板,原例程是在CCS5.5和pdk_c6678_1_1_2_6中开发的,在裸机的情况下,使用PA和QMSS来完成以太网的通信测试,测试发送10000个1500字节的udp包,使用wireshark抓包,检测是否有丢包错包情况,测得的结果最大的发送速率约为70MB/s(700mbps大概)。但将该例程移植到CCS9.3和pdk_c667x_2_0_16下,测得的发送速率只有1.0MB/s,而且有丢包错包情况。主要的耗时在

while((pCppiDesc = Qmss_queuePop(gTxFreeQHnd)) == NULL)语句,好像在新版本中,描述符的回收特别慢。看了下两个版本下的一些库函数及宏定义,其中pdk_c6678_1_1_2_6

typedef enum
{
/** SRIO */
Cppi_CpDma_SRIO_CPDMA = 0,
/** PASS */
Cppi_CpDma_PASS_CPDMA,
/** QMSS */
Cppi_CpDma_QMSS_CPDMA
}Cppi_CpDma;

pdk_c667x_2_0_16中Cppi_CpDma的定义则多了很多成员,数值也不太一样,其他一些结构欧体定义差别也比较大,包括PA的固件头文件也有变化,所以现在不知道该从哪方面着手使udp的发送速率能够提高到pdk_c6678_1_1_2_6下的水平,请各位不吝赐教,非常感谢!