慢慢懂 发表于 2014-8-23 00:29:21

关于IAR-cc2530编译内存的问题

想请问下关于.MAP文件中的这几个存储区是不是对应着IAR编译器中设置堆栈大小的那几个存储区,要设置存储区的大小是不是就是通过设置这堆栈中存储区的这几个

buxiaohui1108 发表于 2014-9-13 22:17:17

LZ遇到什么问题了?一般来说TI的协议栈都是设置好的,够用.不需要去更改.

慢慢懂 发表于 2014-9-18 08:52:48

buxiaohui1108 发表于 2014-9-13 22:17
LZ遇到什么问题了?一般来说TI的协议栈都是设置好的,够用.不需要去更改.

现在就是内存不足啊,所以想要了解下怎么设置的

youthdou 发表于 2014-9-18 09:00:28

最好先把错误的提示信息贴出来,一般修改XDATA就可以了。用于存放堆栈。

慢慢懂 发表于 2014-9-18 18:50:47

youthdou 发表于 2014-9-18 09:00
最好先把错误的提示信息贴出来,一般修改XDATA就可以了。用于存放堆栈。

一般是提示内存不足或者越界了,但是有时占用堆栈的数据太多了,就不知道该怎么改了,也不知道能不能再吧内存扩大些

buxiaohui1108 发表于 2014-9-29 21:59:47

这些具体是什么意思还真没有仔细研究过.据我使用CC2530的情况看,如果你用了TI提供的协议栈,最后剩下自己使用的不到1K.好像也就500个byte左右.如果是协调器会更少.扩大内存估计不行.因为2530也就8K.也不知道你是堆栈不够还是全局不够.如果编译提示,那应该是全局变量用多了.希望能帮到你.

慢慢懂 发表于 2014-9-30 10:33:00

buxiaohui1108 发表于 2014-9-29 21:59
这些具体是什么意思还真没有仔细研究过.据我使用CC2530的情况看,如果你用了TI提供的协议栈,最后剩下自己使 ...

情况和你说的大致差不多,但是就是因为使用的全局变量太多了,所以导致遇到这样的情况都不好怎么去优化了

buxiaohui1108 发表于 2014-9-30 21:24:48

可以考虑动态申请的方式来替换全局的数组,因为TI的协议栈是将8K的内存划分了一部分给动态空间的。如果这样还不行那就只能优化代码,减少相应的全局变量的使用了。希望对你有用!

dgtg 发表于 2014-10-1 01:34:19

51的单片机,用bit,或者位域...
页: [1]
查看完整版本: 关于IAR-cc2530编译内存的问题