微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于CC2541主从一体的问题

关于CC2541主从一体的问题

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

大家好:

       我采用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

求解决方案。

内存使用过大了 ,不使用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.

你好,TY:

           谢谢你能回答我的问题,按照你说的可以解决上述问题。

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

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

网站地图

Top