TI中文支持网
TI专业的中文技术问题搜集分享网站

关于CC2530做成库后编译链接出现Error[e16]: Segment IDATA_I…问题

你好TI工程师

    我们公司现在开发产品,需要把自己的核心代码做成库。

我们尝试把自己的代码编译成为x.r51的文件,然后把这个x.r51文件拷贝到用户的工程目录并添加到用户的project中

但是编译的时候一直出现这个问题

Error[e16]: Segment IDATA_I (size: 0x1cc align: 0) is too long for segment definition. At least 0xed more bytes needed. The problem occurred while processing the segment placement command  
"-Z(IDATA)IDATA_I,IDATA_Z,IDATA_N=08-_IDATA0_END", where at the moment of placement the available memory ranges were "IDATA:10-1f,IDATA:21-ff"   Reserved ranges relevant to this placement:   IDATA:8-f            VREG   IDATA:10-1f          IDATA_I   IDATA:21-ff          IDATA_I   BIT:0-7              BREG   BIT:80-8f            SFR_AN   BIT:a8-af            SFR_AN   BIT:b8-c7            SFR_AN   BIT:d8-df            SFR_AN   BIT:e8-ef            SFR_ANError while running Linker 
Total number of errors: 1

请问大侠这个什么原因,有如何方法解决,我们已经搞了很久。 谢谢

Viki Shi:

就字面意思看,太大了放不下。代码能否压缩?另外楼主用的编译环境是不是IAR,版本呢?IAR官方发布过一个note,请参考下:

8051 V8.30 linker Error[e16]: Segment ISTACK is too long for segment definition

赞(0)
未经允许不得转载:TI中文支持网 » 关于CC2530做成库后编译链接出现Error[e16]: Segment IDATA_I…问题
分享到: 更多 (0)