你好?
我在使用最新 TI SDK 的基本示例 enet_layer2_icssg 测试 CUTTHROUGH 时发现了以下问题。
在 CUTTHROUGH 工作模式下端口连接/断开连接测试期间、特定端口在特定条件下关闭(无数据包接收)。
我们即将推出产品、需要紧急解决。 将非常感谢提供援助。
1、环境:
SDK:mcu_plus_sdk_am243x_09_02_00_50
测试板:LP-AM243
示例源:\mcu_plus_sdk_am243x_09_02_00_50\examples\networking\enet_layer2_icssg\icssg_layer2_switch\am243x-lp\r5fss0-0_freertos
2.先决条件:
2.1 CUTTHROUGH 修改
mcu_plus_sdk_am243x_09_02_00_50\source\networking\enet\core\cme\per\icssg.c src
684, void IcssgMacPort_initCfg(Icssg357*macPortCfg) Port_Cfg
- macPortCfg->queueForwardMode[i]= ICSSG_QUEED_FORWARD_MODE_STOREANDFWD;
+ macPortCfg->queueForwardMode[i]= ICSSG_QUEED_FORWARD_MODE_CUTTHROUGH;
2.2添加调试打印
\mcu_plus_sdk_am243x_09_02_00_50\examples\networking\enet_layer2_icssg\enet_layer2_icssg.c
1616.
静态 void EnetMp_rxTask (void * args)
1735.
+ EnetAppUtils_print ("Rx 接收到的大小:%d\r\n"、rxPktInfo->sgList.list[0].segmentFilledLen);
3.测试程序
3.1程序和结果:
a.连接 PC1和 PC2、然后运行示例。 确认 PC1和 PC2上的数据包接收。
b.断开 PC1并确认 PC2上的数据包接收。
c.断开 PC2并连接 PC1。 PC1上无数据包接收。
d.更改 ICSSG_QUEED_FORWARD_MODE_STOREANDFWD 后、重复测试过程以确认正常运行。
3.2配置:
lp board----- PC1
|___ PC2