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

6657开发板上运行emac工程出错的问题

最近正在学习emac控制器的使用,我在TMS320C6657LS开发板上仿照TI6747evm的emac-loopback程序,自行编写了一个loopback的测试程序。在测试过程中发现如下问题,请专家帮忙解答下:

(1)我用如下的代码测试Rxcount的数值确实为2,这表明已经收到了数据包,但是相应的接收buffer中的数据全部为0,而且 packet_flags 的NO MATCH位置位了(其中Uint32 packet_flags = pDesc->PktFlgLen),这样导致测试数据包时,发生错误。我感觉接收到数据包后还是把它丢弃了,并没有copy到memory中。测试的代码如下:

while ( ( TxCount != 2 ) || ( RxCount != 2 ) ) //get Rx number and Tx number
    {
        if ( ErrCount )
            errors++;
        if ( timeout– < 0 )
            break;
    }

/* Validate the data */
    for ( i = 6 ; i < size ; i++ )
        if ( pDesc->pBuffer[i] != i ) //这里pBuffer[i]中的数据全部为0
            return 7;

(2)发送包的长度分别为60和128,但是接收时长度变成了64和132,这多的4个字节是怎么来的?(我没有设置加CRC)

附件中是6747evm的测试程序,我是按照这个测试程序修改的代码并在6657上运行的,请专家帮忙看一下到底是什么问题?

teddy007:

自己顶一个。

版上哪位大神出来帮忙解答一下啊!

Andy Yin1:

建议使用6657 pdk下的emac例程EMACLoopback_testProject,这个就是用来测试loopback,可以在EVM上直接测试。

安装一个最新的mcsdk后会有6657 pdk,如pdk_C6657_1_1_2_6\packages\ti\drv\exampleProjects\EMACLoopback_testProject

teddy007:

回复 Andy Yin1:

我已经试过这个例子了,但是运行后发现有问题,在配置完mac地址后就一直停在那里不动,直到超时后,程序退出,也请专家看看是什么原因,谢谢

teddy007:

回复 teddy007:

Andy Yin,我今天再次运行了你提到的这个示例程序,但是结果仍然和之前的一样:程序在配置完mac地址后,就一直停在那里不动,直到定时器50s超时后,给出错误信息,最后就退出了。我之前就运行过这个程序,发现不对后才自己编写的上面那段loopback测试代码,现在两者都存在问题,有点没招了,请帮忙看一下问题究竟是在哪里,应该从什么地方去查问题?谢谢!

atower geng:

回复 teddy007:

teddy007,你好,最近我在测试TI给的emac loopback代码时,也出现这问题,不知道你有解决没?

赞(0)
未经允许不得转载:TI中文支持网 » 6657开发板上运行emac工程出错的问题
分享到: 更多 (0)