This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/TM4C129ENCPDT:TM4C129ENCPDT TCP/IP

Guru**** 2439710 points
Other Parts Discussed in Thread: TM4C129ENCPDT

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/624994/rtos-tm4c129encpdt-tm4c129encpdt-tcp-ip

器件型号:TM4C129ENCPDT

工具/软件:TI-RTOS

我们使用 CCS 7.2.13和电路板 TM4C129ENCPDT

在导入和编译 tcpEcho_EK_TM4C1294XL_TI 示例后、我们得到以下 SRAM 存储器:

使用的 SRAM:0000ffe8未使用:00030018

我们不需要在 TCP 中使用如此大的缓冲区,而是减少了 TCP-UDP 模块配置中的传输和接收缓冲区大小:
 tcp.transmitBufSize = 512;
tcp.receiveBufSize = 512;
udp.receiveBufSize = 1024;

在 IP 配置中、最小值 SendBytes = 1024:

新配置如下所示:

global.lowTaskStackSize = 1024;
Global.normTaskStackSize = 1024;
global.highTaskStackSize = 1024;
tcp.transmitBufSize = 512
tcp.receiveBufSize = 512;
tcp.receiveBufLimit=1024
ip.socketBufMinTxSize = 1024;
udp.receiveBufSize = 1024

但是、在构建程序后、其 SRAM 大小不变。

原因是什么? 似乎我们做了一些错误...

谢谢、Sabina

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sabina、

    您所做的更改将影响运行时分配、而不是静态大小。 下面是 Debug\configPkg\package\ccfg_tcpEcho_pem4f.c 中生成的代码的比较

    Todd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在我的代码中、我看到更改的值:

    void ti_ndk_config_tcp_init (句柄 hCfg)


    int transmitBufSize = 512;
    CfgAddEntry (hCfg、CFGTAG _IP、CFGITEM_IP_SOCKTCPTXBUF、
    CFG_ADDMODE_UNIQUE、sizeof (uint)、(uint8 *)&transmitBufSize、0);


    int receiveBufSize = 512;
    CfgAddEntry (hCfg、CFGTAG _IP、CFGITEM_IP_SOCKTCPRXBUF、
    CFG_ADDMODE_UNIQUE、sizeof (uint)、(uint8 *)&receiveBufSize、0);


    int receiveBufLimit=1024;
    CfgAddEntry (hCfg、CFGTAG _IP、CFGITEM_IP_SOCKTCPRXLIMIT、
    CFG_ADDMODE_UNIQUE、sizeof (uint)、(uint8 *)&receiveBufLimit、0);




    为了更改软件的 RAM 大小,我们应该在 TCP/IP 堆栈中进行哪些更改? 我们不需要如此大的缓冲器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Sabina、

    有关内存管理的详细信息、请参阅此 processors.wiki.ti.com/.../TI-RTOS_Networking_Stack_Memory_Usage。 您应该能够使用上述设置来减小堆的大小。

    Todd