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

CC2541实现OAD的过程中,编译后CODE段内存不足

  Error[e16]: Segment BANK_RELAYS (size: 0x1722 align: 0) is too long for segment definition. At least 0x220 more bytes needed. The problem occurred while processing the segment placement command "-Z(CODE)BANK_RELAYS=_CODE_BEG-_CODE_END", where at the moment of placement the available memory ranges were "CODE:2afe-3fff"
Reserved ranges relevant to this placement:
CODE:830-8bd INTVEC
CODE:8be-8be DATA_ID
CODE:8bf-ca5 XDATA_ID
CODE:ca6-d69 CSTART
CODE:d6a-1cfb RCODE
CODE:1cfc-2afd NEAR_CODE
CODE:2afe-3fff ?FILL1
BIT:0-7 BREG
BIT:80-97 SFR_AN
BIT:a0-af SFR_AN
BIT:b8-c7 SFR_AN
BIT:e8-ef SFR_AN
BIT:f8-ff SFR_AN

我的IAR是10.10.1版本

芯片是CC2541

Viki Shi:

应该是IAR配置问题,参考下这边:blog.csdn.net/…/34108663

user577068187:

回复 Viki Shi:

我的IAR就是最新版本的10.10.1,并且我也将16改成8,没什么用。
我看网上大部分都是DATA段出现错误,我的是CODE段出现的问题
因为我是维护别人的代码,所以那个代码是老版本IAR编译的。我难道也需要换回老版本试试?

YiKai Chen:

回复 user577068187:

建議你安裝舊的對應的IAR版本试试

user577068187:

回复 YiKai Chen:

我换回之前相对应的版本,仍然还会出现这个问题。求解

Error[e16]: Segment BANK_RELAYS (size: 0x17a6 align: 0) is too long for segment definition. At least 0x2c3 more bytes needed. The problem occurred while processing the segment
placement command "-Z(CODE)BANK_RELAYS=_CODE_BEG-_CODE_END", where at the moment of placement the available memory ranges were "CODE:2b1d-3fff" Reserved ranges relevant to this placement: CODE:830-8bdINTVEC CODE:8be-8beDATA_ID CODE:8bf-ca5XDATA_ID CODE:ca6-d69CSTART CODE:d6a-1cfbRCODE CODE:1cfc-2b1cNEAR_CODE CODE:2b1d-3fff?FILL1 BIT:0-7BREG BIT:80-97SFR_AN BIT:a0-afSFR_AN BIT:b8-c7SFR_AN BIT:e8-efSFR_AN BIT:f8-ffSFR_AN
Error while running Linker

Susan Yang:

回复 user577068187:

或许您可以尝试修改下xcl文件内的 -D_CODE_END

user577068187:

回复 Susan Yang:

-D_CODE_END可以随意更改其大小吗?我试着更改过,但是又会出现其他的类似的error.

user577068187:

回复 Susan Yang:

Error[e104]: Failed to fit all segments into specified ranges. Problem discovered in segment BANKED_CODE. Unable to place 102 block(s) (0x243e7 byte(s) total) in 0x1b3e1 byte(s) of
memory. The problem occurred while processing the segment placement command
"-P(CODE)BANKED_CODE=_CODE_BEG-_CODE_END,_BANK4_BEG-_BANK4_END,_BANK5_BEG-_BANK5_END,_BANK6_BEG-_BANK6_END,_BANK7_BEG-_BANK7_END",
where at the moment of placement the available memory ranges were "CODE:4234-42f6,CODE:4b000-4ffff,CODE:5833f-5833f,CODE:584e3-5ffff,CODE:68000-6ffff,CODE:78000-7e7ff"
Error while running Linker

赞(0)
未经允许不得转载:TI中文支持网 » CC2541实现OAD的过程中,编译后CODE段内存不足
分享到: 更多 (0)