用IAR 8.3编译TI BLE Stack遇到Segment ISTACK Too Long的解决方案
- 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"
找到
- C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl
- -Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
- -Z(DATA)VREG=08-7F
SensorTag大批量到货以后估计会有不少人遇到这个问题,先给大家提个醒
留个名。
好 谢谢楼主
楼主的IAR破解工具给发一下吧(568760310@qq.com),我在别处下的不好使 ,也许是不会用吧,
谢谢,应该会用到。
谢谢楼主,我遇到了
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
我的照楼主改了还是不行
确认一下你改的文件是否跟你设置的Target Device对应。ti_51ew_cc2540b.xcl这个只是默认的文件,如果你编译目标是其他的硬件,就需要改C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540 文件夹下的相应的文件
奥,谢谢回答
我也遇到了,按照你说的,解决了,谢谢楼主,希望以后能弄明白是怎么回事儿
很好,很强大,谢谢楼主!好人一生平安!
在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.
对于这种答案,大家不必深究,能解决问题就行了,不是吗
好用不? 发我下吧,我也在找,flyaway_peak[url=]@163.com[/url].谢谢
楼主,给我发个吧,谢谢,flyaway_peak[url=]@163.com[/url]
谢谢,问题解决了。
谢谢你,解决了
你好 请问怎么解决的 谢谢
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
感謝!問題解決了