微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 用IAR 8.3编译TI BLE Stack遇到Segment ISTACK Too Long的解决方案

用IAR 8.3编译TI BLE Stack遇到Segment ISTACK Too Long的解决方案

时间:10-02 整理:3721RD 点击:
IAR 8.3以后的版本编译TI BLE Stack会报类似如下的错误

  1. 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
  2. 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"

复制代码

解决办法是:

找到

  1. C:\Texas Instruments\BLE-CC254x-1.4.0\Projects\ble\common\cc2540\ti_51ew_cc2540b.xcl

复制代码

把里面的

  1. -Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F

复制代码

这一句 改成

  1. -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

感謝!問題解決了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top