工具/软件:TI-RTOS
您好!
在我的应用中、Modbus TCP 协议堆栈与 TI RTOS 集成、并且运行得更早。 即、我们将能够持续执行 Modbus TCP 命令上的读取/写入操作。 现在、我们已经在控制台中观察到以下错误消息、之后甚至 ping 命令也没有响应。
00035.600 TcpTimeoutRexmt:重新发送超时
00039.200 TcpTimeoutRexmt:重新发送超时
00041.100 TcpTimeoutRexmt:重新发送超时
00041.800 TcpTimeoutRexmt:重新发送超时
00046.900 TcpTimeoutRexmt:重新发送超时
00048.100 TcpTimeoutRexmt:重新发送超时
00048.800 TcpTimeoutRexmt:重新发送超时
00051.300 TcpTimeoutRexmt:重新发送超时
00056.800 TcpTimeoutRexmt:重新发送超时
00062.400 TcpTimeoutRexmt:重新发送超时
我们使用以下版本的 TI 软件。
tirtos_tivac_2_16_01_14
BIOS_6_45_02_31
NDK_2_25_00_09
tidrivers_tivac_2_16_01_13
TivaWare_C_Series-2.1.4.178
以下是我的配置中使用的默认参数。
/*========================= NDK 配置=================== *
VAR NDK = XDC.loadPackage ('ti.NDK.config');
VAR Global = xdc.useModule('ti.ndk.config.Global');
VAR IP = xdc.useModule('ti.ndk.config.Ip');
VAR UDP = xdc.useModule('ti.ndk.config.Udp');
VAR TCP = xdc.useModule('ti.ndk.config.Tcp');
global.ipv6 = false;
global.stackLibType = Global. min;
Global.networkOpenHook ="&netOpenHook";
//自动调用 fdOpen/CloseSession 以执行套接字任务*/
Global.autoOpenCloseFD = true;
global.pktNumFrameBufs=10;
global.memRawPageCount = 6;
global.ndkThreadStackSize = 1536;
global.lowTaskStackSize = 1024;
Global.normTaskStackSize = 1024;
global.highTaskStackSize = 1024;
tcp.transmitBufSize = 1024;
tcp.receiveBufSize = 1024;
我也尝试将缓冲区大小增加到4096、但仍然观察到相同的行为。
有人能不能建议这种行为的原因是什么?
此致
巴拉