Part Number:TMS570LC4357Other Parts Discussed in Thread:TMS570LS3137,
您好,我在调试EMAC过程中,发现无法接收数据,查看VIM模块,接收中断已登记,并且使能,请问这可能是什么原因呢?
Yale Li:
Hi Jia Liu,
我已经询问了相关工程师。有了结果会第一时间回复。
,
Yale Li:
Hi Jia Liu,
方便分享一下您的代码吗?
,
Jeremy Liu:
你好,方便留一个邮箱吗?我发给您。 我之前是在TMS570LS3137上使用的EMAC模块,使用UDP通信,收发数据正常。现在我把TMS570LS3137的代码移植到TMS570LC4357上,使用Wireshark抓包,EMAC模块只能发数据,收不到任何数据,我没有使用LWIP协议栈,麻烦您这边帮忙看看,谢谢!
,
Yale Li:
已经在论坛内申请添加您为好友,您通过一下。
,
Yale Li:
我们的工程师需要一些时间来查看。感谢您的耐心等候
,
Yale Li:
Hi,
您方便检查一下这两点吗:
1. 您需要手动在pinmux window中选择MDIO signals。检查MII没有选择MDIO。
2. 在MPU setting中,请使用cache write-through。
,
Jeremy Liu:
你好,多谢回复。
针对第一点:已在pinmux中选择MDIO signals,见下图:
![]()
针对问题2,在MPU setting中,之前可能没有使用cache write-through,我在main之前加上了(下面标红色的),经测试EMAC还是收不到数据:
_mpuInit_(); _mpuSetRegionTypeAndPermission_(MPU_NORMAL_OIWTNOWA_SHARED,MPU_PRIV_RW_USER_RW_EXEC); _cacheEnable_(); __TI_auto_init();
main(); exit();
此外,有个奇怪的问题,我有2个版本的代码,第1个版本未使用LWIP协议栈,目前收不到EMAC的数据;第2个版本在EMAC初始化函数(EMACInit)之后,又使用了LWIP协议栈的初始化函数:lwIPInit,其他的都一样,debug调试发现就可以收到数据了,这两个版本的代码仅EMAC模块不同,其他的模块pinmux,MPU之类的都是一样的。
麻烦再帮忙看看,感谢!
,
Yale Li:
好的,我已经跟进过去了。
,
Jeremy Liu:
您好,工程文件已发给您,麻烦帮忙看看
,
Jeremy Liu:
您好,工程文件已发给您,麻烦帮忙看看
,
Jeremy Liu:
您好,工程文件已发给您,麻烦帮忙看看
,
Jeremy Liu:
您好,工程文件已发给您,麻烦帮忙看看
,
Yale Li:
好的,我跟进给相关工程师了。
,
Yale Li:
Hi,
您使用的是哪块板子呢?TI的板子还是自己设计的?
,
Jeremy Liu:
我使用的是自己设计的板子,但EMAC硬件部分与TI的开发板是一样的
,
Jeremy Liu:
我觉得应该不是硬件的问题,因为我使用LWIP协议栈就正常,但我们的项目不允许使用LWIP协议栈
,
Yale Li:
好的,我把这些信息同步过去了
,
Yale Li:
Jeremy Liu 说:第2个版本在EMAC初始化函数(EMACInit)之后,又使用了LWIP协议栈的初始化函数:lwIPInit,其他的都一样,debug调试发现就可以收到数据了,这两个版本的代码仅EMAC模块不同,其他的模块pinmux,MPU之类的都是一样的。
这个API初始化了EMAC以及EMAC控制模块。EMAC控制模块被reset,CPPI RAM被清空。并且,所有中断被禁用。这个API没有使能EMAC的任何中断或操作。
,
Jeremy Liu:
好滴,谢谢,请问一下能否调试我的工程看看?照你这么说,很奇怪了
,
Yale Li:
好的