微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > ZSTACK3.0.0使用串口编译错误

ZSTACK3.0.0使用串口编译错误

时间:10-02 整理:3721RD 点击:

我想要使用cc2530的串口功能,所以在预编译的选项中将xZTOOL_P1改为了ZTOOL_P1,然后进行编译,结果发生了错误,然后我恢复了之前的操作,然后再预编译选项中加入了HAL_UART=TRUE,是同样的结果。(PS.为了排除是我程序的错误,我打开了一个新例程,重复了上述操作,还是发生了同样的错误),下边是IAR报出的错误:

Error[e16]: Segment XDATA_Z (size: 0x1ca4 align: 0) is too long for segment definition. At least 0xa5 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:301-1eff" 

   Reserved ranges relevant to this placement: 

   XDATA:1-300          XSTACK 

   XDATA:301-1eff       XDATA_Z 

   BIT:0-7              BREG 

   BIT:80-87            SFR_AN 

   BIT:90-97            SFR_AN 

   BIT:a0-af            SFR_AN 

   BIT:b8-c7            SFR_AN 

   BIT:e8-ef            SFR_AN 

   BIT:f8-ff            SFR_AN 

求求各位大佬帮忙看一眼,这是怎么回事!谢谢各位

帮你查了资料可能是这个问题:

这个原因是你程序里面有比较大的数据量,单片机里的RAM放不下。。。你可以把数据定义成const的,这样IAR会把数据放到单片机的flash里

网上查到的,大部分人都说是这种问题,你试试。

CC2530的RAM留给用户使用的可能极其有限,所以类似ZTOOL_P1这样耗费大量内存的经常会出现错误。

请问您现在的应用环境是怎样的?建议您选择一下其他的协议栈或是芯片

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top