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

XDATA

我在SimpleBLEPeripheral里面需要定义一些全局变量,但是编译的时候会出现这样的错误,请问有没有什么办法可以解决啊

Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment XDATA_N. Unable to place 2 block(s) (0xc02 byte(s) total) in 0xbffbyte(s) of memory. The problem occurred while processing the segment placement command "-P(XDATA)XDATA_N=_XDATA_START-_XDATA_END", where atthe moment of placement the available memory ranges were "XDATA:1301-1eff"

Yan:

lily,

定义了很大的全局变量?

lily li1:

回复 Yan:

是的,我要用SD卡存储数据,所以定义了几个很大的全局变量数组

lily li1:

回复 Yan:

Yan,

我现在把INT_HEAP_LEN改成了1024,会不会有问题啊

da qin zheng sheng:

对于cc2540/2541芯片,你的全局变量数不能超过8192-256=7936 !

lily li1:

回复 da qin zheng sheng:

感觉我好像也没有定义这么多的全局变量啊,而且不能通过参数的设置来改变吗?我把那个参数改了以后就没报错了,就是怕后面的程序运行会有问题

wenzhong shen:

写SD卡也可以分次写啊,尽量减少大数组的全局变量,也可以在用的时候直接用堆去开辟,源程序中用的定义的是3072的大小。你用的时候开辟内存,用完了之后释放就好了。这样对程序影响最小。

赞(0)
未经允许不得转载:TI中文支持网 » XDATA
分享到: 更多 (0)