你好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