官网下载的原版zstack 3.0协议栈,没有做任何改动, 只是编译时打开ZTOOL_P1, 报错提示内存不够,3.0难道打开串口功能也直接超内存?
Error[e16]: Segment XDATA_Z (size: 0x1d47 align: 0) is too long for segment definition. At least 0x148 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
用的什么版本,CC2530还是CC2538?
CC2530试过打开ZTOOL_P1,没有问题,能和电脑端的Z-tools工具通讯,只是干掉了CTS和RTS两个脚,只留TXD和RXD以及GND
最新的刚出的版本 Z-Stack 3.0.0版本,2016,12月份刚出来的统一标准. 我之前使用zstack 2.5.1.
用的是CC2530 , ZSTCAK 3.0.0
的确会出现你说的问题,我找找问题所在
问题解决了吗? 我也遇到同样的问题。
问题解决了吗 ,我也遇到了相同的问题
问题解决了吗 我也出现这个问题
拆东墙补西墙的原则,把串口buffer改小
改小宏定义HAL_UART_DMA_RX_MAX的值
减小关联表和邻居表。
方便加一下QQ一起讨论ZIBGEE吗,我最近也遇到头疼的问题了。541992665,一起讨论一下
CC2530基本就那个烂样子了,SRAM大小就是在死亡的边缘挣扎,留给用户自由发挥的几乎没有了。对于这个问题,目前无解,估计TI也很无奈,当年也没这么多功能啊,当年的协议栈6K跑的好好的,和安卓手机一个鸟样,随着软件不断升级,硬件还是那个硬件,但卡的要死。
2.5.1的代码是怎么移植到3.0上?3.0里没给SampleApp例程,不知道从哪下手了 还望不吝赐教 谢谢
+qq一起探讨
現在呢? 還是沒有好的解決方案麽? 改.XCL文件的配置或者修改IAR->Options->General Options->Stack/Heap的配置會怎麽樣?
修改串口接收数组,还有改小邻居表关联表
我用了几年的CC2530做产品,也是因为2530的RAM太小被折磨的不行,虽然说可以砍关联表,邻居表,路由表,但是这么做之后网络节点容量大大的减少了啊,真的是无奈。常想要是CC2530的RAM能有16K甚至更大多好。CC2538我没批量用过不知道怎么样,估计成本是个问题。
把堆栈改小点,z-stack 3.0 路由模式下 堆栈 INT_HEAP_LEN 默认大小为3072,你改成2048,最后编译通过后看下MAP那些地方比较耗内存。