zoukankan      html  css  js  c++  java
  • 减少 lwip 消耗 的 RAM

    1、修改 最大一包数据的大小 TCP_MSS , 即 TCP最大报文段大小,根据自己的应用进行修改 比如 我 的一包数据最大  256字节,在 lwipopts.h 文件中

      因此 修改 如下:

    /* TCP Maximum segment size. */
    #define TCP_MSS ( 300 - 40 ) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) TCP最大报文段大小 */

    编译结果:

    修改之前是:

    /* TCP Maximum segment size. */
    #define TCP_MSS (1500- 40) /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) TCP最大报文段大小 */

    编译结果:

    62610 - 54960 = 7650 字节。。。。。

    2、因为我使用 FreeRTOS 驱动 lwip,因此 lwip 的线程 栈大小,也是 可以减少内存的,即设定 TCPIP_THREAD_STACKSIZE ,在 lwipopts.h 文件中,这个线程栈的单位是按照  计算的哦,要注意!!!

    修改如下:

    #define TCPIP_THREAD_STACKSIZE          256

    编译结果:

      xPortGetFreeHeapSize:8384,调用函数:xPortGetFreeHeapSize() 即可。

    修改之前:

    #define TCPIP_THREAD_STACKSIZE          1024

    编译结果:

      xPortGetFreeHeapSize:5312,调用函数:xPortGetFreeHeapSize() 即可。

    8384- 5312= 3072字节。。。。。  其实就是 1024*4-256*4=3072字节

    不定时更新,2018年3月29日21:05:53,suozhang

  • 相关阅读:
    PHP7函数大全(4553个函数)
    Mysql 查看连接数,状态 最大并发数
    linux安装git
    PHP new StdClass() 创建空对象
    PHP 如何向关联数组指定的 Key 之前插入元素
    php 常用 小知识点
    PHP激活用户注册验证邮箱
    php rsa 加密、解密、签名、验签
    PHP支付接口RSA验证
    [2018-12-07]用ABP入门DDD
  • 原文地址:https://www.cnblogs.com/suozhang/p/8672264.html
Copyright © 2011-2022 走看看