Z-STACK中XDATA数据占用情况分析

本文分析了TI ZStack-CC2530-2.5.0中SerialApp例程的XDATA内存使用情况,发现官方例程已使用约7K内存,仅剩少量供扩展。主要的XDATA占用包括:theHeap(2600 bytes)、ZDP_Buf(80 bytes)、app_AtProcess::buf(180 bytes)等。开发者若需节省内存,应评估并减少静态变量。
摘要由CSDN通过智能技术生成

下面的例子是针对TIZStack-CC2530-2.5.0中的SerialApp例程(非官方例程)进行编译剖析,通过查看编译输出的MAP文件来了解XDATA的大致情况。

我们知道CC25308K的内存,这部分就是XDATA的大小,官方例程编译完成已经用了7K左右的内存了,剩余给我们使用的内存并不多。一旦我们想要扩大部分参数的时候,这点内存就显得捉襟见肘了。

XDATA是用于静态变量,包括全局变量和本地变量,如全局变量中的路由表,绑定表,以及协议栈使用的内存堆等,以及本地变量如ZDP_BUF等。下面罗列出几个占用XDATA较多的静态变量,开发者如果想要节省出部分XDATA用于自己的程序,需要评估自己的应用情况,酌情减少一些静态变量,不要影响到自己原来功能的稳定性。

 

1.theHeap 2600 bytes.

  Relative segment, address: XDATA 000011D3 - 00001BFA (0xa28 bytes), align: 0

  Segment part 7.             Intra module refs:   osal_mem_alloc

                                                   osal_mem_free

                                                   osal_mem_init

           LOCAL                   ADDRESS         

           =====                   =======         

           theHeap                 000011D3 

 

2.ZDP_Buf 80 bytes.

  Relative segment, address: XDATA 000005DB - 0000062A (0x50 bytes), align: 0

  Segment part 8.             Intra module refs:   ?Subroutine52

                                                   Segment part 10

                                                   ZDP_MgmtNwkUpdateNotify

                                                   ZDP_MgmtRtgRsp

           ENTRY                   ADDRESS         REF BY

           =====                   =======         ======

           ZDP_Buf                 000005DB 

 

3. app_AtProcess::buf 这是函数中的静态缓冲 180 bytes.

  Relative segment, address: XDATA 00000671 - 00000724 (0xb4 bytes), align: 0

  Segment part 160.           Intra module refs:   ?Subroutine34

                                                   app_AtProcess

           LOCAL                   ADDRESS         

           =====                   =======         

           app_AtProcess::buf      00000671 

 

4.SerialApp_TxBuf  81 bytes.

  Relative

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值