如何减少MQXRTCS使用内存.PDF

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何减少MQXRTCS使用内存.PDF

如何减少MQX RTCS 使用内存          嵌入式系统内存非常有限,在开发基于RTCS 的应用程序时,我们经常会碰到TCP/IP 内存不足的问题。如何降低内存,同时又满足嵌入式系统的需求是每个开发者需要考虑的 问题。本文主要介绍RTCS 的初始化参数及如何合理的配置来降低嵌入式系统的内存。          RTCS 协议栈中有一些全局变量,应用程序创建RTCS 协议栈时对这些变量赋值。这些 变量包括_RTCSPCB , _RTCS_msgpool , _RTCS_socket_part ,Tx Window Size and Rx  Window Size 所有的变量都有一个默认值,如果你想改变这些默认值,必须在创建RTCS 之 前。  1    _RTCSPCB / _RTCS_msgpool / _RTCS_socket_part  RTCSPCB 表示数据包控制块 , 指的是你希望RTCS 协议栈能够处理的包的数量,如果你发 现有丢包现象,可能与此参数有关,你需要增加该值。  RTCS_msgpool 表示RTCS 消息池, 它用来封装对RTCS 协议栈的应用请求,该值指的是应用 程式同时能发多少个请求给RTCS 协议栈。  RTCS_Sockets 指的是应用中创建的所有的socket 的数量.   “_init”是在RTCS 创建时分配的数量.  在运行时,当RTCS 需要更多的资源,它可以根据 “grow ”值来增加。“max”是指定的能够分配的最大值。这些参数必须在RTCS 启动前 修改。   RTCS 协议栈中,这些参数的默认值为以下这些宏,RTCSCFG_PCBS_INIT,  RTCSCFG_PCBS_GROW,  RTCS_PCBS_MAX,  RTCSCFG_MSGPOOL_INIT,  RTCSCFG_MSGPOOL_GROW, RTCSCFG_PCBS_MAX, RTCSCFG_SOCKET_PART_INIT,  RTCSCFG_SOCKET_PART_GROW,  RTCSCFG_SOCKET_PART_MAX.  在项目中我可以自己定义这 些变量,也可以在user_config.h 中指定。    怎样来配置这些参数?   对于具体的应用没有一个固定的方法. 我们可以从默认值开始, 然 后花时间来调试。可以用它RTCS TAD 工具来观察各资源占用的内存情况,然后根据具体 的需求来修改  Example:  the configuration in web_hvac demo      _RTCSPCB_init = 4;      _RTCSPCB_grow = 2;      _RTCSPCB_max = 20;      _RTCS_msgpool_init = 4;      _RTCS_msgpool_grow  = 2;      _RTCS_msgpool_max   = 20;      _RTCS_socket_part_init = 4;      _RTCS_socket_part_grow = 2;      _RTCS_socket_part_max   = 20;      RTCS_Create();    2  Tx Window Size and Rx Window Size  每个socket 都有一个发送buffer 和接收buffer. Each socket requires to allocation Tx and Rx  window size for a listening socket and then for each connected client.  默认的 tx window size 和  rx window size 是 4380 字节. 使用 TAD 调试工具, 我们可以观察到每个新的TCP socket 连接 需要使用内存是500+4392x2+148=9432B,    见下:  MQX ‐ Lightweight Memory Block Summary  Size (Decimal) Owner    Type  500      0x10001  TCP Control Bl

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档