关于IAR-cc2530编译内存的问题
想请问下关于.MAP文件中的这几个存储区是不是对应着IAR编译器中设置堆栈大小的那几个存储区,要设置存储区的大小是不是就是通过设置这堆栈中存储区的这几个 LZ遇到什么问题了?一般来说TI的协议栈都是设置好的,够用.不需要去更改. buxiaohui1108 发表于 2014-9-13 22:17LZ遇到什么问题了?一般来说TI的协议栈都是设置好的,够用.不需要去更改.
现在就是内存不足啊,所以想要了解下怎么设置的 最好先把错误的提示信息贴出来,一般修改XDATA就可以了。用于存放堆栈。 youthdou 发表于 2014-9-18 09:00
最好先把错误的提示信息贴出来,一般修改XDATA就可以了。用于存放堆栈。
一般是提示内存不足或者越界了,但是有时占用堆栈的数据太多了,就不知道该怎么改了,也不知道能不能再吧内存扩大些 这些具体是什么意思还真没有仔细研究过.据我使用CC2530的情况看,如果你用了TI提供的协议栈,最后剩下自己使用的不到1K.好像也就500个byte左右.如果是协调器会更少.扩大内存估计不行.因为2530也就8K.也不知道你是堆栈不够还是全局不够.如果编译提示,那应该是全局变量用多了.希望能帮到你. buxiaohui1108 发表于 2014-9-29 21:59
这些具体是什么意思还真没有仔细研究过.据我使用CC2530的情况看,如果你用了TI提供的协议栈,最后剩下自己使 ...
情况和你说的大致差不多,但是就是因为使用的全局变量太多了,所以导致遇到这样的情况都不好怎么去优化了 可以考虑动态申请的方式来替换全局的数组,因为TI的协议栈是将8K的内存划分了一部分给动态空间的。如果这样还不行那就只能优化代码,减少相应的全局变量的使用了。希望对你有用! 51的单片机,用bit,或者位域...
页:
[1]