用IAR 8.3编译TI BLE Stack遇到Segment ISTACK Too Long的解决方案[复制链接]
IAR 8.3以后的版本编译TI BLE Stack会报类似如下的错误
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0xe more bytes needed. The problem occurred while processing the segment
placement command "-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at the moment of placement the available memory ranges were "IDATA:4e-ff"
Error[e16]: Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. At least 0x8 more bytes needed. The problem occurred while processing the segment
placement command "-Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END", where at the moment of placement the available memory ranges were "IDATA:48-ff"
Reserved ranges relevant to this placement:
IDATA:8-1f VREG
IDATA:21-40 VREG
IDATA:41-42 XSP
IDATA:43-43 DATA_I
IDATA:44-45 DATA_Z
IDATA:46-47 IDATA_Z
IDATA:48-ff ISTACK
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
Error while running Linker
在TI论坛看到大神这样解决的:
Project -> Option -> General Option -> Target Tab
Modify : Number of virtual registers, from 16 --> 8.
至于为什么这样,TI员工回答:
the problem is caused by IAR, please update to latest version of IAR.
对于这种答案,大家不必深究,能解决问题就行了,不是吗
你好 请问怎么解决的 谢谢
Copyright 1987-2008 IAR Systems. All rights reserved.
Error[e16]: Segment CSTACK (size: 0x50 align: 0x1) is too long for segment
definition. At least 0x3e more bytes needed. The pro××em occurred while
processing the segment placement command "-Z(DATA)CSTACK+_STACK_SIZE#", where at
the moment of placement the ××aila××e memory ranges
were "CODE:3ee-3ff"
Reserved ranges relevant to this placement:
200-39f DATA16_I
3a0-3ed DATA16_Z
3ee-3ff CSTACK