Microchip
直播中

李雨坤

8年用户 289经验值
私信 关注
[问答]

TCPIP RAM使用情况

问候语!我想减少对PIC18F86J65的TCPIP堆栈的使用。我的堆栈将完成一项简单的任务。我只使用telnet服务器、telnet客户端和ICMP。我只有2个套接字TCP-PurPosieGypic、TCPpHelp和TCPPurPosieTelNET.I试图降低套接字的TX和RX缓冲区大小-没有成功。RAMusage保持不变。我试着把EMAXRXBuffl的大小减小到512,也没有运气。我也尝试了TCPYEthyRAMY-SIZE——我把它降低到1000,再次RAM的使用没有下降。我还能做什么?谢谢!

以上来自于百度翻译


      以下为原文

    Greetings! I want to decrease the RAM  usage of the TCPIP stack for PIC18F86J65. My stack will do a simple task. I`ll use only telnet server, telnet client and ICMP. I have only 2 sockets TCP_PURPOSE_GENERIC_TCP_CLIENT and TCP_PURPOSE_TELNET.
I tried to decrease the sockets` TX and RX buffer sizes - no success. The RAM usage stays the same. I tried to decrease the EMAC_RX_BUFF_SIZE to 512 - again no luck. I also tried with TCP_ETH_RAM_SIZE - I decreased it to 1000 and again ram usage doesn`t drop.
What else I can do?
Thanks!

回帖(1)

杨伟

2019-4-24 07:58:17
您需要使用TCPIpCuff.EXE实用工具来更改套接字配置和RAM使用。它可以手工完成,但它不是自动计算的东西。这可能给你一个簇。例如,每个区域的RAM大小是该区域中每个套接字的Tx+Rx+siZeof(TCP)的总和。最好使用TCPIPCONFIG!

以上来自于百度翻译


      以下为原文

    You need to use the TCPIPconfig.exe utility to change the Socket config and ram usage.
 
It can be done by hand but it is not an automatically calculated thing. this might give you a clue.
e.g.
#define TCP_ETH_RAM_SIZE ((1600ul + 48ul)*2) // (Tx+RX+48)*nSockets
#define TCP_PIC_RAM_SIZE ((200ul + 48ul)*2 + (400ul + 48ul)*1 )

The ram size of each area is total of Tx+Rx+sizeof(TCP) for each socket in that area. Best to use TCPIPconfig!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分