IAR编译出错:Error[e16]: Segment ISTACK (size: 0x40 align: 0) is too long for segment definition

2024-12-02 15:21:22
推荐回答(3个)
回答(1):

没人回答,但还是会被收索到。复制我找到的答案在这

找到
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
复制代码
即可

回答(2):

看起来像是使用内存超出限制了。注释掉一些长数组的定义或者缩短数组长度,再试试。

回答(3):

依次打开Project -> Options -> General Option -> Target,在Target标签中找到“Number of virtual”,原来默认为16,修改为8。