TI中文支持网
TI专业的中文技术问题搜集分享网站

Z-Stack3.0的SampleTemperatureSensor.eww,为什么编译链接(link error)就出现下面错误?

没有改任何代码,只放开了几个宏:  

ZTOOL_P1
MT_TASK
MT_APP_FUNC
MT_SYS_FUNC
MT_ZDO_FUNC   这个几个原来是前面带了x的,改完后,宏定义如下:

BDB_REPORTING

SECURE=1
TC_LINKKEY_JOIN
NV_INIT
NV_RESTORE
ZTOOL_P1
MT_TASK
MT_APP_FUNC
MT_SYS_FUNC
MT_ZDO_FUNC
xMT_APP_CNF_FUNC
xLCD_SUPPORTED=DEBUG
MULTICAST_ENABLED=FALSE
ZCL_READ
ZCL_WRITE
ZCL_BASIC
ZCL_IDENTIFY
ZCL_TEMPERATURE_MEASUREMENT
ZCL_GROUPS

链接错误如下:

Error[e16]: Segment XDATA_I (size: 0x12f align: 0) is too long for segment definition. At least 0xfe more bytes needed. The problem occurred while processing the segment placement

command "-Z(XDATA)XDATA_Z,XDATA_I=_XDATA_START-_XDATA_END", where at the moment of placement the available memory ranges were "XDATA:1ecf-1eff"

XDATA:1-325 XSTACK

XDATA:326-1eff XDATA_Z

YiKai Chen:

RAM/Flash超支了,請參考 processors.wiki.ti.com/…/Optimizing_Flash_and_RAM_Usage_of_Z-Stack_for_CC2530

Alvin Chen:

不要用ZTOOL_P1也就是UART功能 内存不足,建议使用CC2538或者CC2652R

zhou jiangtao:

回复 YiKai Chen:

既然空间这么紧张,为什么还要把函数写成宏,比如XNV_SPI_INIT,HAL_BOARD_INIT,这样每次调用用它,函数占用的空间就翻一倍,这不是故意增加空间占用吗?我把这些宏改了一下,uart不使用dma,就可以编译过去了,好像dma很占空间。

zhou jiangtao:

回复 Alvin Chen:

2538好像贵一些,我现在就想使用最便宜的有线转无线芯片。2530是便宜的了吧?

zhou jiangtao:

回复 YiKai Chen:

我试了uart的isr方式可以用,dma链接不了,可能dma非常占用内存。

YiKai Chen:

回复 zhou jiangtao:

是的

zhou jiangtao:

回复 Alvin Chen:

我还发现,能不能链接成功,还和IAR 的版本有关系,老的stack就要在老的IAR上面编译。

赞(0)
未经允许不得转载:TI中文支持网 » Z-Stack3.0的SampleTemperatureSensor.eww,为什么编译链接(link error)就出现下面错误?
分享到: 更多 (0)