TI论坛
直播中

孙世珍

7年用户 204经验值
私信 关注
[问答]

请问CC2541主从一体编译出现错误该怎么办?

大家好:
       我采用ti官网提供的主从一体解决方案SimpleBLESwitch1.4.1,原工程中没有使用串口,在IAR设置HAL_UART=TRUE后,编译出现错误:
Error[e16]: Segment XDATA_I (size: 0x321 align: 0) is too long for segment definition. At least 0x120 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:1cff-1eff"
Reserved ranges relevant to this placement:
XDATA:1-280 XSTACK
XDATA:281-1eff XDATA_Z
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
BIT:e8-ef SFR_AN
求解决方案。

回帖(2)

凌云志

2019-10-9 09:15:44
内存使用过大了 ,不使用UART都已经到了7856,  几乎就没什么剩了
 149 175 bytes of CODE  memory
      35 bytes of DATA  memory (+ 73 absolute )
   7 856 bytes of XDATA memory
     194 bytes of IDATA memory
       8 bits  of BIT   memory
   4 207 bytes of CONST memory
可考虑把INT_HEAP_LEN从3075 改到2700.




                                                                          
举报

孙世珍

2019-10-9 09:26:36
引用: shenzhenqide 发表于 2019-10-9 09:15
内存使用过大了 ,不使用UART都已经到了7856,  几乎就没什么剩了
 149 175 bytes of CODE  memory
      35 bytes of DATA  memory (+ 73 absolute )

你好,TY:
           谢谢你能回答我的问题,按照你说的可以解决上述问题。
           同时我又遇到新的问题,我采用TI官网网站提供的主从一体SimpleBLESwitch1.4.1工程,在转换为主机的时,我添加扫描广播数据功能,发现只有前几次扫描能进入simpleBLECentralEventCB()回调函数,当INT_HEAP_LEN值设置大一点时,进入simpleBLECentralEventCB()次数增多。 是不是内存已满的原因,若是这个原因,改怎么解决,怎么释放广播扫描的产生的内存,谢谢!!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分