微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > XDATA

XDATA

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

我在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 0xbff
byte(s) of memory. The problem occurred while processing the segment placement command "-P(XDATA)XDATA_N=_XDATA_START-_XDATA_END", where at
the moment of placement the available memory ranges were "XDATA:1301-1eff"

lily,

定义了很大的全局变量?

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

Yan,

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

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

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

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

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

网站地图

Top